JcomboBox. нужна помощь с массивом !

 
 
 
Сообщения:6
Всем добрый вечер. Я может чего то не понимаю , можете помочь с этим вот кодом !. как в созданном comboBox[0] поставить значение informer , а для comboBox[1] поставить значение informer_1;
     String[] informer = {"<html><font color=\"red\"> IS ", "2", "3", "4"}, informer_1 = {"5", "6", "7"};
        int info = 6, is = 6;
        DefaultCellEditor[] editor = new DefaultCellEditor[is];
        JComboBox[] comboBox = new JComboBox[info];
        for (int i = 0; i < info; i++) {
            comboBox[i] = new JComboBox();
            comboBox[i].setFont(new Font("Arial",Font.BOLD,15));
            ((JLabel)comboBox[i].getRenderer()).setHorizontalAlignment(JLabel.CENTER);
            comboBox[i].setBackground(Color.white);
            ((JLabel)comboBox[i].getRenderer()).setIcon(bullet1);
            comboBox[i].setSelectedIndex(-1);
            frame.add(comboBox[i]);
        for (int j = 0; j < is; j++) {
            editor[j] = new DefaultCellEditor(comboBox[i]);
        }
    }

        table.getColumnModel().getColumn(4).setCellEditor(editor[0]);
        comboBox[0].setBounds(10, 10, 100, 25);
 
 
Сообщения:975
поподробнее пожалуйста. никак не врублюсь.
 
 
Сообщения:6
 String[] informer = {"<html><font color=\"red\"> IS ", "2", "3", "4"}, informer_1 = {"5", "6", "7"};
        int info = 6, is = 6;
        DefaultCellEditor[] editor = new DefaultCellEditor[is];
        JComboBox[] comboBox = new JComboBox[info];
        for (int i = 0; i < info; i++) {
            comboBox[i] = new JComboBox();                                    
            comboBox[i].setFont(new Font("Arial",Font.BOLD,15));
            ((JLabel)comboBox[i].getRenderer()).setHorizontalAlignment(JLabel.CENTER);
            comboBox[i].setBackground(Color.white);
            ((JLabel)comboBox[i].getRenderer()).setIcon(bullet1);
            comboBox[i].setSelectedIndex(-1);
            frame.add(comboBox[i]);
        for (int j = 0; j < is; j++) {
            editor[j] = new DefaultCellEditor(comboBox[i]);
        }
    }
 
        table.getColumnModel().getColumn(4).setCellEditor(editor[0]);
        comboBox[0].setBounds(10, 10, 100, 25);

у меня создаются Box . Я хочу для каждого сделать свои данные . но не могу понять как .
Делал так не выходит
comboBox[0].add(informer);
comboBox[1].add(Informer_1);
 
 
Сообщения:975
держи примеры из "Иван Портянкин Библиотека Программиста Swing ЭФФЕКТНЫЕ ПОЛЬЗОВАТЕЛЬСКИЕ ИНТЕРФЕЙСЫ Java Foundation Classes"

// SimpleComboBoxes.java
// Создание простых раскрывающихся списков
import javax.swing.*;
import java.util.*;
public class SimpleComboBoxes extends JFrame {
// массив с элементами списка
public String[] elements = new String[] {"Обаятельный", "Умный", "Нежный", "Сильный"};
public SimpleComboBoxes() {
super("SimpleComboBoxes");
setDefaultCloseOperation(EXIT_ON_CLOSE);
// создадим пару раскрывающихся списков
JComboBox combo1 = new JComboBox(elements);
// задаем прототип элемента списка
combo1.setPrototypeDisplayValue("Длинный элемент");
// второй раскрывающийся список
Vector data = new Vector();
for (int i=0; i<10; i++) data.add("Элемент №: " + i);
JComboBox combo2 = new JComboBox(data);
// сделаем его редактируемым
combo2.setEditable(true);
combo2.setMaximumRowCount(6);
// добавим списки в панель и выведем окно на экран
JPanel contents = new JPanel();
contents.add(combo1);
contents.add(combo2);
setContentPane(contents);
setSize(300, 200);
setVisible(true);
}
public static void main(String[] args) {
new SimpleComboBoxes();
}
}



// UsingComboBoxModel.Java
// Использование стандартной модели раскрывающихся списков
import javax.swing.*;
import java.awt.event.*;
public class UsingComboBoxModel extends JFrame {
// наша стандартная модель
private DefaultComboBoxModel cbm;
public UsingComboBoxModel(){
super("UsingComboBoxModel");
setDefaultCloseOperation(EXIT_ON_CLOSE);
// создаем стандартную модель и наполняем ее данными
cbm = new DefaultComboBoxModel();
for (int i=0; i<20; i++) {
cbm.addElement("Элемент списка fe: " + i);
// меняем выбранный элемент
cbm.setSelectedItem(cbm.getElementAt(4));
}
//список на основе нашей модели
JComboBox combo = new JComboBox(cbm);
combo.setMaximumRowCount(5);
// стандартная модель позволяет динамически манипулировать данными
JButton add = new JButton("Добавить");
add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// случайно выбираем позицию
int pos = (int)Math.random();
cbm.getSize();
cbm.insertElementAt("Новинка!",pos);
}
});
// добавляем список и кнопку в панель
JPanel contents = new JPanel();
contents.add(combo); contents.add(add);
// выводим окно на экран
setContentPane(contents);
setSize(400, 200); setVisible(true);
}
public static void main(String[] args) {
new UsingComboBoxModel();
}
}

 
 
Сообщения:6
Спасибо за помощь ! Решил своё задачу :-).
Если вдруг кому было интересно , вот так сделал .

        int info = 6;
        String[] informer = {"<html><font color=\"red\"> IS ", "2", "3", "4"},
                 informer_1 = {"5", "6", "7"},
                 informer_2 = {"8","9","10"};

        DefaultCellEditor[] editor = new DefaultCellEditor[info];
        JComboBox[] comboBox = new JComboBox[info];
        for (int i = 0; i < info; i++) {
            comboBox[i] = new JComboBox();
            editor[i] = new DefaultCellEditor(comboBox[i]);
            comboBox[i].setFont(new Font("Arial",Font.BOLD,15));
            table.setFont(new Font("Arial",Font.BOLD,15));
            ((JLabel)comboBox[i].getRenderer()).setHorizontalAlignment(JLabel.CENTER);
            ((JLabel)table.getCellRenderer(0,0)).setHorizontalAlignment(JLabel.CENTER);
            comboBox[i].setBackground(Color.white);
            table.setBackground(Color.white);

            frame.add(comboBox[i]);

        }
        for (String v :  informer) {
            comboBox[0].addItem(v);
            table.getColumnModel().getColumn(1).setCellEditor(editor[0]);
}
Изменен:22 фев 2020 15:47
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет