Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149
1

Как вставить массив картинок в hashmap?

11.01.2017, 14:31. Показов 952. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Интересуют 2 вопроса:
1) почему программа не отображает JLabel;
2) как вставить картинки в hashmap так, чтобы потом можно было их вставить в jpanel (как это обычно Вы делаете и почему?).3

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
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.HashMap;
 
public class DiceService implements JHF_TEST_FinalServiceBrowserTheServices {
    public DiceService(){
        HMlabels = new HashMap<>();
        HMlabels.put("1", new JLabel(new ImageIcon("D:/Downloads/Screenshot_443.gif")));
        HMlabels.put("2", new JLabel(new ImageIcon("D:/Downloads/Screenshot_444.gif")));
        HMlabels.put("3", new JLabel(new ImageIcon("D:/Downloads/Screenshot_445.gif")));
        HMlabels.put("4", new JLabel(new ImageIcon("D:/Downloads/Screenshot_446.gif")));
        HMlabels.put("5", new JLabel(new ImageIcon("D:/Downloads/Screenshot_447.gif")));
        HMlabels.put("6", new JLabel(new ImageIcon("D:/Downloads/Screenshot_448.gif")));
    }
    HashMap<String,JLabel> HMlabels;
    JPanel internalPanel;
    JComboBox jComboBox;
 
    public static void main(String[] args) {
        DiceService diceService = new DiceService();
        diceService.Gstart();
    }
    public void Gstart(){
        JFrame jFrame = new JFrame("Test Frame");
        jFrame.getContentPane().add(getGUIpanel());
        jFrame.setSize(733,733);
        jFrame.setVisible(true);
        jFrame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
    public JPanel getGUIpanel(){
        JPanel externalPanel = new JPanel();
        externalPanel.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));
 
        Integer[] ARkeys = {1,2,3,4,5,6,7,8,9};
        jComboBox = new JComboBox(ARkeys);
 
        JButton jButton = new JButton("Do The Test!");
        jButton.addActionListener(new MyActionListener());
 
        internalPanel = new JPanel();
 
        externalPanel.add(jComboBox);
        externalPanel.add(Box.createRigidArea(new Dimension(33,3)));
        externalPanel.add(jButton);
        externalPanel.add(Box.createRigidArea(new Dimension(33,3)));
        externalPanel.add(internalPanel);
        return externalPanel;
    }
    public void theResultOfExperiments(Object qOftests){
        internalPanel.removeAll();
        for (int i = 0; i < (int)qOftests; i++) {
            internalPanel.add(HMlabels.get(Integer.toString((int)(Math.random()*6+1))));
            internalPanel.add(new JLabel(Integer.toString((int)(Math.random()*6+1))));
            System.out.println(Integer.toString((int)(Math.random()*6+1)));
        }
        internalPanel.validate();
        internalPanel.repaint();
 
    }
    class MyActionListener implements ActionListener{
        public void actionPerformed(ActionEvent actionEvent){
            theResultOfExperiments(jComboBox.getSelectedItem());
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2017, 14:31
Ответы с готовыми решениями:

Как конвертировать HashMap в двумерный массив?
может есть какие то красивые ( не лямбда ) функции в стандарте?

Вставка HashMap в HashMap меняет все элементы
Вставляю HashMap в HashMap генерируя карту доски для шахмат, привожу тестовый пример, вставляется...

Как вставить в материал несколько страниц html и связанные с ними css, js и файлы картинок?
Всем привет! Помогите пожалуйста. Нужно сделать следующее: - отобразить материал при нажатии на...

Список(Массив) из HashMap?
У меня есть HashMap, мне нужно чтобы было упорядоченное множество с элементами из HashMap, можно ли...

2
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485
12.01.2017, 11:39 2
lamaundercover, internalPanel.revalidate(); вместо internalPanel.validate(); попробуйте
1
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149
12.01.2017, 17:39  [ТС] 3
Спасибо, частично работает, однако, случайным образом, некоторые JLabel с картинками не отображаются/
Почему?
Миниатюры
Как вставить массив картинок в hashmap?  
0
12.01.2017, 17:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2017, 17:39
Помогаю со студенческими работами здесь

Двухмерный массив запихнуть в HashMap
Добрый день! Как запихнуть массив strArrayMap в коллекцию states? String strArrayMap =...

Как создать массив из картинок?
Нужно сделать так что если а == банан то выводит картинку. Это не обязательно писать мне бы...

Как сделать массив из картинок?
есть html код(4 фотки с id img и все в div классе): в css: #img{opacity: 0;} и javascript:...

Массив: Не знаю, как упорядоченно вставить элемент в массив...
Есть массив a={5,4,2,1} и массив b Нужно вставить число r=3 в b, и все элементы вектора а, чтобы...

Сапер - вставить несколько картинок
У меня есть готовая игра Сапер. В архиве, что прикреплен, есть две картинки. Помогите сделать так,...

Массив картинок или как преобразовать pictureBox в Int?
Возможно ли pictureBox преобразовать как-то в инт? if(Temp==0) Temp=pictureBox1; Выдает...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru