Tag: swingutilities

为什么我应该使用单独的线程在JAVA中显示GUI

这个简单的问题让我很困惑。 您可以通过将frames的setVisible属性设置为true来显示JAVA GUI应用程序。 但在我在互联网上发现的几乎所有例子中,他们都使用一个单独的线程来做同样的事情。 他们做这样的事情, SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new Frame().setvisible(true); //just take the idea of this line } }); 我发现这两种方法没有区别。 但必须有一些特殊的原因,这就是每个人都这样做的原因。 有人可以解释一下……谢谢!

SwingUtilites:如何从Java中的另一个线程返回值?

我正在尝试用Java创建一个应用程序。 为了使Swing正常工作,我这样做了: public static void main(String[] array){ String outerInput; SwingUtilities.invokeLater(new Runnable(){ @Override public void run() { // I want this string input. String input = JOptionPane.showInputDialog( null,”Stop ?”, JOptionPane.QUESTION_MESSAGE); }); // How can I get this input value in String outerInput? } 我如何在我的主体中获得此输入字符串?

如何使用SwingExplorer导航Applet内容?

这个站点http://www.swingexplorer.com/上有SwingExplorer工具,用于浏览swing内容但是如何将它应用到Applet?,特别是如果我想将它集成到eclipse-plugin我该如何配置运行组态? 我想您需要提供要运行到AppletViwer的applet的参数,并让SwingExplorer导航AppletViewer(后者又运行您的applet类)但我不知道如何将这样的参数传递给AppletViwer,Can谁解释我怎么做? 请注意,只需在applet上创建新框架并让它像往常一样运行Swing应用程序不会这样做,因为它需要在类似浏览器的环境中运行。

开始挥杆应用程序的最佳实践

启动java swing应用程序的最佳实践方法是什么? 也许有另一种方法可以做到这一点。 我想知道我是否必须使用SwingUtilities类来启动应用程序(可能性)(第一种可能性)。 public class MyFrame extends JFrame { public void createAndShowGUI() { this.setSize(300, 300); this.setDefaultCloseOperation(EXIT_ON_CLOSE); // add components and stuff this.setVisible(true); } public static void main(String[] args) { // First possibility MyFrame mf = new MyFrame(); mf.createAndShowGUI(); // Secound possibility SwingUtilities.invokeLater(new Runnable() { @Override public void run() { MyFrame mf = new MyFrame(); […]

Java – SwingWorker和SwingUtilities.invokeLater()之间的区别

SwingWorker用于以下目的: 用于在不同的线程中运行长时间运行的任务,以防止GUI无响应 用于通过done()方法在任务结束时使用长时间运行的任务生成的结果更新GUI。 用于在不依赖于publish()和process()方法的情况下由任务生成和发布的中间结果来不时更新GUI。 SwingUtilities.invokeLater()可以执行上述任务,如下所示: 我们可以执行ExecutorService.submit(new MyRunnable()) ,而不是从EDT执行SwingWorker.execute()方法,因为它还会创建另一个可以执行长时间运行任务的线程。 为了在任务结束时更新GUI,我们可以在任务结束时放置代码(用case1的done()方法编写) SwingUtilites.invokeLater(new RunnableToExecuteDoneMethodCode()) 。 为了在任务中间更新GUI,我们可以将代码(在case1的process()方法中编写) SwingUtilites.invokeLater(new RunnableToExecuteProcessMethodCode())放在我们在case1中调用publish()方法的地方。 我问这个问题是因为Java-SwingWorker中指定的问题- 我们可以从其他SwingWorker调用一个SwingWorker而不是EDT可以通过SwingUtilities.invokeLater()解决但是无法用SwingWorker解决

什么是SwingUtilities.invokeLater

可能重复: SwingUtilities.invokeLater做什么? SwingUtilities.invokeLater 我已经看过几百次这段代码了: public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } 现在我的问题是: invokeLater()做什么? 如果我只是在主线程中创建并显示我的GUI,会发生什么样的坏事?

SwingUtilities invokeLater的主要目的

我有这段代码 import javax.swing.SwingUtilities; public class Client1 { public static void main( String[] args ) { SwingUtilities.invokeLater( new Runnable() { public void run() { //new MyWindow( “Bayog” ); new MyWindowV2( “Bayog” ); } } ); } } 如果我不使用SwingUtilities有什么区别?