2

次のようなことをしたいと思います。

    public class MyCustomDialog extends JDialog 
    {

       public MyCustomDialog()
       {
          if (getClientVertScreenSize() < 800)
          {
            // Set the vertical size as 600, and give them a scroll pane to navigate to the bottom of the gui.
          }
          else
          {
             setSize(600, 800); // No need to add a scroll pane.
          }
       }

    }

問題は、クライアントの画面サイズを確認する方法がわからないため、コンストラクターが依存するメソッドを記述する方法がわからないことです。

4

3 に答える 3

4

Toolkit.getDefaultToolkit().getScreenSize() を参照してください。

于 2012-04-26T00:27:21.240 に答える
3

できることは、コンポーネントをに配置し、水平および垂直スクロールバーポリシーをにJScrollPane設定することです。このように、スクロールバーは、のサイズがコンポーネントの推奨サイズよりも小さい場合にのみ表示されます。[VERTICAL|HORIZONTAL]_SCROLLBAR_AS_NEEDEDJScrollPane

于 2012-04-26T00:42:25.097 に答える
2

クラスjava.awt.Toolkitには という名前のインスタンス メソッドがありgetScreenSize()、タイプ のオブジェクトを返しますjava.awt.Dimension。ADimensionは不変オブジェクト (変更不可) で、2 つの public, final フィールド:widthheight. のインスタンスを取得しjava.awt.Toolkitて実行できます

次のコードを使用する必要があります。

import java.awt.Dimension;
import java.awt.Toolkit;

public class MyCustomDialog extends javax.swing.JDialog {
    public MyCustomDialog() {

        super(); // Invoke any JDialog initialization code.

        Toolkit t = Toolkit.getDefaultToolkit();
        if (t.getScreenSize().height < 600) {
            setSize(getWidth(), 600);
            // Add your scrollpane, etc.
        } else {
            setSize(600, 800); // No need to add a scroll pane.
        }
    }
}
于 2012-04-26T03:15:36.773 に答える