gpt4 book ai didi

java - 如何在中间java中对齐按钮

转载 作者:行者123 更新时间:2023-12-01 10:21:57 24 4
gpt4 key购买 nike

我是Java的初学者,但不知何故有一点知识但仍然超出。我想问,如何对齐我刚刚创建的主菜单中的按钮。这些按钮以某种方式水平对齐。

这是我的代码:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;



class mainmenu extends JFrame
{


JButton b1;
JLabel l1;
JButton b2;

public mainmenu() {


setResizable(false);
setLocation(100, 100);
setSize(500, 500);
setVisible(true);

setLayout(new BorderLayout());

JLabel background=new JLabel(new ImageIcon("C:\\Users\\Master Boat\\Desktop\\PH\\BG HOROR.png"));

add(background);

background.setLayout(new FlowLayout());

l1=new JLabel("Here is a button");
b1=new JButton("I am a button");
b2=new JButton(" EXIT! ");
b1.addActionListener(new btnFunc());


background.add(l1);
background.add(b1);
background.add(b2);
}

public void armaged() {
add(new gamesamplingbeta());

}

public static void main(String args[])
{
new mainmenu();
}
public class btnFunc implements ActionListener {

public void actionPerformed (ActionEvent e) {


}


}

public class btnFunc2 implements ActionListener {

public void actionPerformed2 (ActionEvent e) {

System.exit(1);
}
}
}

最佳答案

您应该看看Swing Layouts大量不同的布局管理器允许您以多种不同的方式定位组件。

我认为您应该使用 Box Layout 来回答这个问题。如果您希望按钮垂直居中。

这是一个示例。

import javax.swing.*;
import java.awt.*;

public class MainFrame
{
JFrame mainFrame = new JFrame("Main Frame");
JPanel mainPanel = new JPanel();
JLabel label1 = new JLabel("Vertical Buttons");
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");

public MainFrame()
{
label1.setAlignmentX(Component.CENTER_ALIGNMENT);
button1.setAlignmentX(Component.CENTER_ALIGNMENT);
button2.setAlignmentX(Component.CENTER_ALIGNMENT);

mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
mainPanel.add(label1);
mainPanel.add(button1);
mainPanel.add(button2);
mainFrame.add(mainPanel);
mainFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
mainFrame.setLocationRelativeTo(null);
mainFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
mainFrame.pack();
mainFrame.setVisible(true);
}

public static void main(String[] args)
{
SwingUtilities.invokeLater(MainFrame::new);
}
}

如果您想在任何组件之间添加间距,请使用 Rigid Area像这样

container.add(component);
container.add(Box.createRigidArea(new Dimension(100, 100));
container.add(component1);

关于java - 如何在中间java中对齐按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35537615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com