1

JDialog を拡張するクラスを用意します。EDT で完全に初期化されます (念のため)。今、

public PropsDialog (JFrame parentFrame)
{
    super(parentFrame);
    // boring
    pack();
    setLocationRelativeTo(getParent());
    setVisible(true);
}

ダイアログが左端に表示され、意図した位置にジャンプします。私は間違ったことをしていますか?

4

1 に答える 1

1

実際の例と詳細情報を提供していただけますか? たとえば、どのオペレーティング システムでテストしていますか? Swing にはいくつかの違いがあります。たとえば、親のない JDialogs は gnome パネルにエントリを取得しますが、Windows タスクバーにはエントリを取得しません。

第二に、setLocationRelativeTo を呼び出す前に JDialog が表示されていると思います。おそらく、「退屈」とコメントアウトした部分の一部を介して表示されます。私はお勧めします、あなたは素早くパンチします

System.out.println(isVisible());

念のため、setLocationRelativeTo の直前にコードに...

于 2009-02-24T09:23:40.607 に答える