【发布时间】:2016-06-10 05:44:47
【问题描述】:
JTable:
我在 NetBeans 中创建了一个 JTable,我将在其中从 database 的某些列中获取值,如 image 所示 我为 TESTNAME,UNITS,SPECIFICRANGE 列带来了值,但第二列 OBSERVED VALUE 我为 用户输入 保留为空,用户输入是这样的,每当用户点击 Color 前面的单元格时,他应该在第二列单元格中得到一个 JComboBox 我的意思是 JComboBox 前面的单元格在 MouseEvent 和其他单元格上使用strong>Color,我正在使用 editCellAt() 为了完成这一点,我编写了以下代码,当我点击颜色前面的单元格时,我得到 JComboBox,当我点击其他单元格时,我得到 JComboBox strong> 但我需要获得 editCellAt() 功能
我认为 DefaultCellEditor 正在为整列修复,但我只需要 MouseClick
上的特定单元格if(table.getValueAt(table.getSelectedRow(),0).toString().equals("Color"))
{
TableColumn colorColumn = table.getColumnModel().getColumn(1);
JComboBox comboBox = new JComboBox();
comboBox.addItem("Red");
comboBox.addItem("Greyish");
comboBox.addItem("Yellow");
colorColumn.setCellEditor(new DefaultCellEditor(comboBox));
}
else
{
table.editCellAt(table.getSelectedRow(), 1);
}
【问题讨论】:
标签: swing jtable mouseevent jcombobox tablecolumn