在Java Swing中,你可以在JTable的单元格中使用JComboBox。为了实现这个,你需要创建一个自定义的TableCellEditor。以下是一个简单的示例:
import javax.swing.*;
import javax.swing.table.*;
public class Main {
public static void main(String[] args) {
// 创建一个表格模型
DefaultTableModel model = new DefaultTableModel(new Object[][] {
{"Item 1", "Value 1"},
{"Item 2", "Value 2"},
{"Item 3", "Value 3"},
}, new Object[] {"Item", "Value"});
// 创建一个表格
JTable table = new JTable(model);
// 创建一个下拉列表
JComboBox<String> comboBox = new JComboBox<>(new String[] {"Value 1", "Value 2", "Value 3"});
// 设置第二列的单元格编辑器为下拉列表
TableColumn column = table.getColumnModel().getColumn(1);
column.setCellEditor(new DefaultCellEditor(comboBox));
// 创建一个窗口来显示表格
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.add(new JScrollPane(table));
frame.setVisible(true);
}
}
在这个示例中,我们首先创建了一个表格模型和一个表格。然后,我们创建了一个下拉列表,并将其设置为第二列的单元格编辑器。这样,当你点击第二列的单元格时,你就会看到一个下拉列表,你可以从中选择一个值。
领取专属 10元无门槛券
手把手带您无忧上云