2012-02-07 14 views
0


私は単純なゲームレイアウトをしようとしています。 コンテナからレイアウトを作成します。すべてのコンテナは私の例に似ています(JPanel、setlayout、コンポーネントの追加、JPanelの返す)。
GridBagLayoutの問題

レイアウト全体の構造:(この3つはメインレイアウトです)
upper - BorderLayout.PAGE_START; //メニュー
center - BorderLayout.PAGE_CENTER; // centerContainer()
bottom - BorderLayout.PAGE_END; // statusBar - テキスト付きコンテナのみ


この3つのコンテナの配置は問題なく機能しますが、問題はcenterContainerの配置にあります。
センターコンテナ構造:aboutServerContainer、aboutGameContainer、gameContainerの3つのコンテナ。

gameContainerは、私がserverInfo、 下gameContainerとGameInfoのと同じ高さにserveInfoを開始したいが、それは何らかの形でserverInfoとGameInfoのはそれuderあるcernter 450x450

サイズを持っているが、それはまたgameContainer下の空きスペースを作ります(私はここで任意の空き領域を必要はありません。)

enter image description here

private Container centerContainer() { 
     JPanel centerJPanelJP = new JPanel(); 
     GridBagConstraints gbc = new GridBagConstraints(); 
     stredniJPanelJP.setLayout(new GridBagLayout()); 

     //gbc.fill = GridBagConstraints.BOTH; 
     gbc.gridx = 0; 
     gbc.gridy = 0; 
     gbc.gridheight = 1; 
     centerJPanelJP.add(aboutServerContainer(),gbc); 

     gbc.gridheight = 1; 
     gbc.gridy = 1; 
     centerJPanelJP.add(aboutGameContainer(),gbc); 

     gbc.gridheight = 2; 
     gbc.gridx = 0; 
     gbc.gridy = 0; 
     centerJPanelJP.add(gamePanelContainer(),gbc); 

     return centerJPanelJP; 
    } 
+1

本当にあなたのコードですか? 'gridx'は常に0ですか? –

+1

あなたの問題を示すhttp://sscce.org/を投稿してください。 – mKorbel

+0

@ TomHawtin-tacklineはい、間違っている可能性があります - グリッドを使用してgridxを使用するといくつかの問題が発生します – user1097772

答えて

3

このようなレイアウトを実現しようとしているようです。

+-----+-----+ 
| A |  | 
+-----+ C | 
| B |  | 
+-----+-----+ 

それを実現するには、グリッド上の制約として次のようになります。私の意見では

| x y width height 
--+--------------------- 
A | 0 0 1  1 
B | 0 1 1  1 
C | 1 0 1  2 

、ネストされたパネル、特殊なケースに対処するよりも、一貫して「強力な」レイアウトマネージャを使用することをお勧めしますライニング物事の柔軟性に欠けます。

+0

これはまさに私が必要としていたものです。ありがとう。どのような「強力な」レイアウトマネージャーですか? – user1097772

0

はなぜこのように行かない:

メインBroderLayout

  • をPAGE_STARTに何も追加していないCENTER
  • を中央コンテナを追加GameInfoの -addのステータスを追加垂直パネル-in serverInfo を追加垂直パネル-in をLINE_STARTするVerticalPanelを追加bar to PAGE_END
+0

余分なコンテナを追加したくありません主な容器。センターコンテナを編集したいです。 – user1097772

関連する問題