powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как загрузить картинку
25 сообщений из 26, страница 1 из 2
как загрузить картинку
    #38893493
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здраствуйте!!! как загрузить картинку, помогите. создал папку "изображение" где ComboBox.java и вот так сделал
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class ComboBox extends JPanel
                          implements ActionListener {
    JLabel picture;
 
    public ComboBoxDemo() {
        super(new BorderLayout());
 
        String[] petStrings = { "Птица", "Кошка", "Собака", "Кролик", "Свинья" };
 
        JComboBox petList = new JComboBox(petStrings);
        petList.setSelectedIndex(4);
        petList.addActionListener(this);
 
        //Set up the picture.
        picture = new JLabel();
        picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
        picture.setHorizontalAlignment(JLabel.CENTER);
        updateLabel(petStrings[petList.getSelectedIndex()]);
        picture.setBorder(BorderFactory.createEmptyBorder(10,0,0,0));
 
        
        picture.setPreferredSize(new Dimension(177, 122+10));
 
        
        add(petList, BorderLayout.PAGE_START);
        add(picture, BorderLayout.PAGE_END);
        setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
    }
 
    
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox)e.getSource();
        String petName = (String)cb.getSelectedItem();
        updateLabel(petName);
    }
 
    protected void updateLabel(String name) {
        ImageIcon icon = createImageIcon("изображения/" + name + ".gif");
        picture.setIcon(icon);
        picture.setToolTipText("рисунок " + name.toLowerCase());
        if (icon != null) {
            picture.setText(null);
        } else {
            picture.setText("Image не найдена");
        }
    }
 
    
    protected static ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = ComboBoxDemo.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Не удалось найти файл: " + path);
            return null;
        }
    }
 
    private static void createAndShowGUI() {
        JFrame frame = new JFrame("ComboBox");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JComponent newContentPane = new ComboBoxDemo();
        newContentPane.setOpaque(true); 
        frame.setContentPane(newContentPane);
 
 
        frame.pack();
        frame.setVisible(true);
    }
 
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893559
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

хм. А что и где Вы создали? Где папка "Изображение"? Папка Изображение лежит в каталоге jar файла? Или где-то на диске? это первое.
второе:
Код: java
1.
ImageIcon icon = createImageIcon("изображения/" + name + ".gif");


тут обращаетесь к папке с другим названием.
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893603
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel,папка где стоит ComboBox.java
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893615
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В JDK есть примеры. В SwingSet был один с картинками.
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893623
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, смотрел но не получается
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893646
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel, да я там ошибся но полюбому не загружается
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893680
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

хм. не знаю, у меня иконка создается.
В какой IDE работаете? Или в блокноте?

Просто у Вас класс называется ComboBox, а его конструктор ComboBoxDemo()
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893683
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

вообще, напишите полный путь к картинке относительно папки проекта
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893709
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel, не загружается
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893713
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

мы будем спорить, загружается или нет? Или Вы исправите конструктор и напишете сюда полный путь к картинке?
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893714
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class ComboBoxDemo extends JPanel
                          implements ActionListener {
    JLabel picture;
 
    public ComboBoxDemo() {
        super(new BorderLayout());
 
        String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };
 
        JComboBox petList = new JComboBox(petStrings);
        petList.setSelectedIndex(4);
        petList.addActionListener(this);
 
        
        picture = new JLabel();
        picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
        picture.setHorizontalAlignment(JLabel.CENTER);
        updateLabel(petStrings[petList.getSelectedIndex()]);
        picture.setBorder(BorderFactory.createEmptyBorder(10,0,0,0));
 
        
        picture.setPreferredSize(new Dimension(177, 122+10));
 
        add(petList, BorderLayout.PAGE_START);
        add(picture, BorderLayout.PAGE_END);
        setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
    }
 
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox)e.getSource();
        String petName = (String)cb.getSelectedItem();
        updateLabel(petName);
    }
 
    protected void updateLabel(String name) {
        ImageIcon icon = createImageIcon("/images/" + name + ".gif");
        picture.setIcon(icon);
        picture.setToolTipText("A drawing of a " + name.toLowerCase());
        if (icon != null) {
            picture.setText(null);
        } else {
            picture.setText("Image not found");
        }
    }
 
    protected static ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = ComboBoxDemo.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
 
    private static void createAndShowGUI() {
    
        JFrame frame = new JFrame("ComboBoxDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JComponent newContentPane = new ComboBoxDemo();
        newContentPane.setOpaque(true); 
        frame.setContentPane(newContentPane);
 
        frame.pack();
        frame.setVisible(true);
    }
 
    public static void main(String[] args) {
     
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893727
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

ну а путь???
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893731
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здесь только один картинка
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893747
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel, ImageIcon icon = createImageIcon("/images/" + name + ".gif");
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893796
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,
а пробовал
Код: java
1.
ImageIcon icon = createImageIcon("images/" + name + ".gif");
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893805
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel, у вас работает
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893810
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

да, работает. Специально сделал такую же структуру, как и у Вас.
Вот только в получении ресурса первый слэш не нужен
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893822
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel,
можете отправить
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893825
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

да е-мое.
замените строку
Код: java
1.
ImageIcon icon = createImageIcon("/images/" + name + ".gif");



на

Код: java
1.
ImageIcon icon = createImageIcon("images/" + name + ".gif");
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893826
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,

и, кстати, не забывайте про знаки препинания в конце предложения! (это относительно Ваших сообщений)
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893827
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel, заменил но у меня не получится
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893835
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bil17,
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893839
danatriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
danatriel,

это магия какая то. Случайно забыл убрать слэш. - работает. Танцуйте с бубном :)
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893840
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danatriel, у меня не выходит.
...
Рейтинг: 0 / 0
как загрузить картинку
    #38893842
bil17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bil17, у вас какая версия
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / как загрузить картинку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]