2

JFrameを作成し、そのコンテンツパネルとしてJPanelを設定しました。そのコンテナに約30個のボタンを追加しましたが、JFrameには1行のボタンが表示され、高さを拡張できません。

public class UIDemo{
    private JPanel contentPanel = new JPanel();
    private JButton buttons[] = new JButton[30];
    public UIDemo(JFrame frame){
        for(int i = 0; i < buttons.length; i++){
           buttons[i] = new JButton("Button"+Integer.toString(i));
           contentPanel.add(buttons[i]);
        }//Add all buttons into content panel.

        frame.setContentPane(contentPanel);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
             public void run(){
                 new UIDemo(new JFrame());
             }
        });
    }
}
4

1 に答える 1

2
  • JPanelFlowLayoutAPIに実装されています

  • FlowLayoutのみを受け入れる場合PreferredSizeJComponentsinJPanelはサイズ変更できません

  • 見てくださいGridLayout

  • 別のオプションはGridBagLayout、または今日のカスタムですMigLayout

于 2012-11-07T11:38:58.303 に答える