如何将数据从一帧移动到另一帧?

时间:2013-11-17 09:32:53

标签: java swing jframe

我正在尝试使用Neatbeans创建GUI, 它有两个框架.. Frame1和Fram2 Frame1得到:

2个jTextFields和1个jButton

如果我在jTextField(1& 2)中输入了存档,我点击“完成”按钮.. 应该出现Frame2并且它sholud显示来自Frame1的id和名称(jTextField(1& 2))

在Frame2的jLabel(1& 2)..内部

以下代码在按钮中:

    int id= Integer.parseInt(jTextField1.getText());
    String name=jTextField2.getText();
    Frame2 f2=new Frame2();
    f2.setVisible(true);

我在Frame2中创建了一个重载的构造函数:

public Frame2(int id, String name) {
    initComponents();
    jLabel1.setText(String.valueOf(id));
    jLabel2.setText(name);
}

当我点击按钮时,它会移动到Frame2,但它不显示数据(id& name)???

任何人都可以帮忙???

2 个答案:

答案 0 :(得分:0)

我真的不明白你的尝试,但你可以做这样的事情。它应该运行,只需添加必要的导入。也许这是你想要做的事情。

public class MainFrame extends JFrame {
    private String name = "ASN";
    private int id = 1;

    private JButton button = new JButton("Open");
    private OtherFrame oFrame = new OtherFrame();

    public MainFrame(){
        add(button);
        button.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                oFrame.setVisible(true);   
            }
        });
        add(oFrame);
        oFrame.setVisible(false);

        setVisible(true);

    }

    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                new MainFrame();
            }
        });
    }

    private OtherFrame extends JFrame {
        private JLabel label = new JLabel();
        private JButton button1 = new JButton("show");

        public OtherFrame(){
            add(label);
            add(button1);

            button1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    label.setText(name + " " + ID);
                }
            });
        }
    }
}

答案 1 :(得分:0)

接下来你的问题是你创建了一个构造函数(public Frame2(int id , String name)),但是你调用了另一个Frame2 f2=new Frame2();。将Frame2 f2=new Frame2();替换为Frame2 f2=new Frame2(id, name);它会对您有所帮助。