Java 调整BoxLayout中的JButtons大小
我正在尝试为我的游戏制作一个简单的菜单。我在中间有4个按钮,我想把它们弄大一点,放在中间 最后一部分工作正常,但我似乎无法调用任何Java 调整BoxLayout中的JButtons大小,java,swing,jbutton,boxlayout,Java,Swing,Jbutton,Boxlayout,我正在尝试为我的游戏制作一个简单的菜单。我在中间有4个按钮,我想把它们弄大一点,放在中间 最后一部分工作正常,但我似乎无法调用任何JButtons并对其执行.setSize/.setPreferedSize(new Dimension()) public class mainMenu extends JFrame { private JButton start, highscore, help, stoppen; public mainMenu() { super("Master M
JButtons
并对其执行.setSize
/.setPreferedSize(new Dimension())
public class mainMenu extends JFrame {
private JButton start, highscore, help, stoppen;
public mainMenu() {
super("Master Mind");
maakComponenten();
maakLayout();
toonFrame();
}
private void maakComponenten() {
start = new JButton("Start");
start.setBackground(Color.gray);
highscore = new JButton("Higscores");
help = new JButton("Help");
stoppen = new JButton("Stoppen");
}
private void maakLayout() {
JPanel hoofdmenu = new JPanel();
hoofdmenu.setLayout(new BoxLayout(hoofdmenu, BoxLayout.Y_AXIS ));
hoofdmenu.add(start);
start.setAlignmentX(CENTER_ALIGNMENT);
hoofdmenu.add(highscore);
highscore.setAlignmentX(CENTER_ALIGNMENT);
hoofdmenu.add(help);
help.setAlignmentX(CENTER_ALIGNMENT);
hoofdmenu.add(stoppen);
stoppen.setAlignmentX(CENTER_ALIGNMENT);
super.add(hoofdmenu);
}
private void toonFrame() {
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setVisible(true);
setSize(500,500);
}
public static void main(String[] args) {
new mainMenu();
}
}
问题是JFrames默认使用BorderLayout,这意味着您的JPanel将自然地填充空间 在添加JPanel之前,调用以下代码将JFrame的布局更改为null,并改用JPanel的设置
this.setLayout(null);
JPanel hoofdmenu = new JPanel();
hoofdmenu.setBounds(0,0, 400, 100);
或者,您可以设置JButtons的最大大小
Dimension maxSize = new Dimension(100, 100);
start.setMaximumSize(maxSize);
highscore.setMaximumSize(maxSize);
help.setMaximumSize(maxSize);
stoppen.setMaximumSize(maxSize);
例如,要更改“开始”按钮的大小 更改:
start1 = new JButton("Start");
到
这是前两篇文章后面的另一个例子——我正在制作一个音板程序,这实际上是它的一个样本——实际上需要JPanel,同意第二篇文章
JFrame frame = new JFrame();
JPanel menuPanel = new JPanel();
JButton Button1 = new JButton("<BUTTON NAME 1>");
Button1.setSize(80, 30);
Button1.setLocation(4, 4);
JButton Button2 = new JButton("<BUTTON NAME 2>");
Button2.setSize(80, 30);
Button2.setLocation(90, 4);
JFrame=newjframe();
JPanel menuPanel=新的JPanel();
JButton Button1=新JButton(“”);
按钮1.设置尺寸(80,30);
按钮1.设置位置(4,4);
JButton Button2=新JButton(“”);
按钮2.设置尺寸(80,30);
按钮2.设置位置(90,4);
啊,还有一件事——您在与第二段代码不同的块中创建了按钮。这样做会导致其他块看不到它。您需要在块外部声明它们,以便所有块都可以看到它们
JFrame frame = new JFrame();
JPanel menuPanel = new JPanel();
JButton Button1 = new JButton("<BUTTON NAME 1>");
Button1.setSize(80, 30);
Button1.setLocation(4, 4);
JButton Button2 = new JButton("<BUTTON NAME 2>");
Button2.setSize(80, 30);
Button2.setLocation(90, 4);