質問

ユーザーが編集不可能なセルを選択すると、次の編集可能なセルに自動的にフォーカスを変更する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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top