2016-10-03 13 views
0

私のJTableのEnterキーがすでに使用して次の行に、その後、最後の1に最初の列から水平方向に行くにはタブキーなどのキー振る舞いを入力してください編集するときは、Enterキーを2回クリックして次の列に移動する必要があります(最初は編集を終了し、2番目の列は次の列に移動します)。タブはワンクリックで行います。 EnterをTabのように動作させ、ワンクリックで次の列に移動するにはどうすればよいですか?はJTableの

答えて

0

私は次のようにDefaultTableModelでののsetValueAtメソッドをオーバーライドすることで、問題を解決:

DefaultTableModel model = new DefaultTableModel() { 
    @Override 
    public void setValueAt(Object value, 
      int rowIndex, 
      int columnIndex) { 
     super.setValueAt(value, rowIndex, columnIndex); 
     ProductsT.setRowSelectionInterval(rowIndex, rowIndex); 
     ProductsT.changeSelection(rowIndex, columnIndex + 1, false, false); 
    } 
}; 
0

キーのマッピングを入力してから新しいものを追加してください。ここで

は一例です。

// remove default mapping. 
table.getInputMap().put(KeyStroke.getKeyStroke("ENTER"), null); 
// add new mapping. 
table.getInputMap().put(KeyStroke.getKeyStroke("ENTER"), "selectNextColumnCell"); 
+0

はそれを試してみましたが、それはまだシングルクリックで移動していません。 – Elio