在我的項目中,我創建了一些按鈕。當一個按鈕被點擊時,框架會出現。但是,當我點擊相同的按鈕,然後再次出現相同的窗口。這會降低我的項目質量。我希望當下次單擊相同的按鈕時,由於框架已經可見,框架不會到來。我怎樣才能做到這一點?我如何不一次顯示多個窗口
0
A
回答
0
這取決於您如何實施它。 而不是每次創建一個新的框架,保持對它的引用,如果它已經被創建,只顯示現有的框架。
下面是一個簡單的例子。這是一個有兩個按鈕的框架。其中一個人每次創建一個新框架,另一個創建一個框架,第一次點擊它時,任何時候都會顯示一個框架。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
class test {
public static void main(String[] args) {
JFrame main = new JFrame("Test");
JButton btnAlways = new JButton("Always");
JButton btnOnce = new JButton("Once");
btnAlways.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame frame = new JFrame(new Date().toString());
frame.setSize(400, 300);
frame.setVisible(true);
}
}
);
btnOnce.addActionListener(
new ActionListener() {
JFrame frame = null;
public void actionPerformed(ActionEvent e) {
if (frame == null) {
frame = new JFrame(new Date().toString());
frame.setSize(400, 300);
}
frame.setVisible(true);
}
}
);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main.getContentPane().add(btnAlways, BorderLayout.NORTH);
main.getContentPane().add(btnOnce, BorderLayout.SOUTH);
main.setSize(300, 100);
main.setVisible(true);
}
}
的偵聽btnOnce
具有frame
字段最初設置爲null
。第一次單擊該按鈕時,它將通過if (...) {...}
,創建一個框架並將其分配給frame
字段,以便後續調用不必使用,而是使用存儲的值。
0
一種可能的方式是使用SingleTone
設計模式的框架類..訪問使用getInstance()
方法。
相關問題
- 1. Matlab一次僅顯示一個窗口
- 2. 一次顯示一個彈出窗口
- 3. 顯示繪圖窗口不止一次
- 4. 如何確保一個窗口只在Cocoa中顯示一次?
- 5. 如何僅使用jQuery一次顯示一個彈出窗口?
- 6. 如何讓我的模式窗口只顯示一次?
- 7. 如何在javascript中僅顯示一次彈出窗口一次?
- 8. 顯示多個新窗口
- 9. 如何在父窗口窗體中顯示一個窗口?
- 10. 被在同一個窗口中顯示兩次我的UI
- 11. 如何在一個窗口內顯示多個UserControl?
- 12. 如何在matlab中的一個窗口中顯示多個圖?
- 13. WPF。如何從另一個窗口隱藏/顯示主窗口
- 14. JQuery - 僅顯示彈出窗口一次
- 15. JavaScript彈出窗口只顯示一次
- 16. 只顯示jquery彈出窗口一次
- 17. 僅顯示設置窗口一次
- 18. 如何多次顯示'JAlert'彈出窗口?
- 19. 如何多次顯示一個FolderBrowserDialog?
- 20. 彈出窗口顯示一次,但不是再次顯示動畫WPF
- 21. 當我使用sympy plot_implicit時,如何顯示一個窗口?
- 22. 如何在我的活動中顯示一個彈出窗口?
- 23. Photoshop ScriptUI:顯示一個對話窗口,關閉它,再次顯示一個空的全尺寸窗口
- 24. 如何關閉一個窗口時,一個新的窗口顯示
- 25. 在PyQt的一個窗口中顯示另一個窗口
- 26. 如何使JavaScript中的彈出窗口只顯示一次?
- 27. 一次顯示多個UIPopoverController
- 28. 一次打開多個窗口
- 29. 如何在我的主窗口中顯示彈出窗口?
- 30. 如何在顯示主窗口之前顯示登錄窗口
說起來容易做起來難。 – CKing
我將如何實現它已經創建?有沒有什麼方法可以給我關於現有框架的任何信息?我是java的初學者。 –
增加了幾個評論。如果你對Java不太熟悉,你可能想從一本關於該語言的書開始,專注於語言,而不是用戶界面。 – Vlad