在 JFrame 之间传递数据
在此场景中,您有两个 JFrame:frame1,其中包含文本字段,frame2,其中包含文本字段搜索框和包含搜索结果的 JTable。您的目标是在frame1的文本字段中反映JTable中选定的值。
对象引用和通信
您的问题提到将frame1的对象作为参数传递,但了解在 GUI 对象之间传递引用遵循与在非 GUI Java 代码中传递引用相同的原则至关重要。对第二个 JFrame (frame2) 的引用通常可以在第一个 JFrame (frame1) 中访问,从而允许您直接调用其方法。
跨窗口状态访问
从一个窗口访问另一个窗口状态的时机取决于窗口关系。对于模态对话框,第一个窗口可以在对话框返回后立即检索数据,也就是设置对话框可见后执行的代码。
对于非模态对话框,你经常依赖监听器来确定何时提取对话框
示例:在 Windows 之间传递文本
为了说明此概念,请考虑以下示例:
<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>
在此示例中,当单击frame1中的按钮,打开JDialogframe2。对frame2 的引用由frame1 保存,允许后者访问和操作frame2 内JTextField 中的文本。
同样,您可以在特定场景中使用基于侦听器的技术从JTable 检索数据确定何时在表中选择所需的行。
以上是如何将数据从一个 JFrame 中的 JTable 传递到另一个 JFrame 中的文本字段?的详细内容。更多信息请关注PHP中文网其他相关文章!