java中两个界面之间传递参数的示例+

来源:互联网 发布:日本端口 编辑:程序博客网 时间:2024/05/16 14:14

public class Test1 {

    public static void main(String[] args) {
        new MainFrame();
    }搜索
}
 
class MainFrame extends JFrame{
    public JTextField field=new JTextField();
    public JButton button=new JButton("打开新窗口");
    public MainFrame mainFrame=this;
    public MainFrame(){
        this.setBounds(00320240);
        this.add(field,BorderLayout.CENTER);
        this.add(button,BorderLayout.EAST);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                //打开新窗口,把主窗口对象的引用传给新窗口
                new NewFrame(mainFrame);
            }
        });
    }
}
 
class NewFrame extends JFrame{
    public JTextField field=new JTextField();
    private MainFrame mainFrame;//主窗口的引用
    private JButton button=new JButton("设置主窗口值");
    //接收到主窗口的引用 ,就可以直接操作主窗口的控件或变量了
    public NewFrame(final MainFrame mainFrame){
        this.mainFrame=mainFrame;
        this.setBounds(320240320240);
        this.add(field,BorderLayout.CENTER);
        this.add(button,BorderLayout.EAST);
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        this.setVisible(true);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                mainFrame.field.setText(field.getText());
            }
        });
    }
}

原创粉丝点击