Heim  >  Artikel  >  Java  >  Wie übergibt man Werte aus einer JTable in einem zweiten JFrame an Textfelder im ursprünglichen JFrame?

Wie übergibt man Werte aus einer JTable in einem zweiten JFrame an Textfelder im ursprünglichen JFrame?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 03:09:30937Durchsuche

How do you pass values from a JTable in a second JFrame to text fields in the original JFrame?

Übergabe von Werten zwischen JFrames

Herausforderung

Beim Klicken auf eine Zeile in einer JTable darin Bei einem zweiten JFrame besteht das Ziel darin, dass die ausgewählten Werte Textfelder im ursprünglichen JFrame füllen.

Analyse

Während die Programmarchitektur möglicherweise eher die Verwendung eines JDialogs vorschlägt als Bei einem JFrame basieren beide auf dem gleichen Prinzip der Übergabe von GUI-Objektreferenzen wie im Standard-Java-Code.

Im Fall von JFrame-Fenstern, die andere JFrames öffnen, enthält der erste Frame normalerweise einen Verweis auf den zweiten, sodass dies möglich ist Rufen Sie seine Methoden auf. Der Zeitpunkt für diese Aufrufe hängt davon ab, ob es sich beim zweiten Frame um einen modalen Dialog handelt oder nicht.

Lösung

Bei modalen Dialogen ist der ideale Zeitpunkt zum Abrufen des Status unmittelbar danach Der Dialog kehrt zurück. Bei nichtmodalen Dialogen kann ein Listener eingesetzt werden, um zu überwachen, wann Informationen extrahiert werden sollen.

Beispielcode

Um dieses Konzept anhand eines einfachen Beispiels zu veranschaulichen, betrachten Sie Folgendes: Folgender Code:

<code class="java">// MyFramePanel holds a reference to MyDialogPanel and its JDialog

class MyFramePanel extends JPanel {

    // ...

    // When the "Open Dialog" button is clicked, the dialog is opened
    private void openTableAction() {
        if (dialog == null) {
            dialog = new JDialog(win, "My Dialog", ModalityType.APPLICATION_MODAL);
            dialog.getContentPane().add(dialogPanel);
            dialog.pack();
            dialog.setLocationRelativeTo(null);
        }
        dialog.setVisible(true); // Modal dialog takes over

        // After the dialog is disposed, retrieve the text from its JTextField
        field.setText(dialogPanel.getFieldText());
    }
}</code>

Dieses Beispiel zeigt, wie der Verweis auf das Dialogfenster die Übertragung der Textfelddaten aus dem Dialog in das Textfeld im Hauptrahmen ermöglicht. Eine ähnliche Technik kann zum Abrufen von Daten aus einer JTable angewendet werden.

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

Stellungnahme:
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