Variablen error: non-static variable cannot be referenced from a static context

HelenaAnn

Mitglied
Hallo Zusammen,
ich probiere im Momemt einen Rechner zu programmieren, wobei mir Java Editor aber anzeigt, dass eine non-static variable nicht in einem static context benutzt werden kann. Meine Frage ist jetzt, wie kriege ich die variable geändert?

Java:
public static double textP(){
    Double.valueOf(tf_p.getText());
    }
   
  public static double textQ(){
    Double.valueOf(tf_q.getText());
    }
   
  
  public static void main(String[] args) {
    double haelfteP;
    double p;
    double q;
    double x1;
    double x2;
    double halbP;
    String qEingabe;
    String pEingabe;
   
    p = textP();  
    q = textQ();
  }

als Fehlermeldung bekomme ich das angezeigt:

neupqinputerror.java:125:20: error: non-static variable tf_p cannot be referenced from a static context
Double.valueOf(tf_p.getText());
^
neupqinputerror.java:129:20: error: non-static variable tf_q cannot be referenced from a static context
Double.valueOf(tf_q.getText());

danke im Vorraus
 
naja, du müsstet deine Textfields als static deklarieren, oder aber du lagerst deine Berechnung und deine GUI aus. Dazu kannst du dir am Besten mal das MVC Pattern angucken.
 
alternativ machst du alle statics außer bei der main weg.

dann ein

main m = new main();

direkt am anfang und die methoden alle mit m.textP() aufrufen
 
Pseudo:
Java:
psvm {
  Main m = new Main(); // einmal Konstruktor aufrufen
  m.machWas1xyz("hallo"); // viele Methoden aufrufen
  sout(" ... done ... "); // fertig
}
 

Zurück
Oben