簡體   English   中英

如何在中間的Java中對齊按鈕

[英]how to align buttons in the middle java

我是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,了解一堆不同的布局管理器,這些管理器允許您以多種不同的方式放置組件。

如果您希望按鈕垂直居中,我相信您應該使用的是“ 框式布局”

這是一個例子。

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);
    }
}

如果要在任何組件之間增加間距,請使用“ 剛性區域”

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM