簡體   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