繁体   English   中英

Java窗口复制预防

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM