[英]Java Window Duplication Prevention
JButton btnNewButton = new JButton("Register Student");
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
RegisterStudent panel_1 = new RegisterStudent();
panel_1.setVisible(true);
}
});
btnNewButton.setBounds(0, 162, 167, 37);
panel.add(btnNewButton);
有没有一种方法,如果一个特定的窗口已经打开,就无法再次打开? 因为,我不希望用户多次单击按钮,从而导致打开多个具有相同内容的窗口?
在鼠标侦听器块之外创建panel_1变量,并将其初始化为null。 单击鼠标后,检查panel_1是否为空,如果为null,则创建它。
final RegisterStudent panel_1 = new RegisterStudent();
JButton btnNewButton = new JButton("Register Student");
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
panel_1.setVisible(true);
}
});
btnNewButton.setBounds(0, 162, 167, 37);
panel.add(btnNewButton);
您可以从1.6版开始从Window.getWindows()
获得所有打开的窗口的数组,或者从1.2版开始可以使用Frame.getFrames()
所有打开的框架。 您可以使用name属性或窗口类(RegisterStudent)来测试窗口是否已打开,并将焦点设置在该窗口上,而不是打开另一个窗口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.