JCombobox и JTextfield - PullRequest
       3

JCombobox и JTextfield

0 голосов
/ 02 марта 2012

Я пытаюсь отобразить количество полей jtext в соответствии с одним из заданных значений в выпадающем списке.

Итак, у меня будет выпадающее меню, скажем, от 1 до 4. Если пользователь выберет номер 3, будут отображены 3 текстовых поля. Я создал Jcombobox с выбором чисел. Но я не уверен, как это реализовать. Если я не ошибаюсь, мне нужно использовать

ItemEvent.SELECTED

Мне кажется, мне нужно создать ссылку на объект JTextField, который будет доступен объекту itemListener JComboBox.

Любая помощь будет принята с благодарностью.

Я добавил это в свой класс:

// aOption is the combobox I declared 
aOptionComboBox.setModel(new DefaultComboBoxModel(new String[]{"1","2","3"})); 

public void itemStateChanged(ItemEvent event) {

    String num = (String)aOptionComboBox.getSelectedItem(); 
    int num1 = Integer.parseInt(num);
    JTextField[] textfields = new JTextField[num1];

    for (int i = 0; i < num1; i++) 
    {
        textfields[i] = new JTextField("Field");
        getContentPane().add(textfields[i]);
        textfields[i].setBounds(200, 90, 100, 25);

    }
}

Я на правильном пути?

1 Ответ

1 голос
/ 02 марта 2012

используйте getSelectedItem () в выпадающем списке. Это приведет либо к строке, либо к целому числу (в зависимости от того, как вы его реализовали). Затем используйте цикл for, чтобы определить количество JTextField и сохранить их в массиве.

int amount = myJComboBox.getSelectedItem();

JTextField[] textfields = new JTextField[amount];

for (int i = 0; i < amount; i++) {
textfields[i] = new JTextField("awesome");
this.add(textfields[i]);
}

таким образом вы можете легко сохранять текстовые поля и добавлять их на панель.

Некоторая добавленная информация.

Текстовый массив должен быть доступен вне EventListener, поэтому вы должны реализовать его в своем классе. Таким образом, весь класс может использовать его.

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