Rumah >Java >javaTutorial >Bagaimanakah anda menghantar data dari JTable dalam satu JFrame ke medan teks dalam JFrame yang lain?
Melalui Data Antara JFrames
Dalam senario ini, anda mempunyai dua JFrames: frame1, yang termasuk medan teks dan frame2, yang mengandungi kotak carian dan JTable yang mengandungi hasil carian. Matlamat anda adalah untuk mencerminkan nilai yang dipilih daripada JTable dalam medan teks frame1.
Rujukan Objek dan Komunikasi
Soalan anda menyebut objek frame1 yang lulus sebagai parameter, tetapi adalah penting untuk memahami bahawa menghantar rujukan antara objek GUI mengikut prinsip yang sama seperti menghantar rujukan dalam kod Java bukan GUI. Rujukan kepada JFrame kedua (frame2) biasanya boleh diakses dalam JFrame pertama (frame1), membolehkan anda menggunakan kaedahnya secara langsung.
Akses Negeri Merentas Tetingkap
Masa untuk mengakses keadaan satu tetingkap dari yang lain bergantung pada hubungan tetingkap. Untuk dialog modal, tetingkap pertama boleh mendapatkan semula data serta-merta selepas dialog kembali, iaitu kod yang dilaksanakan selepas menetapkan dialog kelihatan.
Untuk dialog bukan modal, anda sering bergantung pada pendengar untuk menentukan masa untuk mengekstrak maklumat.
Contoh: Menghantar Teks Antara Windows
Untuk menggambarkan konsep ini, pertimbangkan contoh berikut:
<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>
Dalam contoh ini, apabila butang dalam bingkai1 diklik, bingkai JDialog2 dibuka. Rujukan kepada frame2 dipegang oleh frame1, membenarkan yang terakhir mengakses dan memanipulasi teks dalam JTextField dalam frame2.
Begitu juga, anda boleh mendapatkan data daripada JTable dalam senario khusus anda dengan menggunakan teknik berasaskan pendengar untuk tentukan bila baris yang dikehendaki dipilih dalam jadual.
Atas ialah kandungan terperinci Bagaimanakah anda menghantar data dari JTable dalam satu JFrame ke medan teks dalam JFrame yang lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!