JAVA防止按钮放大

JAVA防止按钮放大,java,swing,awt,Java,Swing,Awt,如何防止按钮过大?我使用一个垂直框,第一行有两行→ 第二行中带有多个控件的水平框→ 按钮,但按钮很放大,如何防止这种恼人的行为 我试图设置按钮的最大尺寸,这是可行的,但如何正确计算这个尺寸 对不起,我英语说得不好 例如: import java.awt.Button; import java.awt.Frame; import java.awt.Label; import javax.swing.Box; import javax.swing.BoxLayout; import javax.sw

如何防止按钮过大?我使用一个垂直框,第一行有两行→ 第二行中带有多个控件的水平框→ 按钮,但按钮很放大,如何防止这种恼人的行为

我试图设置按钮的最大尺寸,这是可行的,但如何正确计算这个尺寸

对不起,我英语说得不好

例如:

import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JProgressBar;
import javax.swing.JSpinner;
import javax.swing.SpinnerModel;
import javax.swing.SpinnerNumberModel;

public class TEST{
    public static void main(String[] args){
        Frame mainWindow = new Frame("hello");
        Box vertBox = new Box(BoxLayout.Y_AXIS);
        mainWindow.add(vertBox);

        Box firstLine = new Box(BoxLayout.X_AXIS);
        vertBox.add(firstLine);
        SpinnerModel sm = new SpinnerNumberModel(100, 0, 200, 1);
        for(int i = 0; i < 10; i++){
            firstLine.add(new JSpinner(sm));
            firstLine.add(new Label("Hello"));
        }

        Box secondLine = new Box(BoxLayout.X_AXIS);
        vertBox.add(secondLine);
        secondLine.add(new JProgressBar());
        secondLine.add(new Button("RUN-THIS"));

        mainWindow.pack();
        mainWindow.setVisible(true);
    }
}
import java.awt.Button;
导入java.awt.Frame;
导入java.awt.Label;
导入javax.swing.Box;
导入javax.swing.BoxLayout;
导入javax.swing.JProgressBar;
导入javax.swing.JSpinner;
导入javax.swing.SpinnerModel;
导入javax.swing.SpinnerNumberModel;
公开课考试{
公共静态void main(字符串[]args){
帧主窗口=新帧(“你好”);
长方体顶点长方体=新长方体(长方体布局Y_轴);
主窗口。添加(垂直框);
框第一行=新框(框布局X_轴);
添加(第一行);
喷丝头型号sm=新喷丝头型号(100,0,200,1);
对于(int i=0;i<10;i++){
添加(新的JSpinner(sm));
添加(新标签(“Hello”);
}
第二行框=新框(框布局X_轴);
添加(第二行);
add(新的JProgressBar());
添加(新按钮(“运行此”));
mainWindow.pack();
mainWindow.setVisible(true);
}
}
按钮,但按钮很放大,如何防止这种恼人的行为

不要在Swing应用程序中使用AWT组件

回转组件以“J”开头。您应该使用JFrame、JLabel和JButton。这会解决你的问题。JButton将自动计算与首选尺寸相等的最大尺寸,BoxLayout将遵守这一点


此外,类名应仅以单个大写字符开头。“测试”应该是“测试”

你想给我们看一些代码吗?旁注:嘿,你使用大写字母I,你的英语比网上的一些人说得好。版面管理器(类扩展版面管理器)负责设置添加到容器中的所有组件(本例中的按钮)的大小和位置。每个LayoutManager专业化都有自己的实现方法。例如,GridLayout会将容器中的可用空间平均分配给组件,并相应地拉伸或收缩它们。其他布局管理器(如FlowLayout)不会更改组件大小。但是正如@Charlie刚才所说的,如果没有看到您的代码,就很难确定。看到您所有的导入,是不是
import java.awt.*;导入javax.swing.*好多了?都是NetBeans,我还没有正确配置它。谢谢,当我用Swing替换AWT组件时,这个问题就消失了。