Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 1
Регистрация: 04.11.2012
Сообщений: 53

Выбор изображения в диалоговом окне

15.05.2014, 11:23. Показов 3680. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане. У меня такой вопрос - как в диалоговом окне выбрать файл (изображение) и поместить его на поле в форму JFrame. Пытаюсь делать в NetBeans, создал проект J2SE, диалоговое окно выбора файла понял как открыть, а как поместить выбранное изображение на форму - нет...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2014, 11:23
Ответы с готовыми решениями:

Выбор файла в диалоговом окне
Интересует для Common Lisp, по принципу Autolisp getfiled

Выбор даты в DateTimePicker в диалоговом окне
Подскажите пожалуйста как ПРАВИЛЬНО организовать выбор даты в диалоговом окне по примеру InputBox() но с элементом DateTimePicker, или...

выбор нескольких файлов в диалоговом окне
Подскажите плиз скрипт, в диалоговом окне надо выбрать сразу несколько файлов, тоесть надо получить название выбранных файлов и путь к...

3
7 / 7 / 4
Регистрация: 21.10.2013
Сообщений: 41
15.05.2014, 14:59
Ну например можно к фрейму добавить компонент JLabel. А потом у этого компонента вызвать метод setIcon().
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
15.05.2014, 16:18
Вот простенький пример
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
import java.awt.Dimension;
import java.awt.FileDialog;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
 
public class LabelImage
{
    public static void main(String[] args) throws IOException
    {
        JFrame frame = new JFrame();
        JLabel label = new JLabel();
 
        frame.getContentPane().add(label);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setPreferredSize(new Dimension(300,200));
        frame.pack();
        frame.setVisible(true);
 
        FileDialog dialog = new FileDialog(frame, "Choose a file", FileDialog.LOAD);
        dialog.setVisible(true);
        
        String image = dialog.getFile();
 
        if (image == null || !image.matches("\\.(?:jpe?g|png|gif)$"))
            label.setText("Nothing to show..");
        else
            label.setIcon(new ImageIcon(ImageIO.read(new File(dialog.getDirectory() + image))));
    }
}
0
0 / 0 / 1
Регистрация: 04.11.2012
Сообщений: 53
16.05.2014, 00:36  [ТС]
Пока ждал ответа уже смудрил почти так же, снизу приведу кусок кода

Java
1
2
3
4
5
6
7
8
9
10
11
 private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {                                           
             JFileChooser fc = new JFileChooser();
             fc.showOpenDialog(frame);
             File file = fc.getSelectedFile();
             String filename = fc.getSelectedFile().getPath();
             jLabel1.setLayout(new FlowLayout());
             jLabel1.setVisible(false);
             JLabel imageLabel = new JLabel(new ImageIcon(filename), 0);
             jLabel1.add(imageLabel);
             jLabel1.setVisible(true);    
    }
Но уже как час ломаю голову над другой проблемой - при повторном выборе картинки - она не меняется.. Не подскажешь как это исправить?

И да, у меня все это записано в обработчик события (нажатие кнопки в меню)..

Добавлено через 3 часа 12 минут
И с этой проблемой я разобрался, на данный момент проблема другая - как теперь поверх размещенной картинки рисовать примитив линия по координатам? Или, что лучше - ставить точки по координатам.

Добавлено через 3 часа 35 минут
Код при котором картинка при повторном выборе меняется

Java
1
2
3
4
5
6
7
8
9
10
11
12
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {                                           
             JFileChooser fc = new JFileChooser();
             fc.showOpenDialog(frame);
             File file = fc.getSelectedFile();
             String filename = fc.getSelectedFile().getPath();
             jLabel1.setLayout(new FlowLayout());
             jLabel1.removeAll();
             jLabel1.setVisible(false);
             JLabel imageLabel = new JLabel(new ImageIcon(filename), 0);
             jLabel1.add(imageLabel);
             jLabel1.setVisible(true);    
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2014, 00:36
Помогаю со студенческими работами здесь

Знак % в диалоговом окне
Как вывести в этом окне знак процента (%) ? MessageBox(Handle, PChar(Format('Текст: %.0f, Текст%.0f, Текст %.0f , Текст %.0f', ))

Изображение в диалоговом окне
Добрый день. Не как не могу разобраться как выводить изображение в диалоговом окне. В родительском получается а тут нет. Я так понял надо...

Карта в диалоговом окне
Ребят, подскажите пожалуйста, как запустить googlemap в диалоговом окне. То что есть - приводит к аварийному закрытию приложения. ...

Текст в диалоговом окне
Доброе время суток. Возникла проблема с диалоговым окном, из-за картинки смещаются фразы, но не могу понять как правильно тогда настроить...

Форма в диалоговом окне
Здравствуйте встал на месте и ничего не сделать я практически в js ноль. Помогите пожалуйста. Вот кусок js: showDialog('' ,'Вот...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru