web-dev-qa-db-ja.com

NetBeansでJFrameを画面の中央に設定します

Java SwingデスクトップアプリケーションとNetBeansを開発しています。JFrameを画面の中央に設定します。

ネットから使用できることがわかります

_setLocationRelativeTo(null);
_

フレームを中央に設定しますが、NetBeansにコードを挿入できませんIDE frame.pack()frame.setVisible()の両方がNetBeans 7 IDEであり、2つのメソッド間のコード挿入は許可されません。

次のものを入手する必要があります。

_frame.pack() 
setLocationRelativeTo(null);
frame.setVisible()
_

問題を修正する方法について何か提案はありますか?

8
CodeAngel

生成されたコードにsetVisible()がありますか?奇妙な。とにかく、JFrameNavigatorを右クリックしてPropertiesを選択できます。 Codeに移動し、選択して何もしません。次に、JFrameコンストラクターのinitComponents()の後に手動でコードを挿入します。

1
Jean Waghetti

プロパティ->コード->生成センターをチェックアウト

21
user2263202

フレームのコンストラクターでは、次のようになります。

public frame() {     
   initComponents();
}

次の行を入力するだけです: "this.setLocationRelativeTo(null);" 「initComponents();」の下

そしてあなたはこれを持っています:

public frame() {     
   initComponents();
   this.setLocationRelativeTo(null);
}

実行すると、画面の中央にフレームが表示されます=)

13
princesspeach

次の簡単な手順に従ってください。

  • フレームを選択し、プロパティに移動します。
  • コードセクションをクリックし、[センターを生成]チェックボックスをクリックします。

それでおしまい。

3
Neelesh

問題に対する回答を得たかどうかはわかりませんが、NetBeansフォーラムのWade Chandlerによって次のリンクで解決策が提供されました。残念ながら、回答されたクエリの発信者は控えめに言っても焦らず、回答を得るためにはある程度の不安を乗り越えなければなりません。

http://forums.netbeans.org/ptopic37419.html

Wadeは、GUIを中央に配置する方法と、変更できるコードの側面を示しています。

余談ですが、GUIを画面上の設定された位置に配置したい場合は、以下を使用できます。

これには、プロパティ->コードウィンドウへのアクセスも必要です。 1.フレームを選択していることを確認してください(コンポーネントや外部ではありません!)2. JFrameのプロパティウィンドウの[コード]タブに移動します。 3.「フォームサイズポリシー」ラベルを探します。 4.ドロップダウンで[サイズ変更コードを生成]を選択します。 5.横にある「...」をクリックして、フォームの位置を変更します。 6.また、「Generate Size」もチェックされていることを確認してください。

画面の左上にGUIを配置する場合は、フォームの位置にデフォルトの[0,0]を使用します。最初の横に2番目のGUIを配置するには、[450,0]を使用します。この場合、x値は450に変更され、Y値は0のままです。GUIを画面の下に移動するには、Y値を0から450に変更します。

最後に、NetBeansバグ226740があり、GUIのいくつかの側面を中央に配置しようとすると問題が発生する可能性があります。それはおそらくあなたに影響を与えませんが、それを認識することは役に立ちます。

よろしく

デレク

2
Derek Mannering

Netbeans Designer領域内で、JFrameを選択し、コードに移動します。

コード内で、フォームサイズポリシーを「Generate Resize Code」に変更します。

次に、Generate Centerオプションを選択します。

0
JoshuaTree
  • コンストラクターで以下のギブコードを作成すると、jframeが画面の中央に配置されます

    public ProjectWork_jframe() {
    initComponents();
    
    Dimension screenSize,frameSize;
    int x,y;
    screenSize=Toolkit.getDefaultToolkit().getScreenSize();
    frameSize=getSize();
    x=(screenSize.width-frameSize.width)/2;
    y=(screenSize.height-frameSize.height)/2;
    setLocation(x, y);
    }
    
0
Ragataj

@DerekManneringが投稿したリンクから:

Netbeansは実際には、プロパティの使用を介して、またはそれ自体でセンタリングロジックを生成するため、setLocationRelativeToオプションは表示されません。プロパティウィンドウの[コード]タブに移動します。 「コード」タブで「フォームサイズポリシー」ラベルを見つけます。ドロップダウンで[サイズ変更コードを生成]を選択します。次に、「Generate Center」というラベルの付いたプロパティがチェックされていることを確認します。また、 "Generate Size"もチェックされていることを確認してください。デフォルトであるはずですが、とにかくチェックする必要があります。これは、JFrameまたはFrame拡張機能に最適です。

0
Ayvadia

やってみて.

public class_name{
     initComponents();
        setLocationRelativeTo(this);
}
0
Anant Mahale