質問
ユーザーが編集不可能なセルを選択すると、次の編集可能なセルに自動的にフォーカスを変更するjTableを作成したいと思います。重要:ユーザーは、キーボード(タブまたは矢印)およびマウスクリックでセルを選択できます。出来ますか??方法は?
解決
このリンクの詳細は、 JTableコンポーネントでプログラムで選択を行う;この問題を解決するには、mouselistenersなどをチェーン化する必要があります。
他のヒント
テーブルタブは、キーボード。
試したことはありませんが、セルをクリックすると、MouseListenerを使用して同じアクションを呼び出すことができるはずです。
MouseListenerの簡単なテストを行ったところ、うまく機能しているようです:
JTable table = new JTable(...);
final EditableCellFocusAction action =
new EditableCellFocusAction(table, KeyStroke.getKeyStroke("TAB"));
MouseListener ml = new MouseAdapter()
{
public void mouseReleased(MouseEvent e)
{
JTable table = (JTable)e.getSource();
int row = table.rowAtPoint(e.getPoint());
int column = table.columnAtPoint(e.getPoint());
if (! table.isCellEditable(row, column))
{
ActionEvent event = new ActionEvent(
table,
ActionEvent.ACTION_PERFORMED,
"");
action.actionPerformed(event);
}
}
};
table.addMouseListener(ml);
所属していません StackOverflow