gpt4 book ai didi

java - InvokeLater() - 一次就够了吗?

转载 作者:行者123 更新时间:2023-11-29 03:31:03 26 4
gpt4 key购买 nike

我使用推荐的代码启动我的交互式程序,它使用 Swing。 :

    public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(
new Runnable() {
public void run() {
createAndShowGUI();
} } ) };

它创建一个 JFrame,将其称为“Foo”,并在用户关闭该窗口时结束(通过使用操作系统的 Close-Window X 图标或其他操作系统方式关闭应用程序)

我想显示另一个窗口“Bar”,获取用户输入,用我自己的 Swing 调用关闭该窗口,然后显示“Foo”窗口。

我可以为 Foo 和 Bar 重用相同的 JFrame,并在两者之间清除它。但我更喜欢让他们每个人在设计上更加独立。因此,Foo 中的 ActionListener 需要关闭 Foo 的框架,并调用显示 Bar 的代码。

是否需要使用InvokeLater()调用显示Bar的代码?为了获得更多的设计独立性,我的 main() 是否应该启动并同步两个线程?

最佳答案

用户触发 Action 监听器代码在 EDT 中执行,因此您无需再次包装它。也就是说,使用 CardLayout 可能比使用多个框架更合适。

关于java - InvokeLater() - 一次就够了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18273424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com