如何在JFrame中显示/隐藏JPanel?

harlow:

我正在开发的应用程序是一个游戏。我要做的是让JPanels出现在JFrame中,例如文本或消息窗口,然后在不再使用时消失。我已经在Netbeans中将这些JPanels设计为外部类,并希望能够在actionPerformed()方法中对其进行调用。JOptionPanes或其他弹出对话框不是选项,因为它们将焦点从游戏移开了。我也看到有人在类似的问题中建议CardLayout。这不是我想要的,因为我不只是尝试交换窗格。当程序告诉他们时,它们应该消失。通过将其绑定到JButton Action,我将如何做到这一点?

狗屎:

您可以通过调用隐藏JPanel setVisible(false)例如:

public static void main(String args[]){
    JFrame f = new JFrame();
    f.setLayout(new BorderLayout());
    final JPanel p = new JPanel();
    p.add(new JLabel("A Panel"));
    f.add(p, BorderLayout.CENTER);

    //create a button which will hide the panel when clicked.
    JButton b = new JButton("HIDE");
    b.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
                p.setVisible(false);
        }
    });

    f.add(b,BorderLayout.SOUTH);
    f.pack();
    f.setVisible(true);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章