gpt4 book ai didi

java - JSpinner 更新

转载 作者:行者123 更新时间:2023-12-01 05:50:41 24 4
gpt4 key购买 nike

我创建一个数据表和单元格编辑器形成一列。本专栏是简单的jSpinner。我有以下问题。当我在微调器中输入某个值并选择另一行时,前一行中的值不会更改。如果我按 ,就完成了。如果我选择 或 按钮,它也会完成。但如果我输入值并更改选择,则不会完成。请帮助。这是 CellEditor 代码。

public class DurationTableCellEditor extends AbstractCellEditor implements TableCellEditor{

final JSpinner spinner = new JSpinner();

// Initializes the spinner.
public DurationTableCellEditor() {
spinner.setModel(new SpinnerNumberModel(1,1,50000,1));
}

// Prepares the spinner component and returns it.
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
spinner.setValue(new Integer(value.toString()).intValue());
spinner.setCursor(null);
return spinner;
}

// Enables the editor only for double-clicks.
@Override
public boolean isCellEditable(EventObject evt) {
if (evt instanceof MouseEvent) {
return ((MouseEvent)evt).getClickCount() >= 1;
}
return true;
}

// Returns the spinners current value.
public Object getCellEditorValue() {
return spinner.getValue();
}

}

最佳答案

目前尚不清楚如何更新数据模型,但一种方法是在 CellEditor 中实现 ChangeListener,就像 example 一样。实现ItemListener。如需引用,请参阅How to Use Tables: Using Other Editors 。特别是看看 fireEditingStopped()。最后,您需要一个相应的 TableCellRenderer

关于java - JSpinner 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4773436/

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