我正在开发的应用程序是一个游戏。我想要做的是让 JPanel 出现在 JFrame 中,如文本或消息窗口,然后在不再使用时消失。我在 Netbeans 中将这些 JPanel 设计为外部类,并希望能够在 actionPerformed() 方法中调用它们。 JOptionPanes 或其他弹出对话框不是一个选项,因为它们会将焦点从游戏中移开。我还看到有人在类似的问题中建议使用 CardLayout。这不是我想要的,因为我不只是想交换 Pane 。当程序告诉他们时,他们应该离开。我该怎么做,比如将它绑定(bind)到 JButton 操作?
最佳答案
您可以通过调用 setVisible(false)
隐藏 JPanel。例如:
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);
}
关于java - 如何在 JFrame 中显示/隐藏 JPanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286759/