2013-09-23 4 views
0

Я ищу способ загрузки изображений в мое приложение, а затем их отображение в сетке. Как и в случае с поиском изображений в Google, только миниатюры будут иметь одинаковый размер. Количество изображений будет случайным, поэтому он должен иметь возможность прокручивать. Также я должен иметь возможность взаимодействовать с изображениями, поэтому, когда я нажимаю на нее, я должен уметь запускать событие.Отображение сетки изображений

Что было бы лучшим способом создания такого вида сетки? Если это так, ссылка на учебник будет полезна!

Заранее спасибо

ответ

3

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

Что касается взаимодействия, добавьте слушателя (мышь, вероятно) к каждому JLabel, и он легко обнаружит, на какой вы нажали.

Пример:

JLabel j1 = new JLabel(); 
j1.setIcon(new ImageIcon("path to your image"); 

j1.addMouseListener(...); 

JPanel jp = new JPanel(new GridLayout(nRows, nCols); 
Jp.add(j1); 
+0

Это действительно помогает мне! По какой-то причине, хотя все изображения заканчиваются друг на друга, но я уверен, что я это выясню – Leniaal

+0

@ user1896006, «Также я должен иметь возможность взаимодействовать с изображениями, поэтому, когда я нажимаю на него, я должны быть в состоянии запустить событие ». Итак, почему вы изобретаете колесо? JList уже поддерживает прослушиватель выбора. Также он поддерживает навигацию с клавиатуры. Какая у вас проблема с JList, которая не соответствует вашим требованиям? – camickr

0

Просто JList либо с горизонтальной или вертикальной упаковки. Вы просто добавляете ImageIcon к модели, и изображение будет отображаться правильно. Прочтите раздел из учебника Swing по телефону How to Use Lists для получения дополнительной информации. JList уже предоставляет функции типа «выбор».

+0

Спасибо! Я дам это выстрел – Leniaal

Смежные вопросы