Fehler bei getText()

Status
Nicht offen für weitere Antworten.

DasDogma

Mitglied
Hallo.

Ich habe neulich in der Uni angefangen mit Java zu programmieren (also Neuling) und wir sind jetzt bei Swing angekommen.

Klappte bisher sehr gut doch jetzt tritt auf einmal ein Fehler auf, der mich ratlos macht. Und zwar hab ich verschiedene Textboxen in denen dann vom Benutzer ein double-Wert eingegeben werden soll und dieser soll nach Klick auf einem Button via ActionListener weiterverarbeitet werden.

Hier der relevante Codeabschnitt:

Code:
button[0].addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        double force;
        force = Double.parseDouble(force_field.getText());
    }
});


Nun zeigt mir der Compiler folgenden Fehler an:

Traeger.java:64: double cannot be dereferenced
force = Double.parseDouble(force_field.getText);

Dabei verweist er auf den Abschnitt force_field.getText.

Ich habe schon vieles probiert, hier gesucht und Google befragt, aber bisher konnte meine Frage nicht geklärt werden.

Ich hoffe ihr könnt mir helfen. Falls hier noch den Rest meines Quellcodes braucht, sagt bescheid.

Danke schon mal.

Stefan
 

DasDogma

Mitglied
Nein force_field ist ein Textfeld(JTextField) für die Eingabe meiner Werte.

Hier ist der komplette Code:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 


class Traeger {
  public static void main(String[] arg) {
    TraegerWindow window = new TraegerWindow();
  } //main
} //class Traeger

class TraegerWindow extends JFrame {
  
  private JPanel p[] = new JPanel[3];
  private JButton button[] = new JButton[2];
  private JTextField force = new JTextField(10);
  private JTextField length = new JTextField(10);
  private JTextField x_length = new JTextField(10);
  private JTextField a_force = new JTextField(10);
  private JTextField b_force = new JTextField(10);
  private JTextField moment = new JTextField(10);

  public TraegerWindow() {
    
    setLayout(new GridLayout(1,3,1,1));

    p[0] = new JPanel(new GridLayout(7,1,7,7));
    p[1] = new JPanel(new GridLayout(7,1,7,7));
    p[2] = new JPanel();

    p[0].add(new JLabel("F ="));
    p[0].add(new JLabel("l ="));
    p[0].add(new JLabel("x ="));
    p[0].add(new JLabel("Auflagerkraft A ="));
    p[0].add(new JLabel("Auflagerkraft B ="));
    p[0].add(new JLabel("Biegemoment M ="));

    p[1].add(force);
    p[1].add(length);
    p[1].add(x_length);
    p[1].add(a_force);
    p[1].add(b_force);
    p[1].add(moment);

    button[0] = new JButton("Berechne");
    button[1] = new JButton("Löschen");

    p[0].add(button[0]);
    p[1].add(button[1]);

    for(int i=0;i<3;i++) {
      add(p[i]);
    }

    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
	System.exit(0);
      } //windowClosing
    }); //windowListener

    button[0].addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
	double force, length, x_length, a_force, b_force, moment;
	force = Double.parseDouble(force.getText());
      }
    });

    button[1].addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
	force.setText("");
	length.setText("");
	x_length.setText("");
	a_force.setText("");
	b_force.setText("");
	moment.setText("");
      }
    });
    
    setTitle("Träger auf zwei Stützen");
    setSize(500,400);
    show();  

  } //TraegerWindow

  static double force_a(double force,double length,double x_length) {
    double out_force;
    
    out_force = (force*(length-x_length))/length;

    return out_force;
    
  } //force_a

} //class TraegerWindow

Der problematische Teil befindet sich in Zeile 65.
 
S

SlaterB

Gast
................


da steht ja auch
force = Double.parseDouble(force.getText());
und nicht
force = Double.parseDouble(force_field.getText());
wie du zuerst gepostet hast, dann ist das doch sonnenklar
 

DasDogma

Mitglied
Oh stimmt ich sehe grad. Das force_field stammt aus einer älteren Version des Programms. Also force stimmt, wie man auch an der Initialisierung des JTextField erkennen kann.
 
S

SlaterB

Gast
du hast eine lokale Variable double force definiert,
nun gibt es in dieser Methode double force und JTextField force

du kannst doch nicht (vereinfacht)
force = force.getText()
schreiben und erwarten, dass der Compiler erkennt, dass du einmal die double-Variable meinst und einmal das JTextField,
nach welchen Regeln?

benenne am besten die Variable eindeutig, ansonsten ist auch noch (vereinfacht)
force = this.force.getText()
möglich
 

DasDogma

Mitglied
Ah gut jetzt sehe ich es auch. Hat auch funktioniert.
War der Fehler einfacher als ich vermutete. :D

Ich danke Dir.
 

voidee

Mitglied
SlaterB hat gesagt.:
benenne am besten die Variable eindeutig, ansonsten ist auch noch (vereinfacht)
force = this.force.getText()
möglich

In meienr IDE (JDeveloper) geht das nicht!

Warum? Folgende Umdefinition des Quelltextes zur Verdeutlichung:

Code:
button[0].addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        double l_force;
        l_force = Double.parseDouble(this.force.getText());
    }
});

Der Compiler meint - meines Erachtens nicht ganz zu unrecht - dass in der inneren anonymen Klasse (also dem ActionListener) kein Attribut force definiert ist. Ich bin daher, gezwungenermaßen, mit der Verwendung des Schlüsselworts this in inneren Klassen vorsichtigt. Was mir jetzt fehlt ist ein Schlüsselwort, dass auf die umgebende Funktion/Klasse verweist.
In meinem Beispiel lässt sich das übrigens nicht kompilieren (das this muss weg)
 
S

SlaterB

Gast
stimmt, in einer inneren Klasse muss man AußererKlassenname.this.attribut schreiben,
was nicht so schön ist
 

diggaa1984

Top Contributor
mit final deklarierter variable würde das aber gehen, das er in der inneren klasse diese kennt oder?
frage wäre, was passiert wenn sich der status im TF ändert, oder bezieht sich das final nur auf die Referenz im speicher (also das das Objekt TF immer noch an der adresse steht die durch die variable referenziert wird, und der status ist unabhängig davon)?

hatte letztens das gleiche problem und da stellt sich mir grad diese frage
 

Landei

Top Contributor
Eine (zugegeben unelegante) Lösung ist die Nutzung von Arrays:
Code:
final double[] force = new double[1];

button.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
        force[0] =  Double.parseDouble(forceField.getText()); 
    } 
});

Ein mutabler Wrapper oder bei mehreren Werten eine Map wären oh-oh-technisch etwas "sauberer".
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
hannibalstgt Fehler bei JCOMBOBOX GUI Anzeige AWT, Swing, JavaFX & SWT 4
J Fehler bei jFame.setTitle() AWT, Swing, JavaFX & SWT 8
thor_norsk SpringBoot-Fehler AWT, Swing, JavaFX & SWT 7
J Ich kriege eine Fehler Messesage bei meinem Media Player AWT, Swing, JavaFX & SWT 8
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
S Fehler beim Öffnen weiterer FXML AWT, Swing, JavaFX & SWT 11
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
T ListView nach Erweiterung Fehler in CellFactory AWT, Swing, JavaFX & SWT 8
beli3ver JavaFX Anwendung startet nicht, kann den Fehler nicht finden (Exception in Application start method) AWT, Swing, JavaFX & SWT 1
J "Exception in thread "AWT-EventQueue-0"" Fehler AWT, Swing, JavaFX & SWT 3
parrot JavaFX Fehler AWT, Swing, JavaFX & SWT 4
H JavaFX JavaFX Import Fehler AWT, Swing, JavaFX & SWT 4
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
Z Swing Wert aus Textfeld auslesen -- null Fehler AWT, Swing, JavaFX & SWT 4
A eine Fehler AWT, Swing, JavaFX & SWT 9
A Fehler beim Hintergrund AWT, Swing, JavaFX & SWT 17
L JavaFX Fehler beim setzen von Farben AWT, Swing, JavaFX & SWT 16
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
W fillRect() in Schleife spukt nur Fehler aus AWT, Swing, JavaFX & SWT 3
S Fehler: Hauptklasse neon.Main konnte nicht gefunden oder geladen werden AWT, Swing, JavaFX & SWT 5
Tronert JavaFX Fehler beim Ändern der font-weight AWT, Swing, JavaFX & SWT 7
Tommy135 JavaFX JavaFX Fehler beim Scenewechsel AWT, Swing, JavaFX & SWT 23
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
E Fehler bei Button AWT, Swing, JavaFX & SWT 1
L Unbekannter Fehler AWT, Swing, JavaFX & SWT 13
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
I Fehler bei Alert AWT, Swing, JavaFX & SWT 6
J Fehler bei PixelColor erkennung AWT, Swing, JavaFX & SWT 4
T Fehler bei ActionEvent? AWT, Swing, JavaFX & SWT 3
V Fehler bei Würfelsimulator GUI AWT, Swing, JavaFX & SWT 2
Z GUI-Problem, finde meinen Fehler nicht! AWT, Swing, JavaFX & SWT 11
Seikuassi SWING - (Hoffentlicher) simpler Color-Fehler AWT, Swing, JavaFX & SWT 4
M Swing finde den fehler nicht AWT, Swing, JavaFX & SWT 9
A Fehler bei erstellen eines JTextFields AWT, Swing, JavaFX & SWT 2
D Unlogischer Fehler? AWT, Swing, JavaFX & SWT 2
L Eclipse Fehler besser zu verstehen!!! AWT, Swing, JavaFX & SWT 4
E Warum macht die einfache Animation einen kleinen Fehler? AWT, Swing, JavaFX & SWT 14
bluerob Fehler bei Wertübermittlung über KeyListener AWT, Swing, JavaFX & SWT 3
H GUI-Textausgabe Fehler AWT, Swing, JavaFX & SWT 5
S String is null Fehler AWT, Swing, JavaFX & SWT 2
P Swing GroupLayout() Fehler? AWT, Swing, JavaFX & SWT 3
J JMenuBar ist geaddet, aber nicht im Frame. Wo ist der Fehler? (inkl. Code) AWT, Swing, JavaFX & SWT 2
N Touchscreen-Scrollen, wo liegt der Fehler? AWT, Swing, JavaFX & SWT 3
N Fehler Inhalt von JTable wird gelöscht AWT, Swing, JavaFX & SWT 5
S Fehler beim Zweites 3D Bild AWT, Swing, JavaFX & SWT 2
L Fehler beim erstellen einer Tabelle mithilfe von 2d-Array AWT, Swing, JavaFX & SWT 3
M GEF tutorial Fehler finden AWT, Swing, JavaFX & SWT 4
S Grafik Fehler AWT, Swing, JavaFX & SWT 15
M Fehler bei Arrayübergabe an JComboBox AWT, Swing, JavaFX & SWT 10
J Fehler beim Einklappen eines Trees AWT, Swing, JavaFX & SWT 4
P 2D-Grafik Fehler beim Laden eines Bildes AWT, Swing, JavaFX & SWT 25
S LayoutManager Fehler gesucht 18.6.2011 AWT, Swing, JavaFX & SWT 4
C Fehler nur bei manchen Usern AWT, Swing, JavaFX & SWT 8
Screen Fehler bei Get-Methode für ArrayList AWT, Swing, JavaFX & SWT 8
K JFrame + KeyListener + Runnable = Fehler AWT, Swing, JavaFX & SWT 3
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K 2D-Grafik Fehler beim Farbe auslesen AWT, Swing, JavaFX & SWT 3
J Fehler beim Gif Datei öffnen AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Fehler beim Überzeichnen von Linien AWT, Swing, JavaFX & SWT 11
E Swing Fehler nach Befüllen einer JTable mit gesetzem Rowsort?! AWT, Swing, JavaFX & SWT 10
P Swing Misteriöser Fehler JTable AWT, Swing, JavaFX & SWT 5
Y Swing JPasswordField Fehler AWT, Swing, JavaFX & SWT 14
A Swing Unknown Source Fehler AWT, Swing, JavaFX & SWT 9
N Fehler bei Grouplayout AWT, Swing, JavaFX & SWT 17
S ActionPerformed Fehler... AWT, Swing, JavaFX & SWT 9
C BufferedImage-Fehler? Falsches Bild wir gezeichnet AWT, Swing, JavaFX & SWT 5
A Tabellen Überschriften ändern -setColumnIdentifiers()- Fehler AWT, Swing, JavaFX & SWT 7
hdi Swing JTable: Fehler beim Nutzen von RowSorter#setRowFilter AWT, Swing, JavaFX & SWT 4
M.F.G. Fehler bei der Anzeige Grafischer Elemente AWT, Swing, JavaFX & SWT 13
D Swing Verwirrender Fehler AWT, Swing, JavaFX & SWT 7
J Fehler in fillRoundRect AWT, Swing, JavaFX & SWT 2
D Probleme mit Spiel-Engine. Komische Fehler. AWT, Swing, JavaFX & SWT 5
W fehler jedoch ka wo AWT, Swing, JavaFX & SWT 14
F Fehler in der Startklasse AWT, Swing, JavaFX & SWT 13
A Fehler bei der Parametereingabe? AWT, Swing, JavaFX & SWT 16
P finde den Fehler im JTable nicht AWT, Swing, JavaFX & SWT 2
Spin Fehler in Vergleich AWT, Swing, JavaFX & SWT 6
K Swing: ContentPane von JDialog ist transparent (Fehler) AWT, Swing, JavaFX & SWT 10
Dragonfire ZoomImage flackert -> Fehler: repaint-Aufruf [gelöst] AWT, Swing, JavaFX & SWT 5
T Invalid Range - Fehler bei TableRowSorter / Tabelle AWT, Swing, JavaFX & SWT 17
I Fehler bei verschachtelten JScrollPanes AWT, Swing, JavaFX & SWT 2
M Fehler beim Zugriff von awt-KeyListener auf swt-Shell AWT, Swing, JavaFX & SWT 2
GilbertGrape Fehler bei HTML in JTextPane AWT, Swing, JavaFX & SWT 2
K Textfelder auslesen gibt immer Fehler AWT, Swing, JavaFX & SWT 2
D Fehler bei Button Array AWT, Swing, JavaFX & SWT 8
P Fehler beim Einlesen eines JTextFields AWT, Swing, JavaFX & SWT 2
G Viele Fehler beim zeichen AWT, Swing, JavaFX & SWT 5
M Fehler mit Jigloo AWT, Swing, JavaFX & SWT 3
M setColor mit Fehler cannot fiend symbol (java.awt.Color) AWT, Swing, JavaFX & SWT 2
Z habe code, habe fehler, habe keine lösung AWT, Swing, JavaFX & SWT 7
R JComboBox Fehler AWT, Swing, JavaFX & SWT 7
B NPE-Fehler AWT, Swing, JavaFX & SWT 11
A Fehler beim Auslesen aus einem Textfeld AWT, Swing, JavaFX & SWT 2
P JRadioButton in Schleife erstellen > wo liegt mein Fehler AWT, Swing, JavaFX & SWT 2
R setIcon löst Fehler aus AWT, Swing, JavaFX & SWT 4
B Durch Auslesen der Zwischenablage folgt Fehler im Excel AWT, Swing, JavaFX & SWT 2
spacegaier Fehler beim Aufrufen von Dialog aus ActionListener AWT, Swing, JavaFX & SWT 12
D Fehler bei JTable AWT, Swing, JavaFX & SWT 8
S TextField fehler AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben