私はGUIを学び、2つのパネルをフレームに並べて配置しようとしています。あなたに私のコードをすべて渡すことなく(それは課題のためです)誰も私に以下の理由がない理由を指摘できますか? (ControlPanelは表示されません)私はチュートリアルに従いましたが、どこが間違っているのか分かりません。JFrameに2つのパネルを追加する
JFrame frame = new JFrame("Software");
MainPanel m = new MainPanel();
ControlPanel c = new ControlPanel(frame);
frame.getContentPane().add(m, BorderLayout.WEST);
frame.getContentPane().add(c, BorderLayout.EAST);
public class MainPanel extends JPanel {
.......
public MainPanel(){
super();
setPreferredSize(new Dimension(WIDTH, HEIGHT));
setFocusable(true);
requestFocus();
}
}
public ControlPanel(JFrame frame) {
super();
setPreferredSize(new Dimension(WIDTH, HEIGHT));
setFocusable(true);
requestFocus();
}
}
編集:コードの
レクリエーション:
JFrame frame = new JFrame("Software");
MainPanel m = new MainPanel();
ControlPanel c = new ControlPanel(frame);
frame.getContentPane().add(c, BorderLayout.WEST);
frame.getContentPane().add(m, BorderLayout.EAST);
frame.setLayout(new BorderLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(m);
frame.pack();
frame.setVisible(true);
機能しない理由のJFrameのcontentPaneでのレイアウトはそうthatsのJFlowLayoutを返しますか? – Hackerdarshi
BorderLayoutなどのような意味ですか?私が持っている唯一のレイアウトは上記のとおりです。次に、コントロールパネルでboxlayoutを使っていくつかのボタンをレイアウトします。\t \t setLayout(new BoxLayout(this、BoxLayout.Y_AXIS)); – javapalava
はい。私は – Hackerdarshi