若弦之初 2013-04-26 19:29
浏览 1281
已采纳

java swing JFrame之间 数据传递

建立了两个JFrame在java swing当中,但是怎样在两个JFrame之间传递数据,比如说JFrame1里面的一个文本框得到的数据传递到JFrame2的一个文本框中并显示出来,怎样才能实现这个功能?

  • 写回答

2条回答 默认 最新

  • Dead_Knight 2013-04-26 20:17
    关注

    写个简单的例子,供你参考吧。
    [code="java"]
    package test;

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JTextField;

    public class TestJFrame extends JFrame{
    private SecondJFrame second = new SecondJFrame();
    public TestJFrame() {
    this.setLayout(new BorderLayout());

        final JTextField text = new JTextField("first field");
        this.add(text, BorderLayout.CENTER);
    
        JButton button = new JButton("改变另一个JFrame的值");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String first = text.getText();
                second.changeTextValue(first);
            }
        });
        this.add(button, BorderLayout.SOUTH);
        this.setSize(300, 100);
        this.setLocation(200, 200);
        this.setVisible(true);
    
        this.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) 
            {                
                System.exit(0);
            }
        });
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        new TestJFrame();
    }
    

    }

    class SecondJFrame extends JFrame {
    JTextField text = new JTextField("second field");
    public SecondJFrame() {
    this.setLayout(new BorderLayout());
    this.add(text, BorderLayout.CENTER);
    this.setSize(200, 100);
    this.setVisible(true);
    }

    public void changeTextValue(String newValue) {
        text.setText(newValue);
    }
    

    }

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵