java - Swing 架设置尺寸

标签 java swing jframe

我在 Swing 中创建了一个简单的用户界面,但 setSize 命令似乎不起作用。谁能告诉我问题出在哪里?

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

public class UserInterface1 {

    private JTextField outputArea = new JTextField();
    private JTextField errorReportArea = new JTextField();
    private JPanel inputPanel = new JPanel();

    public UserInterface1() {
        JFrame frame = new JFrame("Fuel Station");
        frame.setSize(500, 500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        outputArea.setEditable(false);
        errorReportArea.setEditable(false);

        Container contentPane = frame.getContentPane();
        contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
        contentPane.add(outputArea);
        contentPane.add(errorReportArea);
        contentPane.add(inputPanel);

        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        UserInterface1 test = new UserInterface1();
    }

}

最佳答案

Swing Frame setSize

对此的正确答案是不要那样做!

即使我们知道框架内容的大小必须是(例如)500x500 像素,我们也不应该猜测框架的大小,这会因平台而异。

pack() 知道框架有多大。我们没有,所以我们应该使用它。

  • 可以使用字体大小和列数指定文本字段的大小。
  • inputPanel 的正确大小可以根据其中的内容确定。

关于java - Swing 架设置尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26534927/

相关文章:

java - 垂直对齐的组件在运行时一起移动

Java Swing - 如何使用泛型在 Swing 组件上创建实用程序类

java - 分布式数据聚合、查询、过滤 : any alternative frameworks to Hadoop/Mapreduce?(MR太慢)

java - Runnable 或 Executor 服务

java - JFrame 中的矩形创建无缘无故地右移

java - 如何设置对象在JFrame 中的位置?

java - Jtable 的 setcelleditor 组合框不起作用

java - 在 Java 中移动 JLabel

java - 如何将渲染器设置为 jtable 上的复选框?

java - 在 GridBagLayout 中展开 JTextArea