Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
Ich möchte den Inhalt von einem String von einem Textfeld bekommen. D.h. ich möchte das wenn jemand etwas in das Textfeld schreibt bekommt der String dessen inhalt. Das Problem ist das wenn ich den String ausführen möchte, dann steht da immer "null". Woran liegt das ? Was kann man machen um das zu ändern ?
Mal davon abgesehen, dass du Bezeichner mit nur einem Großbuchstaben (hier S und T) besser nur für Typvariablen benutzen solltest und das Design grottig ist: Schieb mal das
Ich habe jetzt versucht den ersten Code auf meinen anderen Code umzusetzen.
Hier zeigt er jedoch auch null an, wenn ich versuche den String auszugeneben. Hier ein Ausschnitt von de Code (Eingabe : TextFeld)
Java:
Eingabe.addActionListener(new ActionListener(){
public String b;
public void Form1 (String a){
b = a;}
public void seta(String a){
b = a;}
public String geta() {
return b ;
}
public void saying () {
a = Eingabe.getText();
{
}
}{
}
@Override
public void actionPerformed(ActionEvent ae){
System.out.println(a);
}
});
Es ist deswegen so "komisch " geschrieben, weil ich den String "a" ,den ich über der Methode mit "static String a;" deklariert habe, in einer anderen Klasse benötige.
das ist lustig, du versprichst "getA" lieferst aber b
in deiner ActionPerformed Methode wird a kein Wert zugewiesen.
Du solltest evtl die Methode "saying()" aufrufen, die macht ja das was du willst
Java:
public void saying () {
a = Eingabe.getText();
}
@Override
public void actionPerformed(ActionEvent ae){
saying();
System.out.println(a);
}
Klassen stehen fuer sich alleine.
Klassen stellen oeffentliche Methoden zur Verfuegung, um mit ihnen zu interagieren.
Auf Membervariablen zuzugreifen ist NIE eine gute Idee!
Static ist erstmal auch nur in bestimmten Situationen eine brauchbare Loesung - meist ist ein Singleton besser geeignet, aber nun gut.
Ich persoenlich wuerde auch die Main Funktion auslagern...
Ich weiss das ist jetzt wahrscheinlich ziemlich nervig, aber ich habe jetzt das Problem das die andere KLasse in der ich den String a verwenden möchte ihn nicht erkennnt. Also da steht als fehler "Syntax error on token "a", VariableDeclarator expected after this token"
Hier der Code:
Java:
package myscan;
import java.awt.AWTException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import myscan.Form1;
public class Buttonok implements ActionListener{
Form1 Form1object = new Form1();
Form1object.a;
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
System.out.println(a);
}
}