私は、画面の上半分に2、下半分に1という3つのJPanelがあるプログラムを作成しています。ここではそのようにそれらを配置するためのコードです:
people.setBounds(0, 0, Math.round(getWidth()/3), Math.round(getHeight()/2));
resources.setBounds(people.getX() + people.getWidth(), 0, Math.round(getWidth()/3), Math.round(getHeight()/2));
neighboring.setBounds(resources.getX() + resources.getWidth(), 0, Math.round(getWidth()/3), Math.round(getHeight()/2));
はしかし残念ながら、これは私が得る結果である:私は完全にウィンドウに合わせてパネルを取得しようとしているが、あなたのようにして
見ることができる、彼らは予想よりも少し大きかった。いくつかの助けてください?JPanel望ましくない位置および/またはサイズ
1
A
答えて
3
レイアウトマネージャはsetBoundsではなく、レイアウトを使用して作業を行います。あなたのGUIは、単純なGridLayoutを使用するいくつかのJPanelをネストすることによって、最小のコードで作成することができます。詳細については、Lesson: Laying Out Components Within a Container
関連する問題
- 1. JPanelの位置とサイズに基づいたスクリーンショット
- 2. Jquery-ui droppable望ましくない負の左の位置を作成する
- 3. ミドルボックスは同じ位置になく、サイズが異なります
- 4. テーブル内の位置とjpanelを開く
- 5. JScrollPaneのJPanel位置
- 6. 変換後に望ましくないボタンのサイズを変更しました
- 7. キャプチャおよびエクスポート三角位置
- 8. 隠すアセンブリおよび位置を占めない
- 9. 望ましくないページリダイレクト
- 10. 文字列サイズが望ましくない出力
- 11. フィールドバリデータ火災は望ましくない
- 12. クエリは望ましくない結果
- 13. スクロール(およびウィンドウのサイズ変更)でdivの位置を 'スティッキー'にする方法はありますか?
- 14. JFrame、JPanel、およびGridlayoutの問題
- 15. 位置および配向のゲームオブジェクト明確にするため
- 16. カラムが希望の位置に達していない
- 17. OAuthを使用しないLinkedInユーザーのスキル、教育、および位置
- 18. GridBagLayoutはJPanelの位置を期待どおりに設定していません
- 19. 周波数ドメインの位相シフト、振幅、希望のサイズ、および非線形性
- 20. StyleSheetRegistryはすべて(および/またはいくつかの)
- 21. mysqlで望ましくないエラーが発生しました
- 22. D3:鈍いサイコロ(望ましくない)
- 23. サイドノート付きの文書を印刷、位置:相対および位置:絶対
- 24. カラムの幅、位置、および表示されていることを覚えておいてください。
- 25. アンカーリンクの位置にスクロールする - 望ましくない動作と非効率的な実装
- 26. mysqldumpは望ましくないシステムテーブルをダンプしています
- 27. ランダムなサイズと位置
- 28. 望ましくない水平スクロール
- 29. HTMLテーブル、望ましくないcolspan
- 30. vb.net望ましくないリッチテキストボックスリサイズ
でもいいですが、GridLayoutを使って、私の "Neighboring Civilizations"パネルを2行目にすることはできません。 GridBagLayoutを使用すると、サイジングは何らかの理由で実際には非常に小さくなります。 –
@Daniel - なぜJPanelを2行目にすることはできませんか? GUI全体では、2行1列に対してGridLayout(2,1)が使用されます。次に、上の行に、1行、2列を表すGridLayout(1,2)を使用するJPanelを追加します。上の行のパネルには、 "...の人と人"のJPanelsを追加し、メインGUIの一番下の行に "Neighboring Civ ..."というJPanelを追加します。重要な点は、独自のレイアウトを使用する* JPanelを入れ子にすることです。 –
私は実際に別のパネル( "統計")を考えました - 私はちょうど新しいGridLayout(2、2)を作成し、それは完全に動作します。ありがとう! –