Java 设置按钮的大小和位置

Java 设置按钮的大小和位置,java,swing,Java,Swing,有两个按钮 left = new JButton("prev"); right = new JButton("next"); 我像这样将它们添加到jframe mainframe.add(left,BorderLayout.WEST); mainframe.add(right,BorderLayout.EAST); 但是这里的高度和主机的高度一样。如何设置自己的宽度和高度 以及如何确定他们的位置(不仅在北部、西部、东部、南部) 如何设置自己的宽度和高度 不要这

有两个按钮

    left = new JButton("prev");
    right = new JButton("next");
我像这样将它们添加到jframe

    mainframe.add(left,BorderLayout.WEST);
    mainframe.add(right,BorderLayout.EAST);
但是这里的高度和主机的高度一样。如何设置自己的宽度和高度

以及如何确定他们的位置(不仅在北部、西部、东部、南部)

如何设置自己的宽度和高度

不要这样做,只需使用
JPanel
NORTH
SOUTH
约束大小,该面板本身添加到外部(父)布局的
EAST
WEST

很像这样:

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

class BorderGUI {

    BorderGUI() {
        JPanel gui = new JPanel(new BorderLayout(2,2));

        JPanel westConstrain = new JPanel(new BorderLayout(2,2));
        // LINE_START will be WEST for l-r languages, otherwise EAST
        gui.add(westConstrain, BorderLayout.LINE_START);

        JPanel westControls = new JPanel(new GridLayout(0,1,2,2));
        for (int ii=1; ii<3; ii++) {
            westControls.add( new JButton("" + ii) );
        }
        westConstrain.add(westControls, BorderLayout.PAGE_START);

        JPanel eastConstrain = new JPanel(new BorderLayout(2,2));
        gui.add(eastConstrain, BorderLayout.LINE_END);

        JPanel eastControls = new JPanel(new GridLayout(0,1,2,2));
        for (int ii=1; ii<4; ii++) {
            eastControls.add( new JButton("" + ii) );
        }
        // show at the bottom
        eastConstrain.add(eastControls, BorderLayout.PAGE_END);

        gui.add( new JScrollPane(new JTextArea(6,10)), BorderLayout.CENTER );

        JOptionPane.showMessageDialog(null, gui);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new BorderGUI();
            }
        });
    }
}

import java.awt.*;
导入javax.swing.*;
类边界GUI{
BorderGUI(){
JPanel gui=新JPanel(新边界布局(2,2));
JPanel WestConstraint=新JPanel(新边界布局(2,2));
//l-r语言的线路起点为西,否则为东
添加(WestConstraint,BorderLayout.LINE_START);
JPanel westControls=新JPanel(新网格布局(0,1,2,2));
对于(int ii=1;ii
如何设置自己的宽度和高度

不要这样做,只需使用
JPanel
NORTH
SOUTH
约束大小,该面板本身添加到外部(父)布局的
EAST
WEST

很像这样:

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

class BorderGUI {

    BorderGUI() {
        JPanel gui = new JPanel(new BorderLayout(2,2));

        JPanel westConstrain = new JPanel(new BorderLayout(2,2));
        // LINE_START will be WEST for l-r languages, otherwise EAST
        gui.add(westConstrain, BorderLayout.LINE_START);

        JPanel westControls = new JPanel(new GridLayout(0,1,2,2));
        for (int ii=1; ii<3; ii++) {
            westControls.add( new JButton("" + ii) );
        }
        westConstrain.add(westControls, BorderLayout.PAGE_START);

        JPanel eastConstrain = new JPanel(new BorderLayout(2,2));
        gui.add(eastConstrain, BorderLayout.LINE_END);

        JPanel eastControls = new JPanel(new GridLayout(0,1,2,2));
        for (int ii=1; ii<4; ii++) {
            eastControls.add( new JButton("" + ii) );
        }
        // show at the bottom
        eastConstrain.add(eastControls, BorderLayout.PAGE_END);

        gui.add( new JScrollPane(new JTextArea(6,10)), BorderLayout.CENTER );

        JOptionPane.showMessageDialog(null, gui);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new BorderGUI();
            }
        });
    }
}

import java.awt.*;
导入javax.swing.*;
类边界GUI{
BorderGUI(){
JPanel gui=新JPanel(新边界布局(2,2));
JPanel WestConstraint=新JPanel(新边界布局(2,2));
//l-r语言的线路起点为西,否则为东
添加(WestConstraint,BorderLayout.LINE_START);
JPanel westControls=新JPanel(新网格布局(0,1,2,2));
对于(int ii=1;ii,请参见。