3

画面全体を占める必要があるタッチスクリーンGUIアプリケーション用に固定サイズの全体的なパネルを作成するという問題があります。一言で言えば、タッチスクリーンは800 x 600ピクセルなので、メインのGUIパネルをそのサイズにします。

NetBeansで新しいGUIプロジェクトを開始するときに、最小/最大/推奨サイズのメインパネルのプロパティを800 x 600に設定すると、「デザイン」ビュー内のパネルのサイズが変更されます。ただし、アプリを起動すると、元のデフォルトサイズにサイズ変更されます。

initComponents()の後にこのコードを追加しても、役に立ちません。

this.mainPanel.setSize(new Dimension(800,600));
this.mainPanel.setMaximumSize(new Dimension(800,600));
this.mainPanel.setMinimumSize(new Dimension(800,600));
this.mainPanel.repaint();

私はすべてのリソースファイルを調べましたが、これらをオーバーライドする値を見つけることができないようです(initComponents()が機能した後に設定していることを考えると、とにかく不可能に思えます)。FreeDesignレイアウトを使用しているのは、物を置く場所を完全に制御したかったからです。

さまざまなプロトタイプの画面がさまざまなサイズで表示されるため、レイアウトマネージャーは、画面上にあるウィジェットの数に基づいてサイズを変更していると思われます。

ヘルプをいただければ幸いです。

4

3 に答える 3

1

Javaフルスクリーンモードを試しましたか?

于 2008-10-30T09:58:55.963 に答える
0

このメソッドを使用してタスクを完了しますが、それが最適かどうかはわかりません。フレームが実際に画面に表示されるまで、呼び出しを待つ必要があります。

protected void growBig()
  {
    int screenWidth = java.awt.Toolkit.getDefaultToolkit().getScreenSize().width;
    int screenHeight = java.awt.Toolkit.getDefaultToolkit().getScreenSize().height;
    Rectangle rectangle = getFrame().getBounds();
    rectangle.setSize(screenWidth, screenHeight);
    getFrame().setBounds(0, 0, screenWidth, screenHeight);
    getFrame().setSize(screenWidth, screenHeight);
    getFrame().doLayout();
    getFrame().validate();
    updateUI();
  }
于 2008-10-30T07:06:58.450 に答える
0

お使いのタッチスクリーン デバイスがどのように機能するかわかりません。ただし、Netbeans プレビューを使用する場合、パネルは JFrame/JWindow などの外部コンテナに配置されます。フレームを 800x600 に設定したとします。

その場合、問題は、フレームが独自の境界線のために数ピクセルを消費し、パネル サイズが 800x600 未満になることです。その場合、パネルは最小/最大設定を使用できず、デフォルトのサイズに戻ります。

于 2008-10-30T11:29:29.027 に答える