Перейти к контенту

Простой способ добавления Combo Box в JTable

Используйте JComboBox, чтобы добавить поле со списком в таблицу —

JComboBox<String> comboBox = new JComboBox<>();

Теперь добавьте элементы поля со списком —

 

comboBox.addItem("Asia");
comboBox.addItem("Europe");
comboBox.addItem("North America");
comboBox.addItem("South America");

Теперь используйте TableColumn и установите столбец, в котором вы хотите установить вышеуказанные элементы ComboBox —

TableColumn testColumn = table.getColumnModel().getColumn(0);

Установите редактор с помощью поля со списком —

testColumn.setCellEditor(new DefaultCellEditor(comboBox));
The following is an example to add JComboBox to JTable:
package my;
import java.awt.Color;
import java.awt.Font;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
public class SwingDemo {
   public static void main(String[] argv) throws Exception {
      JTable table = new JTable(5, 5);
      Font font = new Font("Verdana", Font.PLAIN, 12);
      table.setFont(font);
      table.setRowHeight(30);
      table.setBackground(Color.orange);
      table.setForeground(Color.white);
      TableColumn testColumn = table.getColumnModel().getColumn(0);
      JComboBox<String> comboBox = new JComboBox<>();
      comboBox.addItem("Asia");
      comboBox.addItem("Europe");
      comboBox.addItem("North America");
      comboBox.addItem("South America");
      comboBox.addItem("Africa");
      comboBox.addItem("Antartica");
      comboBox.addItem("Australia");
      testColumn.setCellEditor(new DefaultCellEditor(comboBox));
      JFrame frame = new JFrame();
      frame.setSize(600, 400);
      frame.add(new JScrollPane(table));
      frame.setVisible(true);
   }
}

Вывод следующий: отображение JComboBox в JTable —

Оцени статью

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)