0

Mac OS X 10.5.7 で Eclipse Cocao を使用していますが、変数の初期化中にプログラムが以下の無害な行でハングします。それを取り出せば、プログラムは進行します。

Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();

この行は、XP、Vista、Server 2003、および Mac OS X 10.4.11 で正常に機能します。10.5 で無限にハングアップする理由がわかりません。何か案は?

更新: これは、Cocoa Eclipse と Cocoa SWT を使用している場合のバグのようです。以下の Thorbjørn の例を問題なく再現できます。ただし、ここでテスト プログラムを実行すると、ハング動作が発生します。

import java.awt.Dimension;
import org.eclipse.swt.widgets.Display;

public class Foo {
  static Display display = new Display();

  public Foo() {
    Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    System.out.println(screenSize);
  }

  public static void main(String[] args) {
    Foo test = new Foo();
  }
} 
4

2 に答える 2

1

次のコードは、Java1.5とJava6の両方を搭載したMacBook上のOSX10.5でのEclipseCocoa3.5で完了します。

package main;

import java.awt.Dimension;

public class Foo {

    public static void main(String[] args) {
        Dimension screenSize = java.awt.Toolkit.getDefaultToolkit()
                .getScreenSize();
        System.out.println(screenSize);
    }
}

あなたのシステムが私のものとどのように違うかについての詳細を提供する必要があります。

于 2009-07-29T16:16:16.640 に答える
0

-Djava.awt.headless=trueJVM 引数を使用してアプリケーションを起動します。

于 2016-12-07T11:15:40.060 に答える