Я создал таблицу JPanel с двумя измерениями, и у меня есть JButton на моей первой ячейке. Я хочу переместить кнопку с помощью клавиш со стрелками в пределах моей таблицы. Я должен поместите KeyListener в каждую ячейку или на мою кнопку? Возможно, вы найдете мой вопрос глупым, но мне нужна небольшая помощь с KeyListener. Спасибо! KeyListener на двухмерном JPanel [] [] table
Вот код, который я написал!
public class MyFrame extends JFrame {
JPanel [][] innerCells;
public MyFrame() {
JFrame fr = new JFrame("Final Exams");
fr.setSize(800, 600);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr.setVisible(true);
fr.setLocationRelativeTo(null);
JPanel p = new JPanel(new GridLayout(10, 10));
JButton b = new JButton("G");
innerCells = new JPanel[10][10];
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
innerCells[i][j] = new JPanel();
innerCells[i][j].setBorder(BorderFactory.createLineBorder(Color.orange));
p.add(innerCells[i][j]);
}
}
innerCells[0][0].add(b);
fr.add(p);
}
Взгляните на ** [это] (http://stackoverflow.com/questions/16834765/move-jbutton-with-keyboard-arrows-inside-a-grid-panel/16835242#16835242) **, в основном, игнорировать KeyListener и использовать [привязки клавиш] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html) – MadProgrammer
Большое спасибо! Я буду работать над этим, и я буду отправьте мой ответ !;) Значит, у вас нет слушателя? Почему лучше всего привязывать клавиши? –