Heim > Java > javaLernprogramm > Wie übergibt man Daten von einer JTable in einem JFrame an Textfelder in einem anderen JFrame?

Wie übergibt man Daten von einer JTable in einem JFrame an Textfelder in einem anderen JFrame?

Barbara Streisand
Freigeben: 2024-10-26 19:00:30
Original
494 Leute haben es durchsucht

How do you pass data from a JTable in one JFrame to text fields in another JFrame?

Übergabe von Daten zwischen JFrames

In diesem Szenario haben Sie zwei JFrames: Frame1, der Textfelder enthält, und Frame2, der ein enthält Suchfeld und eine JTable mit Suchergebnissen. Ihr Ziel ist es, die ausgewählten Werte aus der JTable in den Textfeldern von Frame1 wiederzugeben.

Objektreferenzen und Kommunikation

In Ihrer Frage wird erwähnt, dass das Objekt von Frame1 als Parameter übergeben wird. Es ist jedoch wichtig zu verstehen, dass die Übergabe von Referenzen zwischen GUI-Objekten denselben Prinzipien folgt wie die Übergabe von Referenzen in Nicht-GUI-Java-Code. Auf den Verweis auf den zweiten JFrame (Frame2) kann normalerweise innerhalb des ersten JFrame (Frame1) zugegriffen werden, sodass Sie dessen Methoden direkt aufrufen können.

Cross-Window State Access

Der Zeitpunkt für den Zugriff auf den Status eines Fensters von einem anderen hängt von der Fensterbeziehung ab. Bei modalen Dialogen kann das erste Fenster unmittelbar nach der Rückkehr des Dialogs Daten abrufen. Dabei handelt es sich um den Code, der nach dem Sichtbarmachen des Dialogs ausgeführt wird.

Bei nichtmodalen Dialogen verlassen Sie sich häufig auf Listener, um zu bestimmen, wann die Daten extrahiert werden sollen Informationen.

Beispiel: Übergeben von Text zwischen Fenstern

Um dieses Konzept zu veranschaulichen, betrachten Sie das folgende Beispiel:

<code class="java">import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class WindowCommunication {

    public static void main(String[] args) {
        JFrame frame1 = new JFrame("Frame 1");
        frame1.getContentPane().add(new JLabel("Text: "));
        frame1.getContentPane().add(new JTextField(10));
        JButton button = new JButton("Open Frame 2");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JDialog frame2 = new JDialog(frame1, "Frame 2");
                frame2.getContentPane().add(new JTextField(10));
                frame2.pack();
                frame2.setVisible(true);
            }
        });
        frame1.getContentPane().add(button);
        frame1.pack();
        frame1.setLocationRelativeTo(null);
        frame1.setVisible(true);
    }
}</code>
Nach dem Login kopieren

In diesem Beispiel: wann Wird die Schaltfläche in Frame1 angeklickt, wird ein JDialog Frame2 geöffnet. Der Verweis auf Frame2 wird von Frame1 gehalten, sodass dieser auf den Text im JTextField innerhalb von Frame2 zugreifen und ihn bearbeiten kann.

Ähnlich können Sie in Ihrem spezifischen Szenario Daten aus einer JTable abrufen, indem Sie Listener-basierte Techniken verwenden Bestimmen Sie, wann die gewünschte Zeile in der Tabelle ausgewählt ist.

Das obige ist der detaillierte Inhalt vonWie übergibt man Daten von einer JTable in einem JFrame an Textfelder in einem anderen JFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage