gpt4 book ai didi

java - Swing JTable 重置 TableCellEditor

转载 作者:行者123 更新时间:2023-12-02 00:38:13 25 4
gpt4 key购买 nike

TableCellEditor 中的

JComboBox 记住不同行甚至不同TableModels 中最后选择的值。例如,在一行上选择一个值,然后转到另一行,开始单元格编辑,JComboBox 会将上一行上的最后一个选择值作为其当前值。

如何修复?

最佳答案

设置 getTableCellEditorComponent(..) 中的值方法。

示例:

public static void main(String... args) {

JFrame frame = new JFrame("Test");

JTable table = new JTable(10, 2);
JComboBox box = new JComboBox(new String[] {"A", "B", "C"});
table.setDefaultEditor(Object.class, new DefaultCellEditor(box) {

@Override
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
return super.getTableCellEditorComponent(
table,
table.getValueAt(Math.max(row-1, 0), column),
isSelected,
row,
column);
}
});

frame.add(table);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}

关于java - Swing JTable 重置 TableCellEditor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7176073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com