title image


Smiley Re: Zugriff auf außerhalb einer anonymen Klasse (Listener) liegenden Daten
Hi



Du kannst sie aber final machen (und wenn du sie nicht final machen kannst, dann ist das genau so ein Fall, der durch diese Fehlermeldung abgefangen werden soll ;-))



Vom Prinzip her:



public static JPanel datenInPanel(final SudokoDaten sudDat) {

...



for (int i=1; i<10; i++) {

for (int j=1; j<10; j++) {

JTextField input = new JTextField(i+j);

String name = new String();

name = new Integer(i).toString()+new Integer(j).toString();

input.setName(name);



final int iVal = i;

final int jVal = j;



input.addFocusListener(new FocusListener() {

public void focusGained(FocusEvent arg0) {

// TODO Auto-generated method stub

}



public void focusLost(FocusEvent arg0) {



JTextField jtf = (JTextField)arg0.getComponent();

System.out.println(jtf.getName());

System.out.println(jtf.getText());

sudDat.getDaten()[iVal][jVal] = (new Integer(jtf.getText())).intValue();

}

});

...





BTW:

sudDat.getDaten()[i][j]

sieht ein bißchen schlecht aus (kann gefährlich sein). Besser wären methoden



class SudDaten {

int getData(int i, int j) { return array[i][j]; }

void setDaten(int i, int j, int value) { array[i][j] = value; }

}





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: