Rumah  >  Artikel  >  Java  >  Bagaimanakah anda menghantar data dari JTable dalam satu JFrame ke medan teks dalam JFrame yang lain?

Bagaimanakah anda menghantar data dari JTable dalam satu JFrame ke medan teks dalam JFrame yang lain?

Barbara Streisand
Barbara Streisandasal
2024-10-26 19:00:30400semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn