Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / как загрузить картинку / 25 сообщений из 26, страница 1 из 2
03.03.2015, 13:40
    #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
03.03.2015, 14:16
    #38893559
danatriel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как загрузить картинку
bil17,

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


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

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

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

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

мы будем спорить, загружается или нет? Или Вы исправите конструктор и напишете сюда полный путь к картинке?
...
Рейтинг: 0 / 0
03.03.2015, 15:57
    #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
03.03.2015, 16:05
    #38893727
danatriel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как загрузить картинку
bil17,

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

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

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



на

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

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

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


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