在我的项目中,我创建了一些按钮。当一个按钮被点击时,框架会出现。但是,当我点击相同的按钮,然后再次出现相同的窗口。这会降低我的项目质量。我希望当下次单击相同的按钮时,由于框架已经可见,框架不会到来。我怎样才能做到这一点?我如何不一次显示多个窗口
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