0
私は、Javaの単純なプログラムを作成しようとしています。これには、上に8個のJLabels
と、そのすぐ下にJButton
が必要です。 BoxLayout
とFlowLayout
を使ってみましたが、プログラムの開始時にJLabels
が消えてしまいました。 button
をクリックすると、すべてが正しく表示されますが、手動でウィンドウのサイズを変更する必要があります。誰かが私が間違っていることを説明することができますか?ありがとう!Java GUIレイアウトの問題
public class ProgramUI {
private JButton _jbutton;
private ArrayList<JLabel> _jlabels;
private JFrame _jframe;
private JPanel _top, _bottom;
public ProgramUI(){
_jframe = new JFrame();
_jframe.getContentPane().setLayout(new BoxLayout(_jframe.getContentPane(), BoxLayout.Y_AXIS));
_top = new JPanel();
_jframe.add(_top);
_bottom = new JPanel();
_jframe.add(_bottom);
_top.setLayout(new FlowLayout(FlowLayout.LEFT));
_bottom.setLayout(new FlowLayout(FlowLayout.LEFT));
_jlabels = new ArrayList<JLabel>();
for (int i=0; i<8; i++) {
JLabel label = new JLabel();
_jlabels.add(label);
_top.add(label);
//...rest of code is not relevant
}
_jbutton = new JButton();
_bottom.add(_jbutton);
_jframe.pack();
_jframe.setVisible(true);
_jframe.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}