62,623
社区成员
发帖
与我相关
我的任务
分享
int rowCount = table.getRowCount();
int column = table.getSelectedColumn();
private JTable getJTable() {
if (jTable == null) {
jTable = new JTable();
//......
InputMap im = jTable.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke tab = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
final Action oldTabAction = jTable.getActionMap().get(im.get(tab));
Action tabAction = new AbstractAction() {
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
oldTabAction.actionPerformed(e);
JTable table = (JTable) e.getSource();
int rowCount = table.getRowCount();
int row = table.getSelectedRow();
if (column == 2) {// 如果移动到了第二列,则跳到下一列
column += 1;
}
table.changeSelection(row, column, false, false);
}
};
jTable.getActionMap().put(im.get(tab), tabAction);
//......
}
return jTable;
}