java - 手动编码 Swing 组件

标签 java swing user-interface

好吧,显然我最近因为使用 NetBeans GUI Builder 变得懒惰了。当我将 JLabel 和 JTextField 添加到我的窗口时,JFrame 不会自行调整大小。我写了一个 SSCCE演示:

package swingdemo;

import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class SwingDemo {

    public static void main(String[] args) {
        JFrame frame = new JFrame("Swing Demo");
        Container contentPane = frame.getContentPane();
        JLabel label = new JLabel("Demo Label");
        JTextField textField = new JTextField();

        contentPane.setLayout(new FlowLayout());
        contentPane.add(label);
        contentPane.add(textField);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

我在这里错过了什么?我知道这很简单。我是否需要在我的 JLabel 和 JTextField 上调用 setPreferredSize()?

最佳答案

在代码末尾调用 frame.pack()

javadoc 说:

“使此窗口的大小适合其子组件的首选大小和布局...”

关于java - 手动编码 Swing 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12064695/

相关文章:

java - 如何改变 "private static final"参数?

java - 如何将 html 字符串转换为 PDF 输入流?

java - Tomcat DBCP 连接不足

java - 从不同于 GUI 的类更新 TextField

java - 如何在Java中的模型类中存储GeoLocation?

等式 5((θ/β) - cos(2πθ/β)) 的 Java Swing GUI

java - 使用 Jsoup 提取和解析 HTML 表格

java - 没有 textArea 的 JFileChooser

java - 桌面应用程序的 Swing 与 JavaFx

java - 是否有开源 java 消息流设计器或类似工具?