开发者

updating a panel

开发者 https://www.devze.com 2022-12-22 02:43 出处:网络
I have a panel on my frame .and by clicking on a button I want to 开发者_如何转开发delete the old panel and make the other panel and add that panel to my frame.(also I use netbeans)

I have a panel on my frame .and by clicking on a button I want to 开发者_如何转开发delete the old panel and make the other panel and add that panel to my frame.(also I use netbeans) would you please help me that how can i do that?thanks


JFrame frame = new JFrame();
final JPanel origPanel = new JPanel();
frame.add(origPanel, BorderLayout.CENTER);

MouseListener ml = new MouseAdapter() {
  public void mouseClicked(MouseEvent evt) {
    // Mouse clicked on panel so remove existing panel and add a new one.
    frame.remove(origPanel);
    frame.add(createNewPanel(), BorderLayout.CENTER);

    // Revalidate frame to cause it to layout the new panel correctly.
    frame.revalidate();

    // Stop listening to origPanel (prevent dangling reference).
    origPanel.removeMouseListener(this);
  }
}

origPanel.addMouseListener(ml);


This way:

    final JFrame frame = new JFrame();
    frame.setSize(200, 200);

    final JPanel panelA = new JPanel();
    final JPanel panelB = new JPanel();
    JButton button = new JButton("Switch");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            frame.remove(panelA);
            frame.add(panelB);
            frame.show();
        }
    });
    JLabel label = new JLabel("This is panel B. Panel A is gone!");
    panelB.add(label);
    panelA.add(button);
    frame.add(panelB);
    frame.add(panelA);
    frame.show();
0

精彩评论

暂无评论...
验证码 换一张
取 消