Heim >Java >javaLernprogramm >Wie übergibt man Werte aus einer JTable in einem zweiten JFrame an Textfelder im ursprünglichen 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!