如何将JComboBox添加到JTable单元格?

时间:2010-01-13 18:33:31

标签: java swing jtable

我正在尝试将JComponents添加到JTable Cells。我是否实施CellRenderer或CellEditor?

3 个答案:

答案 0 :(得分:7)

您需要的是一个自定义编辑器,它将返回JComboBox(或您想要使用的任何组件)。你应该检查Sun tutorial for JTable,它包含一个如何使用JComboBox作为编辑器的例子。如果您也想将JComboBox用作渲染器,那么本教程也适用于此。

答案 1 :(得分:1)

您也可以通过将JComboBox(或JCheckBox或JTextField)的实例传递给构造函数来使用DefaultCellEditor执行此操作。

答案 2 :(得分:0)

1-创建一个JCombobox并在其中插入您想要的信息,如下所示:

JComboBox<String> sport = new JComboBox<String>();
sport.addItem("foot");
sport.addItem("hand bool");
sport.addItem("****");

2-创建JTable并将表模式设置为此表,如:

Vector<String> title = new Vector<String>
title.add("id");
title.add("sport");
Vector<Vector<String>> rows = new Vector<Vector<String>>();
rows.addItem("1");
rows.addItem("2");

JTable table = new JTable(rows, title);

3-您将JComboBox放在JTable单元格中,如下所示:

table.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(sport));