首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Greenfoot: Jfilechooser程序崩溃

Greenfoot: Jfilechooser程序崩溃
EN

Stack Overflow用户
提问于 2015-09-12 11:21:28
回答 1查看 104关注 0票数 0

因此,我正在使用Greenfoot为Java的一个高中项目编写一个程序。在我的程序中,我使用JFileChooser让用户选择要编辑的图像,等等。

无论如何,当我第二次运行JFileChooser时,它似乎总是使我的JVM崩溃。它总是在我第一次启动程序时工作,但是如果我不重新启动JVM和程序,它会在我第二次使用它时冻结我的程序。

我不确定这是某种bug还是糟糕的编码实践(可能没有正确处理swing元素?)

本质上,这是我用来打开JFileChooser的代码:

代码语言:javascript
复制
final JFileChooser fc = new JFileChooser();
JFrame frame = new JFrame();
fc.setFileFilter(new FileNameExtensionFilter("Images", "jpg", "png"));
int returnVal = fc.showOpenDialog(frame); //freezes here
if(returnVal == JFileChooser.APPROVE_OPTION) {
    //etc...

如果有什么不同,我使用的是带有Java 1.7.0_71的mac。

任何帮助都很感谢--谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-09-13 04:55:54

Greenfoot在特定的线程(内部称为模拟线程)上运行您的代码。如果要使用Swing,则必须从Swing线程使用它。我相信你的代码已经死锁了,因为你在非Swing线程中使用了Swing类。您可以使用EventQueue.invokeLater在Swing线程之间来回切换(Greenfoot不支持这一点,但无论如何它都应该可以工作-- invokeLater比invokeAndWait更好)。

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

https://stackoverflow.com/questions/32534842

复制
相关文章

相似问题

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