我有一个由多个组件组成的自定义编辑器。就像是:
class MyCellEditor extends AbstractCellEditor implements TableCellEditor {
JTextArea textArea;
JButton button;
JPanel panel;
MyCellEditor() {
textArea = new JTextArea();
button = new JButton();
panel = new JPanel(new BorderLayout());
panel.add(textArea, BorderLayout.CENTER);
panel.add(button, BorderLayout.EAST);
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
textArea.setText((String) value);
return panel;
}
public Object getCellEditorValue() {
return textArea.getText();
}
}
我想要内在textArea
在编辑开始时抓住焦点。当我单击单元格时,它工作得很好,但当我使用键盘导航表格并开始在此单元格中键入时,它就不行了。
我怎样才能解决这个问题?
我前段时间遇到了同样的问题,花了很长时间才找到解决方案。尝试了很多焦点监听器和其他东西,但似乎没有什么真正按照我想要的方式工作,直到我发现这个有用的文章 http://jroller.com/santhosh/entry/keyboard_handling_in_tablecelleditor作者:桑托什·库马尔。
写得很好,应该可以解决你的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)