在Mac上SWT和Swing

时间:2014-11-13 17:02:03

标签: java macos swing swt

我似乎无法在Mac上同时运行 SWT Swing

我明白要在Mac上运行Swt我必须传递参数-XstartOnFirstThread但是这似乎打破 Swing

这是我写的一个简单片段。他们都没有创建任何窗口是的,但是他们使用代码来进行 SWT 初始化和 Swing 初始化。

public class Snippet
{
   public static void main(String[] args)
   {

      SwingUtilities.invokeLater(new Runnable()
      {
         @Override
         public void run()
         {
            System.out.println("Muhahahaha");
         }
      });

      Display display = new Display();
      display.dispose();
   }
}

如果使用-XstartOnFirstThread执行它,您将发现程序永远不会执行。

我怎样才能使它们在和谐中运行并执行到最后?

感谢任何人的帮助。我花了一个星期没有成功解决这个问题。

1 个答案:

答案 0 :(得分:1)

一起运行 Swing SWT 不是一个好习惯。这两者完全不同(从逻辑上讲),你应该只选择其中一个进一步(注意 SWT 更可定制,并试图结合 AWT Swing ,而 Swing 更受限制并使用平台的原生小部件)。也许this会帮助你改变主意。

但是,如果你真的认真地使用它们,你应该记住你不应该在同一个窗口中混合它们,事情应该正常工作。

祝你好运!