Hi!
Ich habe in einer Schleife alle meine Textfelder deklariert. Jedes Textfeld besitzt einen Actionlistener der dafür sorgt, dass man mit den Pfeiltasten über die Textfelder navigieren kann. Wenn ich allerding mit der Maus in ein Feld klicke bleibt er nur für eine Eingabe in diesem Feld, sobald ich was anderes drücke ist der Fokus wieder auf dem ursprüngichen Feld. Ich habe es schon mit einem MouseListener probiert was allerdings nicht funktioniert hat...
und so sah es mitm MouseListener aus:
Intuition dabei war heraus zu finden wo der Cursor grad steht und sich dann a und b zu merken...
Wüsste jemand, wie man es anders lösen könnte?
Ich habe in einer Schleife alle meine Textfelder deklariert. Jedes Textfeld besitzt einen Actionlistener der dafür sorgt, dass man mit den Pfeiltasten über die Textfelder navigieren kann. Wenn ich allerding mit der Maus in ein Feld klicke bleibt er nur für eine Eingabe in diesem Feld, sobald ich was anderes drücke ist der Fokus wieder auf dem ursprüngichen Feld. Ich habe es schon mit einem MouseListener probiert was allerdings nicht funktioniert hat...
Code:
for (int i = 0; i < 9; i++){
for (int j = 0; j < 9; j++){
matrix[i][j] = new TextField();
matrix[i][j].setFocusTraversalKeysEnabled(false);
matrix[i][j].addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_UP){
row--;
}else if (evt.getKeyCode() == KeyEvent.VK_DOWN){
row++;
}else if (evt.getKeyCode() == KeyEvent.VK_LEFT){
column--;
}else if (evt.getKeyCode() == KeyEvent.VK_RIGHT){
column++;
}
if (row > 8)
row = 0;
else if (row < 0)
row = 8;
if (column > 8)
column = 0;
else if (column < 0)
column = 8;
matrix[row][column].requestFocus();
}
});
und so sah es mitm MouseListener aus:
Code:
matrix[i][j].addMouseListener (new MouseAdapter(){
public void mousePressed(MouseEvent evt){
for (int a = 0; a <= 8; a++){
for (int b = 0; b <= 8; b++){
if (matrix[a][b].isFocusOwner()){
row = a;
column = b;
}
}
}
}
});
.
.
.
Wüsste jemand, wie man es anders lösen könnte?