Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/27: Рейтинг темы: голосов - 27, средняя оценка - 4.59
 Аватар для Yamaneko
7 / 7 / 5
Регистрация: 10.05.2013
Сообщений: 90

Вывести bmp изображение в JPanel

13.10.2013, 15:33. Показов 5772. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приведите, пожалуйста, пример кода, как выводить bmp изображение на JPanel и потом на JFrame.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2013, 15:33
Ответы с готовыми решениями:

Вывести изображение BufferedImage на JPanel
Здравствуйте! Подскажите, пожалуйста, как вывести изображение из BufferedImage на JPanel. Написал вот такую прогу чтобы разобраться, но,...

Стирается изображение в jPanel
Добрый вечер. Уже долгое время не получается оставить изображение на jPanel после его свертывания или перекрытия его другими окнами....

Как привести изображение созданное на JPanel через Graphics2D к BufferedImage
Второй день ломаю голову и похоже что то упускаю: На JFrame создана JPanel(сanvasPanel), на панели через Graphics2D мышкой рисую линии ...

9
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
13.10.2013, 16:51
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
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class Game extends JPanel {
 
 
    
    public static final String NAME = "Title Game";
    public static final int WIDTH = 490;
    public static final int HEIGHT = 450;
    private Image image;
 
    public Game() {
        loadImage();
    }
    private void loadImage() {
        try {
            image = ImageIO.read(new File("picture\\picture.bmp"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
        public void paint(Graphics g) {
           g.drawImage(image, 0, 0, null);
        }
 
 
 
    public static void main(String[] args){
        Game game = new Game();
        game.setSize(WIDTH, HEIGHT);
        JFrame frame = new JFrame(NAME);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(WIDTH, HEIGHT);
        frame.add(game);
        frame.setVisible(true);
 
        
    }
}
2
 Аватар для Yamaneko
7 / 7 / 5
Регистрация: 10.05.2013
Сообщений: 90
13.10.2013, 19:46  [ТС]
name?, спасибо. А ещё такой вопрос: возможно ли это сделать вспомогательным классом, без JFrame, и добавить в коробку, которую потом вставить в главный класс?

Добавлено через 45 минут
И ещё один вопрос: можно ли через JLabel открыть *.bmp файл?
0
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
13.10.2013, 22:53
1. можно
2. тыц
1
 Аватар для Yamaneko
7 / 7 / 5
Регистрация: 10.05.2013
Сообщений: 90
14.10.2013, 00:04  [ТС]
name?,
Цитата Сообщение от Yamaneko Посмотреть сообщение
через JLabel открыть *.bmp файл?
Можно пример этого?

Добавлено через 9 минут
У меня просто что-то вроде такого написано
Java
1
2
 ImageIcon icon2 = new ImageIcon("formula2.jpg");
    JLabel imgLabel = new JLabel(icon1);
и *.bmp изображения просто не выводятся.
0
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
14.10.2013, 00:11
Java
1
2
3
4
Image image = ImageIO.read(imageFile);
ImageIcon icon = new ImageIcon(image);
 
JLabel label = new JLabel(icon);
1
 Аватар для Yamaneko
7 / 7 / 5
Регистрация: 10.05.2013
Сообщений: 90
14.10.2013, 00:29  [ТС]
name?,
Java
1
icon1.setImage(image1);
Почему-то при выполнении программы, в этой строчке выдаёт ошибку.
0
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
14.10.2013, 00:52
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
 
 
public class Game extends JPanel {
  
    public static final String NAME = "name?";
    public static final int WIDTH = 490;
    public static final int HEIGHT = 450;
 
    public Game() {
        loadImage();
    }
 
 
    Image image;
    
    private void loadImage() {
        try {
            image = ImageIO.read(new File("picture\\picture.bmp"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
 
    public static void main(String[] args) {
        Game game = new Game();
        game.setSize(WIDTH, HEIGHT);
        JFrame frame = new JFrame(NAME);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(WIDTH, HEIGHT);
        frame.add(game);
        frame.setVisible(true);
 
        ImageIcon icon = new ImageIcon(game.image);
 
        JLabel label = new JLabel(icon);
        frame.add(label);
    }
}
0
 Аватар для Yamaneko
7 / 7 / 5
Регистрация: 10.05.2013
Сообщений: 90
14.10.2013, 01:00  [ТС]
name?, мне нужно немножко не так. Изначально ImageIcon объявлена в public class. И в нём же находится функция, которая по изменеию RadioButton меняет изображение, и, как я понял, если писать loadImage функцией, то это немного не понятно, как можно реализовать. А в той строчке выдаёт NullPointerException. Могу предоставить код, если это поможет
0
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
14.10.2013, 01:41
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
public class Game extends JPanel implements ActionListener {
 
    String[] fontArray = { "image1", "image2" };
 
    JRadioButton[] rButton = new JRadioButton[fontArray.length];
    Image image;
    JLabel label;
    ImageIcon icon;
 
    public Game() {
 
        setLayout(new FlowLayout());
        try {
            image = ImageIO.read(new File("picture\\1.png"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        for (int i = 0; i < rButton.length; i++) {
            rButton[i] = new JRadioButton();
            rButton[i].setText(fontArray[i]);
            rButton[i].addActionListener(this);
            add(rButton[i]);
        }
 
        icon = new ImageIcon(image);
        label = new JLabel(icon);
        add(label);
 
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        loadImage();
        icon = new ImageIcon(image);
        label.setIcon(icon);
 
    }
 
    public static void main(String[] args) {
        Game panel = new Game();
        JFrame frame = new JFrame();
        frame.getContentPane().add(panel);
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
 
 
    private void loadImage() {
        try {
            if (rButton[0].isSelected())
                image = ImageIO.read(new File("picture\\picture.bmp"));
            if (rButton[1].isSelected())
                image = ImageIO.read(new File("picture\\1.png"));
 
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2013, 01:41
Помогаю со студенческими работами здесь

Добавление JPanel на JPanel, не отображаются те, которые добавлены сверху
Здравствуйте. У меня есть панель fon на которой у меня картинка с фоном и 15 панелей на которых нарисованы шарики,пытаюсь добавить панели с...

Как правильно задать размер JPanel чтобы JFrame при pack() сжимался до размеров JPanel
Подскажите как правильно задать размер JPanel чтобы JFrame при pack() сжимался до размеров JPanel, задание размеров при помощи setSize...

Удаление JPanel кнопкой на этом же JPanel
Есть JPanel объекты, которые представляют собой панельки с какой - то информацией, на них есть кнопка. Как сделать так, чтобы при нажатии...

Замена JPanel на JPanel в JFrame
У меня есть 3 класса. Первый класс Main наследуется от JFrame и в конструкторе установка размера и добавление JPanel второго класса....

JPanel panel_south=new JPanel(); JTextArea textArea=new JTextArea(); Где ошибка?
JPanel panel_south=new JPanel(); JTextArea textArea=new JTextArea(); Label label=new JLabel(' '); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru