Swing Auf Methode zugreifen (am Schlauch steh)

phoenix89

Mitglied
Hallo Community,

mein erster Beitrag hier... Seite war ja einige Zeit offline :(

Jetzt zu meiner Frage

Ich generiere ein JFrame in der Klasse HomeFrame, die Klasse besitzt Textfelder und die Eingaben in diesen Textfelder möchte ich per Getter von einer anderen Klasse holen.

Damit ich von der Klasse PutData auf die Funktion der Klasse HomeFrame zugreifen kann, muss ich diese ja irgendwie ansprechen. Das mache ich wie folgt:

Java:
HomeFrame homeframe = new HomeFrame();
das mache ich in der PutData Klasse
über den Funktionsaufruf
Java:
homeframe.getTFname()
möchte ich die Daten von der Klasse HomeFrame holen

Problem ist nun wie ihr euch bestimmt schon denkt wenn er das so aufruft dann hat er eine Endlosschleife produziert die dauernt die Klasse HomeFrame aufruft.

wie kann ich denn die Funktion aufrufen ohne den Loop zu erzeugen???
stehe gerade etwas auf den Schlauch. :confused:

Viele Grüße phoenix89
 

Lars789852

Aktives Mitglied
Hallo,

die "while-Schleife für Arme" entsteht nur, wenn eine Methode sich selbst oder zwei Methoden sich gegenseitig aufrufen. Aber mit den beiden Zeilen Code kann ich dir schlecht helfen ...

Ich würde dir empfehlen, dich mit den Debugging Tools deiner IDE vertraut zu machen, da kannst du z.b. jede Zeile Quellcode auf Knopfdruck ausführen (durch den Quellcode steppen), da sieht man dann in der Regel sofort, woran es hakt.
 

phoenix89

Mitglied
danke für deine Antwort, den Debugger kenne ich und ich weiss auch woher der Fehler kommt. Ist ja alles kein Problem das zu erkennen, jedoch wie kann ich das Problem lösen?

aktueller Code:

HomeFrame.class

Java:
public class HomeFrame extends javax.swing.JFrame {

    PutData putData = new PutData();

private void btn_saveActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
            putData.putDatatoDB(cbplz);
        } catch (ParseException ex) {
            Logger.getLogger(HomeFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
    }       

// Auf diese Getter soll zugegriffen werden, diese Getter geben den Wert aus den Textfeldern weiter.
 
public String getTFname() {
        return tf_name.getText();
    }

    public String getTFvorname() {
        return tf_vorname.getText();
    }

    public String getTFstrasse() {
        return tf_strasse.getText();
    }

    public String geTFort() {
        return tf_ort.getText();
    }

    public String getTFtel() {
        return tf_tel.getText();
    }

    public String getTFgeb() {
        return tf_geb.getText();
    }

PutData.class

Java:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.swing.JComboBox;

public class PutData {
    
    HomeFrame homeframe = new HomeFrame();                                              // Hier entsteht der Fehler da eine neue Instanz von HomeFrame aufgerufen wird.
    private String name, vorname, strasse, tel, gebDat, newgebDat;

    public void putDatatoDB(JComboBox view) throws ParseException {
        MySQL db = new MySQL();

        name = homeframe.getTFname();                                                        // Aufruf der Getter von HomeFrame.class
        vorname = homeframe.getTFvorname();
        strasse = homeframe.getTFstrasse();
        tel = homeframe.getTFtel();
        gebDat = homeframe.getTFgeb();
        if (!gebDat.equals("")) {
            java.util.Date geburtsdatum = new SimpleDateFormat("dd.MM.yyyy").parse(gebDat);
            newgebDat = new SimpleDateFormat("yyyy-MM-dd").format(geburtsdatum);
        } else {
            newgebDat = "0000-00-00";
        }
        String insert = "INSERT INTO `test_db`.`personen_ext` (`ID`, `name`, `vorname`, `strasse`, `plz`, `tel`, `geb_dat`) "
                + "VALUES (NULL, '"
                + name + "', '"
                + vorname + "', '"
                + strasse + "', "
                + view.getSelectedItem().toString() + ", '"
                + tel + "', '"
                + newgebDat + "');";
        db.RunQuery(insert);
    }
}

so nun nochmal wie komm ich trotzdem per Getter an die Werte der Textfelder??

Viele Grüße
phoenix89
 
Zuletzt bearbeitet:

Lars789852

Aktives Mitglied
Java:
public class HomeFrame extends javax.swing.JFrame {

    PutData putData = new PutData();
    //...

Java:
public class PutData {
    
    HomeFrame homeframe = new HomeFrame();
    // ...

Genau da liegt der Hund begraben. Wenn du ein neues HomeFrame erstellst, erstellt dies ein neues PutData, welches wiederum ein neues HomeFrame erstellt, usw.

Du könntest entweder dem PutData das HomeFrame als Parameter im Konstruktor mitgeben:
Java:
public class HomeFrame extends JFrame {
  PutData putData = new PutData(this);
}

public class PutData {
  HomeFrame homeFrame;
  public PutData(HomeFrame h) {
    homeFrame = h;
  }
  // ...
}
Dann wird kein zweites erstellt, sondern nur die Referenz auf das bestehende mitgegeben.

Oder du gibst alle Strings als Parameter in der Methode putDatatoDB mit:
Java:
public class PutData {
  public void putDatatoDB(String name, String vorname, String strasse, ...) {}
}
 

phoenix89

Mitglied
Hat wunderbar funktioniert, wieder etwas gelernt, dankeschön. :)

Habe es mit
Java:
public class HomeFrame extends JFrame {
  PutData putData = new PutData(this);
}
 
public class PutData {
  HomeFrame homeFrame;
  public PutData(HomeFrame h) {
    homeFrame = h;
  }
  // ...
}
gemacht und funktionierte sofort

Viele Grüße
phoenix89
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JavaFX Mit einer Methode auf Stage zugreifen. AWT, Swing, JavaFX & SWT 8
C JavaFX Auf Nodes einer FXML-Datei in start Methode zugreifen AWT, Swing, JavaFX & SWT 5
K Kann nicht auf GUI Elemente zugreifen, mit einer Methode im Controller klappts, mit der anderen nich AWT, Swing, JavaFX & SWT 10
J ActionListener soll auf paint() Methode zugreifen AWT, Swing, JavaFX & SWT 1
H Kann nicht auf die Methode zugreifen AWT, Swing, JavaFX & SWT 5
H Kann nicht auf die Methode zugreifen AWT, Swing, JavaFX & SWT 3
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
P paintComponent-Methode wird dauernd neu aufgerufen AWT, Swing, JavaFX & SWT 2
M passende Reflexion-Methode?? AWT, Swing, JavaFX & SWT 1
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
M Swing Methode datenLesen() greift auf catchBlock zu? AWT, Swing, JavaFX & SWT 25
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
U was bewirkt die methode fill und unterschied zu anderen fill Methoden in 2dgraphics? (Java)? AWT, Swing, JavaFX & SWT 6
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
Z Methode bei Boolean change neu Ausführen AWT, Swing, JavaFX & SWT 9
T TableView über Methode befüllen AWT, Swing, JavaFX & SWT 10
H Event Handling Thread - Abruf der get-Methode AWT, Swing, JavaFX & SWT 5
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
J Rekursive Methode JProgressBar AWT, Swing, JavaFX & SWT 4
A Methode pausieren bis anderes Ereignis ausgeführt AWT, Swing, JavaFX & SWT 2
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Brauche Erklärung von Methode AWT, Swing, JavaFX & SWT 1
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
I Methode Draw3DRect und DrawRect AWT, Swing, JavaFX & SWT 2
krgewb 2D-Grafik paint-Methode wird zu oft ausgeführt AWT, Swing, JavaFX & SWT 5
S Zeichen ohne paint-Methode AWT, Swing, JavaFX & SWT 2
K Methode repaint() AWT, Swing, JavaFX & SWT 1
A Methode in bestimmten Intervall ausführen AWT, Swing, JavaFX & SWT 2
J Swing Wann brauche ich @Override vor der paint()-Methode? AWT, Swing, JavaFX & SWT 1
Z jLabel von Methode aus aktualisieren AWT, Swing, JavaFX & SWT 7
Q AWT Methodenaufruf aus actionPerformed-Methode AWT, Swing, JavaFX & SWT 4
G Eine paint-Methode, 2 Welten? AWT, Swing, JavaFX & SWT 3
B Swing Update Swing Komponente bevor Methode startet. AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
P keyTyped-Methode AWT, Swing, JavaFX & SWT 1
D JavaFX Java Methoden mit JavaFX Methode kommunizieren lassen? AWT, Swing, JavaFX & SWT 3
M JavaFX Methode nach initialize() aufrufen AWT, Swing, JavaFX & SWT 6
A paint-Methode aufrufen AWT, Swing, JavaFX & SWT 13
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
J Swing Problem mit Graphics Methode AWT, Swing, JavaFX & SWT 4
K Swing Durch Methode erzeugte Buttons ansteuern AWT, Swing, JavaFX & SWT 5
S Grafik: Programm kommt nicht zur paint()-Methode AWT, Swing, JavaFX & SWT 6
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
W Paint-Methode in anderer Klasse funktioniert nicht AWT, Swing, JavaFX & SWT 7
S PaintIn - Methode AWT, Swing, JavaFX & SWT 1
J Swing ungewünschter Nebeneffekt bei der repaint() Methode AWT, Swing, JavaFX & SWT 3
A befüllen eines JTables mittels Methode AWT, Swing, JavaFX & SWT 10
D JavaFX Interface Initializable - Was machen die Parameter in der Methode inizializeable() ? AWT, Swing, JavaFX & SWT 4
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
F JavaFX Zugriff auf Controller Methode von einer normalen Klasse aus AWT, Swing, JavaFX & SWT 4
F 2D-Grafik Was ruft die Paint - Methode auf ? AWT, Swing, JavaFX & SWT 2
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
S Paint Methode ohne implements JPanel AWT, Swing, JavaFX & SWT 1
S Farbe ändern bei der paint-Methode AWT, Swing, JavaFX & SWT 5
J Problem mit der paint Methode AWT, Swing, JavaFX & SWT 0
J JLabel während einer methode aktualisieren AWT, Swing, JavaFX & SWT 6
Junb 2D-Grafik paint() Methode bugt? AWT, Swing, JavaFX & SWT 2
T Swing Label aus anderer Methode bearbeiten AWT, Swing, JavaFX & SWT 2
I Paint-Methode von nicht statischen Objekten aufrufen AWT, Swing, JavaFX & SWT 3
C Methode über Buttonklick starten AWT, Swing, JavaFX & SWT 8
S Swing Mit einem Link eine Methode aufrufen AWT, Swing, JavaFX & SWT 2
D JSlider "laggt" nach überschreiben der paint methode AWT, Swing, JavaFX & SWT 2
D Swing DefaultTableModel setValueAt Methode AWT, Swing, JavaFX & SWT 7
J valueChanged()-Methode liefert unbrauchbare Daten AWT, Swing, JavaFX & SWT 4
T Swing JPanel - "Open" Methode? AWT, Swing, JavaFX & SWT 6
P Swing actionPerformed()-Methode funktioniert nicht AWT, Swing, JavaFX & SWT 3
M Applet Bricht Methode zwischendruch ab AWT, Swing, JavaFX & SWT 11
K Per Textfield Methode ausführen AWT, Swing, JavaFX & SWT 6
J Swing JTable - nach Sortieren andere Methode aufrufen AWT, Swing, JavaFX & SWT 2
C Swing Was macht die Methode "setDataProviderCreditShown(boolean b)" AWT, Swing, JavaFX & SWT 4
R Swing Mit Swing eine throws Exception Methode öffnen AWT, Swing, JavaFX & SWT 3
GianaSisters Swing jTable's valueChanged Methode überschreiben AWT, Swing, JavaFX & SWT 2
P EDT Problem? Kein Aufruf der repaint Methode AWT, Swing, JavaFX & SWT 6
A Paint Methode externer auruf AWT, Swing, JavaFX & SWT 5
N Methode zum Prüfen ob Jtextfield verändert worden ist AWT, Swing, JavaFX & SWT 2
K beim Schließen des JFrames, Methode aufrufen AWT, Swing, JavaFX & SWT 3
J AWT Methode paint() AWT, Swing, JavaFX & SWT 4
X Bild via FileChooser in paint-Methode laden AWT, Swing, JavaFX & SWT 2
E Umgang mit der Update Methode AWT, Swing, JavaFX & SWT 38
D Applet Methode in Timer einbinden AWT, Swing, JavaFX & SWT 6
Screen Fehler bei Get-Methode für ArrayList AWT, Swing, JavaFX & SWT 8
P Swing JPanel über Methode setzen AWT, Swing, JavaFX & SWT 2
A Frage zur Methode matches() AWT, Swing, JavaFX & SWT 2
eskimo328 Java6 Methode in Java5 verwenden (memory leak JInternalFrame) AWT, Swing, JavaFX & SWT 4
T Swing setText()-Methode Funktioniert nicht AWT, Swing, JavaFX & SWT 7
L JLabel Methode setText funktioniert nicht AWT, Swing, JavaFX & SWT 5
S Thread.sleep() in einer methode fürs zeichen AWT, Swing, JavaFX & SWT 3
S Visual Editor mit main Methode AWT, Swing, JavaFX & SWT 3
G paint-Methode kopiert GUI AWT, Swing, JavaFX & SWT 14
F Swing JFrame Methode beim Schließen aufrufen AWT, Swing, JavaFX & SWT 5
D Zwei String Attribute über eine Methode als Zeilen in einer Tabelle darstellen AWT, Swing, JavaFX & SWT 9
H applet Methode aus abstrakter Klasse aufrufen AWT, Swing, JavaFX & SWT 12
S Methode fireTableDataChanged() AWT, Swing, JavaFX & SWT 2
Y Swing Problem mit Main Methode AWT, Swing, JavaFX & SWT 8
E 2D-Grafik Zeichnen außerhalb der "paintComponent"-Methode? AWT, Swing, JavaFX & SWT 5
R Run Methode Probleme AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben