it-swarm.com.ru

NetBeans - ввод элементов в jComboBox

Я сгенерировал графический интерфейс из netbeans, в который я также поместил комбинированный список.

По умолчанию элементы в выпадающем списке: item1, item2, item3, item4.

Но я хочу свои вещи. Netbeans не позволяет редактировать сгенерированный код, так как я могу редактировать comnbobox в соответствии со мной.

Примечание: я знаю один метод, редактируя свойство "model" этого jComboBox, но я не хочу делать это так, потому что я хочу, чтобы различные элементы (которые находятся в массиве) в этом jComboBox, поэтому я хочу передать этот массив в что jComboBox вроде как:

jComboBox2 = new javax.swing.JComboBox();

String [] date = new String[31];
for(int i = 0; i < 31; i++) {
    date[i] = i + 1;
}

jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(date));
7
Yatendra Goel

Есть два подхода, которые мне известны:

  1. Простой подход - после вызова initComponents() в конструкторе добавьте свой код для построения вашей модели и вызовите jComboBox2.setModel(myModel) для ее установки. Так что конструктор будет выглядеть примерно так:

    public SomeClass() {
        initComponents();
        String [] date = new String[31];
        for(int i = 0; i < 31; i++) {
            date[i] = i + 1;
        }
        jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(date));
    }
    
  2. Комплексный подход - добавить читаемое свойство, которое содержит желаемую модель. Например:

    private ComboBoxModel getComboBoxModel()
    {
        String[] items = {"Item A", "Item B", "Item C"};
        return new DefaultComboBoxModel(items);
    }
    

    Затем в окне свойств jComboBox2 нажмите кнопку, чтобы отредактировать модель.

    В панели редактора измените раскрывающийся список с Combo Box Model Editor на Value from existing component.

    Выберите Property. Выберите свойство comboBoxModel. Нажмите ОК

Я попробовал второй способ один раз. Никогда не использовал это снова. Слишком много работы, нет особой выгоды. Кроме того, он отображает пустое поле со списком в дизайнере, что делает макет сложнее.

Я использую первый подход, плюс использую редактор моделей NetBean, чтобы предоставить некоторые репрезентативные значения для модели. Это дает мне разумное поведение размера в конструкторе за счет одной ненужной строки в initComments().

7
Devon_C_Miller

Использование NetBeans NEON и другой версии NetBeans

1. Перейти к свойствам выпадающего списка

enter image description here

2. Затем перейдите к модели

enter image description here

3
Omari Victor Omosa

вы можете ввести свой код, используя функцию "Пользовательский код" в редакторе GUI для "модели" комбинированного списка.

2
blurec

Завершая ответ blurec (я пока не могу комментировать), в графическом редакторе выберите comboxbox, перейдите в свойства, затем смоделируйте, затем нажмите три точки. Затем выберите Код Кастоме и добавьте свой код, например:

new DefaultComboBoxModel<>(functionThatReturnsAnStringArray())
0
tmendo

Для потомков:

Щелкните правой кнопкой мыши ComboBox и выберите Настроить код. Здесь, в comboBox.setModel, слева выберите пользовательское свойство. После новой строки добавьте свои значения в следующую форму:

Значение 1: Integer.toString (myInt1) Значение 2: Integer.toString (myInt2)

Если ваши переменные, конечно, int. Если нет, просто введите переменную String, и все готово.

Надеюсь, поможет.

0
Dorian-Catalin Badirca
public NewJFrame() {
        initComponents();
        reformatComboBox();
  }

private void reformatComboBox() {
        JComboBoxName.removeAllItems();
        JComboBoxName.addItem("item1");
        JComboBoxName.addItem("item2");
}
0
Hemantha