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

Не могу отобразить собственный ComboBox в форме

09.04.2016, 14:40. Показов 476. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создал собственный 2-столбчатый ComboBox. Вот код:

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
public class ComboBoxDemo {
 
    private List<Country> countries;
    private JComboBox cBox;
 
    public ComboBoxDemo(JFrame frame) {
        countries = createCountryList();
        cBox = createComboBox(countries);
        frame.add(cBox);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
 
    private JComboBox createComboBox(List<Country> countries) {
        final JComboBox comboBox = new JComboBox(countries.toArray());
        comboBox.setRenderer(new ComboBoxRenderer());
        comboBox.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                if (e.getStateChange() == ItemEvent.SELECTED) {
                    Country country = (Country) comboBox.getSelectedItem();
                    System.out.println(country.getIso());
                }
            }
        });
        return comboBox;
    }
 
    private class ComboBoxRenderer extends DefaultListCellRenderer {
 
        @Override
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
                boolean cellHasFocus) {
            JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
            Country country = (Country) value;
            label.setText(country.getName());
            return label;
        }
    }
 
    private List<Country> createCountryList() {
        List<Country> list = new ArrayList<>();
        list.add(new Country("Afghanistan", "AF"));
        list.add(new Country("Åland Islands", "AX"));
        list.add(new Country("Albania", "AL"));
        return list;
    }
 
    public class Country {
        private String name;
        private String iso;
 
        public Country(String name, String iso) {
            this.name = name;
            this.iso = iso;
        }
 
        public String getName() {
            return name;
        }
 
        public String getIso() {
            return iso;
        }
    }
 
}
И у меня есть основной выполняемый класс, инициализирующий визуальную форму (из всех кодов я лишнее выкинул):

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
public class GUI {
    String RetVal1;
    String[][] RetValArr;
    private JFrame frame;
    private JLabel lblNewLabel;
    private JTextField Name_textField;
 
    private JFormattedTextField Phone_formattedTextField;
 
 
    static Connection conn3 = null;
    static int EC1;
    static int CurrentEntry;
    static String CurrentEntrySTR;
 
    private JTextField CurrentEnty_textField;
    private JTable table;
 
    public static void main(String[] args) {
 
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    GUI window = new GUI();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
 
    }
    public GUI() {
        initialize();
    }
 
    private void initialize() {
 
        frame = new JFrame();
        frame.setBounds(100, 100, 504, 513);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
 
        JComboBox From_comboBox = new JComboBox();
        From_comboBox.setModel(new DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5" }));
        From_comboBox.setEditable(true);
        From_comboBox.setMaximumRowCount(2);
        From_comboBox.setBounds(274, 194, 186, 23);
        frame.getContentPane().add(From_comboBox);
        new ComboBoxDemo(frame);
 
 
 
        JComboBox Status_comboBox = new JComboBox();
        Status_comboBox.setBounds(274, 281, 186, 23);
        frame.getContentPane().add(Status_comboBox);
 
        CurrentEnty_textField = new JTextField();
    }
}
Но Комбобох не появляется в форме, как я не кручу. Подскажите, что делаю не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2016, 14:40
Ответы с готовыми решениями:

Как при выборе значения в Combobox отобразить на форме только нужные элементы
Скажите, как можно при выборе определенного значения в Combobox отобразить на форме только нужные...

Преобразовать выбранный элемент Combobox в собственный тип
Есть ComboBox заполняю его так: List&lt;genreClass&gt; genreClasslist=new List&lt;genreClass&gt;(); ...

Как в ComboBox каждому элементу присвоить собственный шрифт?
Как в ComboBox каждому элементу присвоить собственный шрифт (как в Ворде)? Уже гуглить пробовал и...

Указатели на собственный класс в форме
В общем суть такая, нужно собрать в массив локально объявленные указатели на собственный класс,...

1
18 / 18 / 13
Регистрация: 18.06.2015
Сообщений: 79
11.04.2016, 16:41 2
Если вам станет легче, то закомментированная строка
Java
1
frame.getContentPane().setLayout(null);
позволяет увидеть ваш комбобокс) Но вот как-то все остальное сомнительно выглядит)
0
11.04.2016, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2016, 16:41
Помогаю со студенческими работами здесь

Добавление текста из TextBox на одной форме в ComboBox на другой форме
Добрый вечер. У меня небольшая проблема. Я сделал кнопку &quot;Настройки&quot; что бы открывался User Form...

Combobox в другой Combobox на одной форме
Имеется такая форма: Как мне в Combobox'е отразить значение из Combobox DataGridView???? ...

Не могу зайти в собственный сайт
создала свой сайт правда не доконца, а теперь не могу туда зайти. Неправильный пароль и...

Не могу зайти на собственный сервер W2k
Стоит сервак win 2000 sp 4, подключены 5 компов, инет работает, локалка работает, с сервака можно...


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

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