Klassen Von Logik auf TextField in der GUI zugreifen

Getdown3

Mitglied
Ich habe mir eine Frame erstellt, GUI und Logik wollte ich nun trennen. Meine Frage ist jetzt, wenn ich in der GUI die Klasse der Logik angegeben habe:
Java:
private logik lg = new logik();
Das war jetzt aus dem GUI.

und ich von der Logik aus, die textField1.setTExt("..."); anwenden möchte, also für ein Textfeld im GUI. SChreibe ich in der Logikklasse allerdings:
Java:
public class logik {

  // Anfang Attribute
  
  // Ende Attribute

  // Anfang Methoden
  public void plus() {
    textField1.setText("plus");
  }

  public void minus() {
    textField1.setText("minus");
  }
  // Ende Methoden
} // end of logik

dann bekomme ich nach dem compilieren die Fehlermeldung:

logik.java:17:5: error: cannot find symbol
textField1.setText("plus");
^
symbol: variable textField1
location: class logik
logik.java:21:5: error: cannot find symbol
textField1.setText("minus");
^
symbol: variable textField1
location: class logik
2 errors


Was habe ich vergessen?
 
G

Gast2

Gast
Deine Klasse Logik braucht eine Referenz auf das Eingabefeld:

logik lg = new Logik(textField1);

Java:
public class Logik {
  private JTextField textField1;

  public Logik (JTextField textField1) {
    this.textField1 = textField1;
  }

  [...]
}
 

Getdown3

Mitglied
ich habe das textField1 bereits im GUI definiert.

Java:
import java.awt.*;
import java.awt.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 25.11.2012
  * @author
  */

public class gui extends Frame {
  // Anfang Attribute
  private TextField textField1 = new TextField();
  private Button button1 = new Button();
  private Button button2 = new Button();
  private logik logik = new logik();
  // Ende Attribute

  public gui(String title) {
    // Frame-Initialisierung
    super(title);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { dispose(); }
    });
    int frameWidth = 300; 
    int frameHeight = 300;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Panel cp = new Panel(null);
    add(cp);
    // Anfang Komponenten

    textField1.setBounds(56, 24, 193, 57);
    textField1.setText("100");
    cp.add(textField1);
    button1.setBounds(16, 144, 81, 49);
    button1.setLabel("button1");
    button1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button1_ActionPerformed(evt);
      }
    });
    cp.add(button1);
    button2.setBounds(160, 144, 97, 49);
    button2.setLabel("button2");
    button2.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button2_ActionPerformed(evt);
      }
    });
    cp.add(button2);
    // Ende Komponenten

    setVisible(true);
  } // end of public gui

  // Anfang Methoden
  public void button1_ActionPerformed(ActionEvent evt) {
    logik.plus();
  } // end of button1_ActionPerformed

  public void button2_ActionPerformed(ActionEvent evt) {
    logik.minus();
  } // end of button2_ActionPerformed

  // Ende Methoden

  public static void main(String[] args) {
    new gui("gui");
  } // end of main

} // end of class gui


die logik sieht so aus:
Java:
public class logik {
  
  public void plus() {
    textField1.setText("plus");
  }
  
  public void minus() {
    textField1.setText("minus");
  }
  // Ende Methoden
} // end of logik

ist meine erste frame, tut mir leid wenn ich mich so blöd anstelle, aber wie muss die logik genau aussehen?
 

Getdown3

Mitglied
das habe ich schon probiert gehabt, aber irgendwie kamen da noch mehr fehler

Java:
public class logik {
  
  private TextField textField1;
  
  public Logik (TextField textField1) {
    this.textField1 = textField1;
  }
  public void plus() {
    textField1.setText("plus");
  }
  
  public void minus() {
    textField1.setText("minus");
  }
  // Ende Methoden
} // end of logik

und in der gui:
Java:
// Anfang Attribute
  private TextField textField1 = new TextField();
  private Button button1 = new Button();
  private Button button2 = new Button();
  private logik logik = new logik(textField1);
  // Ende Attribute

aber dann kamen die fehlermeldungen:
.\logik.java:13:10: error: invalid method declaration; return type required
public Logik (TextField textField1) {
^
.\logik.java:11:11: error: cannot find symbol
private TextField textField1;
^
symbol: class TextField
location: class logik
.\logik.java:13:17: error: cannot find symbol
public Logik (TextField textField1) {
^
symbol: class TextField
location: class logik
gui.java:17:25: error: constructor logik in class logik cannot be applied to given types;
private logik logik = new logik();
^
required: TextField
found: no arguments
reason: actual and formal argument lists differ in length
4 errors
 
Zuletzt bearbeitet:
M

Marcinek

Gast
.\logik.java:13:10: error: invalid method declaration; return type required
public Logik (TextField textField1) {
^

Die Klasse heißt logik und dein Konstruktor Logik

.\logik.java:11:11: error: cannot find symbol
private TextField textField1;
^

import fehlt.

symbol: class TextField
location: class logik
gui.java:17:25: error: constructor logik in class logik cannot be applied to given types;
private logik logik = new logik();
^
required: TextField
found: no arguments
reason: actual and formal argument lists differ in length

folgefehler.
 

Getdown3

Mitglied
eine frage hätte ich doch noch:

Java:
private logik logik = new logik(textField1);

wenn ich dort mein textfield 2 noch hinzufügen will, dann funktioniert das ja nicht einfach so:

Java:
private logik logik = new logik(textField1,textField2);

wie funktioniert das dann?
 
M

Marcinek

Gast
Doch! Genau so funktioniert es.

Du musst natürlich die Parameter entsprechend erweitern.
 

Getdown3

Mitglied
wenn ich nur ein textfeld habe funktioniert alles, aber wenn ich jetzt wie von dir beschrieben mein textField2 per komma abtrenne, dann bekomm ich andauernd fehlermeldungen. in der logik habe ich dann wie folgt geschriben:
Java:
public logik (JTextField jTextField1) {
    this.jTextField1 = jTextField1;
    }

public logik (JTextField jTextField2) {
    this.jTextField2 = jTextField2;
    }

die imports für awt sind natürlich mit in der klasse
 
M

Marcinek

Gast
Hmm...

Ich empfehle dringend folgendes:

- 1. Ein Buch zu kaufen / leihen googeln und sich mal die GRUNDLAGEN anzuschauen. Dies bewirkt wunder.


- 2. Wenn Fehlermeldungen kommen, dann diese posten. Kann man sich einfach angwöhnen um möglichst gute Antworten zu erhalten. Und gegenüber der Community zu zeigen, dass man sich damit auch beschäftigen will, was man da macht und nicht nur eine fertige Lösung erwartet.

- 3. Bisschen logisch anfangen zu denken:

Wenn du als Aufruf schreibst:

Code:
private logik logik = new logik(textField1,textField2);

Ist doch logisch, dass der Konstruktor um ein weiteren Parameter erweitert werden muss und kein neuer Konstruktor geschrieben wird.

Vor allem gibt es nur diese zwei Möglichkeiten. Wieso probiert man nicht beide aus und postet dann ins Forum?

Der neue Konstruktor muss also irgentwie so aussehen:

Code:
public Logik (TextField einTextfeld, TextField einAnderesTextFeld)

die imports für awt sind natürlich mit in der klasse

AWT und Swing solte man nicht mischen.
 

Getdown3

Mitglied
ich habs jetzt schon anders hibekommen, ich hab einfach ne "public int" methode erstellt und den wert zum gui returnen lassen, hab mein problem jedenfalls gelöst. trotzdem danke für die vielen guten antworten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Tic Tac Toe Logik kürzer fassen Java Basics - Anfänger-Themen 8
I Logik Zahlungsprozess - Wann Bestellobjekt anlegen? Java Basics - Anfänger-Themen 2
H Logik Fehler erkennen Java Basics - Anfänger-Themen 21
M Kann mir jemand hier die Logik vermitteln? Java Basics - Anfänger-Themen 3
M Kann mir jemand die Logik erklären? Java Basics - Anfänger-Themen 1
Hias12345 Schach(Springer Logik) Java Basics - Anfänger-Themen 27
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
R Best Practice Logik in der Datenbank oder in Java? Java Basics - Anfänger-Themen 3
B Logik Upgrade / Downgrade Java Basics - Anfänger-Themen 13
I Hilfe bei der Logik Java Basics - Anfänger-Themen 9
A Minesweeper Logik Java Basics - Anfänger-Themen 10
D Logik von GUI trennen Java Basics - Anfänger-Themen 3
Meeresgott OOP Gui, Logik und Datenbank richtig aufbauen Java Basics - Anfänger-Themen 43
V Memory Logik Problem/Denkblockade, bitte helft Java Basics - Anfänger-Themen 1
Z Jump and Run - Grafik,Logik und GUI trennen Java Basics - Anfänger-Themen 4
P fibonacci - do while Statement Logik Fehler Java Basics - Anfänger-Themen 5
Z GUI und Logik - Trennung Java Basics - Anfänger-Themen 2
H Logik Frage Java Basics - Anfänger-Themen 3
X Methoden Logik-Problem mit Schleifen. Java Basics - Anfänger-Themen 7
kaoZ Logik und Gui trennen Java Basics - Anfänger-Themen 3
S Logik knobeln... Java Basics - Anfänger-Themen 4
V Verstehe die Logik nicht ... Java Basics - Anfänger-Themen 30
S OOP Trennung der GUI von der Logik Java Basics - Anfänger-Themen 11
F While Schleife - Logik ? Java Basics - Anfänger-Themen 5
B Logik von verschachtelten For Schleifen Java Basics - Anfänger-Themen 6
Luk10 Logik/Mathe Problem Java Basics - Anfänger-Themen 6
M Logik in Java Java Basics - Anfänger-Themen 4
K java.util.ConcurrentModificationException problem in der Logik? Quaxli-Tutorial Java Basics - Anfänger-Themen 9
S Frage zu Verständnis und Logik Java Basics - Anfänger-Themen 5
K Logik in if-Bedingung Java Basics - Anfänger-Themen 2
L Wie Trennung von Logik und Ausgabe? Java Basics - Anfänger-Themen 6
T Hilfe - Ein Logik Problem Java Basics - Anfänger-Themen 17
sliwalker Wie löse ich eine "DfB-Pokalauslosung"?Logik fehlt Java Basics - Anfänger-Themen 5
T Problem mit der Logik von Switch und do-while Java Basics - Anfänger-Themen 3
G die Logik für eine Buchung! Java Basics - Anfänger-Themen 3
A Kapazität JavaFX TextField Java Basics - Anfänger-Themen 4
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
T TextField Breite automatisch gebunden Java Basics - Anfänger-Themen 8
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
D Mit Objekten rechnen, Textfield, JavaFX, Noob Java Basics - Anfänger-Themen 8
O TextField in GridPane beschränken Java Basics - Anfänger-Themen 5
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
M Von der Datenbank zum Textfield Java Basics - Anfänger-Themen 16
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
I TextField Array mit for Loop erzeugen Java Basics - Anfänger-Themen 4
M Textfield Problem Java Basics - Anfänger-Themen 2
AppGuruCode962 Button mit Textfield verbinden Java Basics - Anfänger-Themen 13
A GUI Programmierung mit Textfield Java Basics - Anfänger-Themen 3
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
N Dynamisch erzeugtes Label wird nicht angezeigt, TextField schon Java Basics - Anfänger-Themen 1
S Textfield KeyPressed Java Basics - Anfänger-Themen 2
D Textfield im Game ,Problem: while-Schleife Java Basics - Anfänger-Themen 1
G TextField befüllen Java Basics - Anfänger-Themen 3
fLooojava OOP Übergabe/Output in Textfield Java Basics - Anfänger-Themen 4
A Maximale zeichenanzahl im TextField? Java Basics - Anfänger-Themen 4
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
T NetBeans - Int in Textfield Java Basics - Anfänger-Themen 11
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
M TextField Nullpointer Exc Java Basics - Anfänger-Themen 8
L Erste Schritte Wenn Textfield.Text = ... dann Java Basics - Anfänger-Themen 16
S Wie überprüfen das in Textfield nur Hexadezimal ist? Java Basics - Anfänger-Themen 4
J Datentypen Textfield.getText() liefert keinen String Java Basics - Anfänger-Themen 4
R Viereck zeichnen über TextField-Eingabe /ActionListener Java Basics - Anfänger-Themen 9
C textfield zeilenumbruch Java Basics - Anfänger-Themen 2
D Textfield Problem Java Basics - Anfänger-Themen 3
A TextField + Label = ? Java Basics - Anfänger-Themen 7
K TextField zeigt nicht an Java Basics - Anfänger-Themen 4
S Nummerisches TextField Java Basics - Anfänger-Themen 2
B nur Zahlen in Textfield eingeben Java Basics - Anfänger-Themen 4
G TextField auf null überprüfen Java Basics - Anfänger-Themen 5
G TextField in der for-schleife ansprechen Java Basics - Anfänger-Themen 2
N Wie schreibe ich in den Textfield? Java Basics - Anfänger-Themen 3
C TextField überwachen und Inhalt verlgleichen Java Basics - Anfänger-Themen 3
N Cursorfarbe im Textfield setzen Java Basics - Anfänger-Themen 2
K Ein Textfield Löschen ? Java Basics - Anfänger-Themen 16
K Daten aus einem Textfield lesen ? Java Basics - Anfänger-Themen 4
G einlasen aus TextField, nullpointerException? Java Basics - Anfänger-Themen 8
D Probleme mit TextArea und Textfield Java Basics - Anfänger-Themen 27
gurgi Textfield Java Basics - Anfänger-Themen 3
G TextField auslesen Java Basics - Anfänger-Themen 13
G Textfield Java Basics - Anfänger-Themen 6
M Textfield in URL Java Basics - Anfänger-Themen 2
G textfield überdeckt alles Java Basics - Anfänger-Themen 3
M TextField Java Basics - Anfänger-Themen 3
B auslesen eines textfield und probleme mit button Java Basics - Anfänger-Themen 13
C Schriftgröße in einem TextField ändern Java Basics - Anfänger-Themen 4
F Problem bei TextField (nicht JTextField) Java Basics - Anfänger-Themen 4
G Inhalt Textfield in SQL Statement klappt nicht. Java Basics - Anfänger-Themen 2
M TextField inhalt in int umwandeln Java Basics - Anfänger-Themen 9
F Textfield Problem Java Basics - Anfänger-Themen 4
H UDP Empfangen----> Ausgeben im TextField Java Basics - Anfänger-Themen 3
B TextField Inhalt auslesen Java Basics - Anfänger-Themen 5
R Probleme mit ungefülltem TextField Java Basics - Anfänger-Themen 4
U textfield Java Basics - Anfänger-Themen 7
M Einträge einer .txt-Datei in einem TextField ausgeben lassen Java Basics - Anfänger-Themen 8
J TextField, das nur Integer zulässt ? Java Basics - Anfänger-Themen 4
N Text im TextField rechtsbündig? Java Basics - Anfänger-Themen 2
S Fehlermeldung Cant convert java.awt.TextField to int Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben