0

JFrame に 5 つのボタンを配置しようとしています。4 つのボタンを最初の行に配置し、5 つ目のボタンを 2 番目の行に配置する必要があります。しかし、ここではすべてのボタンが 1 行に表示され、5 番目のボタンの半分がパネルの外に出ています。ちなみにframe.pack();を使うと 私のフレームは私が思っていたよりも小さくなりました。フレームのサイズを変更したくありません。2 行目の 5 番目のものを探します。

import java.awt.GridBagLayout;
import java.awt.GridLayout;

import javax.swing.*;


public class test {

    public static void main(String[] args) {


        JFrame frame = new JFrame();
        frame.setBounds(100, 100, 529, 300);
        frame.getContentPane().setLayout(new GridLayout(1, 0, 0, 0));


        JPanel panel = new JPanel();
        frame.getContentPane().add(panel);
        panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));


        JButton btnNewButton_4 = new JButton("New button");
        panel.add(btnNewButton_4);

        JButton btnNewButton_3 = new JButton("New button");
        panel.add(btnNewButton_3);

        JButton btnNewButton = new JButton("New button");
        panel.add(btnNewButton);

        JButton btnNewButton_1 = new JButton("New button");
        panel.add(btnNewButton_1);

        JButton btnNewButton_2 = new JButton("New button");
        panel.add(btnNewButton_2);


        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    }

}
4

4 に答える 4

3

4 つのボタンを最初の行に配置し、5 つ目のボタンを 2 番目の行に配置する必要があります。

于 2013-04-18T13:57:57.693 に答える
1

コンポーネントがラップされない BoxLayout を使用しています (API ドキュメントを確認してください: http://docs.oracle.com/javase/6/docs/api/javax/swing/BoxLayout.html )

サイズについては、 panel.setMinimumSize(Dimension d) を使ってみてください

于 2013-04-18T13:58:09.123 に答える