0
私はのJPanelとJFrameの間offesetsを入れしようとしていると私はこれに似た何かを得る、 JPanelsとJFrameの間にどのようにオフセットを置くのですか?
、以下のようなデザインをしたいと思い私は、JFrame内の2つのJPanelをどこに置くかというコードを以下に示します。
private static void createAndShowGUI() {
JFrame frame = new JFrame("My App");
GridLayout myLayout = new GridLayout(1,2);
myLayout.setHgap(10);
frame.setLayout(myLayout);
JPanel jLeftPanel = new JPanel();
JPanel jRightPanel = new JPanel();
jLeftPanel.setBackground(Color.DARK_GRAY);
jLeftPanel.setSize(275, 250);
jRightPanel.setBackground(Color.DARK_GRAY);
jRightPanel.setSize(275, 250);
frame.add(jLeftPanel);
frame.add(jRightPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// frame.pack();
frame.setSize(600, 550);
frame.setVisible(true);
}
デザインを改善するにはどうすればよいですか?
回答ありがとうございます。左パネルの右下に2つのパラメータ(幅と高さ)を取り、右のパネルに図形を描画するボタンを配置するにはどうすればよいですか?私は最後の3時間、これについて苦労している、少し助けに感謝します。 – Chak
遅く返事を申し訳ありません。左パネルにBorderLayoutを使用し、2つの内部パネル、入力テキストフィールドの中央にGridLayoutパネル、ボタンのために南にFlowLayoutパネルを追加します(FlowLayoutは右揃えできます)。右側では、JPanelをサブクラス化し、オーバーライドされたJComponent.paintComponent()メソッドでFigureを直接描画します。また、Oracleには[カスタム塗装コンポーネントのチュートリアル](https://docs.oracle.com/javase/tutorial/uiswing/painting/)があります。 –
また、複雑なレイアウトを作成する場合は、AWT/Swingのオンボードレイアウトマネージャは非常に限られており、大規模に使用するのは面倒です。第三者のレイアウトマネージャ、特に[JGoodies FormLayout](http://www.jgoodies.com/freeware/libraries/forms/)を調べることをお勧めします。 –