首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwingUtilities.invokeAndWait未运行

SwingUtilities.invokeAndWait未运行
EN

Stack Overflow用户
提问于 2011-01-08 04:34:07
回答 1查看 3.9K关注 0票数 1

run()方法中的代码未被执行。有人能告诉我为什么吗?

代码语言:javascript
复制
startButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                if(creator == null) {
                    String[] args = getArguments();
                    try {
                        writeSettingsFile(args);
                    } catch(IOException io) {}

                    consolePanel.addLine("Starting...");
                    bar.setIndeterminate(true);
                    try {
                        SwingUtilities.invokeAndWait(new Runnable() {

                            public void run() {
                                MessageConsole console = new MessageConsole(getConsole().getTextPane(), self, null);
                                console.redirectOut(new Color(240, 240, 240), null);
                                console.redirectErr(Color.RED, null);
                                console.setMessageLines(consolePanel.getHeight() / 17);
                                try {
                                    SomeApp.main(getArguments());
                                } catch (Exception ex) {
                                    Logger.getLogger(OSXWorldPanel.class.getName()).log(Level.SEVERE, null, ex);
                                }
                            }
                        });
                    } catch (InterruptedException ex) {
                        Logger.getLogger(OSXWorldPanel.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (InvocationTargetException ex) {
                        Logger.getLogger(OSXWorldPanel.class.getName()).log(Level.SEVERE, null, ex);
                    }

                }
            }
        });

抛出错误:

代码语言:javascript
复制
Exception in thread "AWT-EventQueue-0" java.lang.Error: Cannot call invokeAndWait from the event dispatcher thread
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1017)
    at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1320)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-08 04:46:48

如果你在东部夏令时,你不需要调用invokeAndWait。在您的示例中,您似乎是在EDT中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4630043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档