[英]Hiding JFrame with anonymous ActionListener in a JButton
我有一个欢迎(或菜单)窗口(JFrame),其中包含一些按钮(JButton),用于每个可能的操作。 其中每个都应该启动一个新窗口并隐藏欢迎窗口。 我知道我可以用setVisible(false);
做到这一点setVisible(false);
。 但我还不能让它发挥作用。
这是我的代码的一个例子:
_startBtn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.out.println("_startBtn pressed");
// Code to hide this JFrame and initialize another
}
我的问题是,我怎么能使用像这样的匿名类呢?
提前致谢!
我正在为你发贴一个例子,我希望它会对你有所帮助。
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class windows_test {
JFrame login = null;
JFrame inner_frame = null;
public windows_test() {
login = new JFrame();
login.setBounds(10, 10, 300, 300);
login.setLayout(new BorderLayout());
JButton button = new JButton("Login");
login.add(button, BorderLayout.CENTER);
login.setVisible(true);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (inner_frame == null) {
inner_frame = new JFrame();
}
inner_frame.setLayout(new FlowLayout(FlowLayout.CENTER));
inner_frame.add(new JButton("inner frame"));
inner_frame.setVisible(true);
login.setVisible(false);
inner_frame.setBounds(10, 10, 300, 300);
}
});
}
}
我建议你使用jpanel而不是jframes,但你已经要求框架,所以我用它们创建了它。 希望它会帮助你问我某处是否错,或者你无法理解。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.