local variable name is accessed
-
local variable name is accessed from within inner class; needs to be declared final
String eingabe = name.getText();
^
Ja hier siehts mann versuche hier aus ein TextField zu lesen sobald
man ein button anklick baer er gib mir diese meldung. aber wie soll ich die auf static sätzen.public Oberflaeche() { .... ... einlesen.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { String eingabe = name.getText(); } }); ... ...
ist alles in einer methode.
-
wo legst du dein textfeld an? es muss im ganzen objekt bekannt sein, nicht nur in einer methode.
alsopublic Oberflaeche() { private TextField name; ... //irgendwo später: name = new JTextField(); ... .... ... einlesen.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { String eingabe = name.getText(); } }); ... ...
-
Das geht doch so nicht ich lege das textfield so an
TextField name = new TextField();
-
Du legst das aber innerhalb einer Methode so an (nehm ich an). Versuch es mal außerhalb der Methode zu deklarieren (also direkt innerhalb der Klasse).. Dann sollte es gehen. Es reicht natürlich auch wie bestift schon geschrieben hat , die Referenz selber als Member-Variable zu haben. Das Instanzieren kann natürlich innerhalb irgendeiner Methode passieren.