Java 覆盖鼠标压力Handler基本选项卡UI(JTable)
我想调整我的Java 覆盖鼠标压力Handler基本选项卡UI(JTable),java,swing,jtable,Java,Swing,Jtable,我想调整我的JTable,这样当我开始编辑一个单元格,然后选择一系列单元格时,单元格编辑器不会消失,而是将其值更改为“当前选择” 我已经有了一个自定义的ListSelectionListener,它可以侦听选择中的更改,并从可以转换为字符串的范围对象(例如A1:C3)创建一个范围对象,但我正在寻找一种方法,以便在单元格编辑器停止/选择事件开始时进行连接,因此,我可以防止默认行为,并在选择单元格时保持编辑模式。有人有主意吗 编辑: 我走得更远了一点。在removeditor()方法中抛出错误时,我
JTable
,这样当我开始编辑一个单元格,然后选择一系列单元格时,单元格编辑器不会消失,而是将其值更改为“当前选择”
我已经有了一个自定义的ListSelectionListener
,它可以侦听选择中的更改,并从可以转换为字符串的范围对象(例如A1:C3)创建一个范围对象,但我正在寻找一种方法,以便在单元格编辑器停止/选择事件开始时进行连接,因此,我可以防止默认行为,并在选择单元格时保持编辑模式。有人有主意吗
编辑:
我走得更远了一点。在removeditor()
方法中抛出错误时,我得到以下堆栈跟踪:
at GUI.STable.removeEditor(STable.java:71)
at javax.swing.JTable.editingStopped(JTable.java:4724)
at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141)
at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368)
at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233)
at GUI.STable$CustomTableCellEditor.stopCellEditing(STable.java:119)
at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1010)
这将导致BasicTableUI
中的mousePressed
事件,该事件确实会关闭当前编辑器:
if (table.isEditing() && !table.getCellEditor().stopCellEditing()) {
Component editorComponent = table.getEditorComponent();
if (editorComponent != null && !editorComponent.hasFocus()) {
SwingUtilities2.compositeRequestFocus(editorComponent);
}
return;
}
但是我如何在BasicTableUI中重写这个鼠标按下的处理程序呢