我将 JComboBox 与 JTables 一起使用,但下拉菜单仅在单击时“可见”。如何更改此默认行为并使其始终可见且用户友好?
public void start(){
TableColumn column = table.getColumnModel().getColumn(0);
JComboBox comboBox = new JComboBox();
DefaultComboBoxModel model = new DefaultComboBoxModel();
model.addElement("a");
model.addElement("b");
comboBox.setModel(model);
}
最佳答案
据我了解,您希望单元格始终看起来像 JComboBox,而不是 jLabels。
这可以通过向 TableColumn 添加 TableCellRenderer 轻松完成。 粘贴以下代码应该可以达到预期的效果。
column.setCellRenderer(new TableCellRenderer() {
JComboBox box = new JComboBox();
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
box.removeAllItems();
box.addItem(value.toString());
return box;
}
});
关于java - 如何使 JComboBox 下拉列表在 JTable 中始终可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744524/