将相同的JPanel引用传递给两个JFrame对象。只有一个对象具有面板。为什么?

时间:2019-03-03 09:51:50

标签: jframe jpanel

我正在尝试自学Java。我写了这段代码来测试一些东西:

public class test {

public static void main(String[] args){

    final JLabel label=new JLabel("Click me!");

    class ClickListener3 implements ActionListener{

        public void actionPerformed(ActionEvent event){
            label.setText("This is a test");
        }
    }

    JFrame frame1=new JFrame();
    JFrame frame2=new JFrame();

    frame1.setSize(500, 250);
    frame1.setTitle("Frame one!");
    frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame1.setVisible(true);

    frame2.setSize(500, 250);
    frame2.setTitle("Frame two!");
    frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame2.setVisible(true);

    JButton yes=new JButton("Yes");
    JButton no=new JButton("No");
    ActionListener listener=new ClickListener3();
    yes.addActionListener(listener);
    no.addActionListener(listener);

    JPanel panel=new JPanel();
    panel.add(label);
    panel.add(yes);
    panel.add(no);
    frame2.add(panel);
    frame1.add(panel);
}

当我运行此代码时,由于某种原因,只有我将面板传递到的最后一帧(在本例中为frame1)才具有该面板。我尝试构造两个不同的JPanel对象,并将其传递给每个框架,但随后只有一个框架也将具有面板。我想念什么?

0 个答案:

没有答案