java - 以与其他组件相同的方式声明 BoxLayout

标签 java swing boxlayout

你好,我正在尝试以与声明 BorderLayout 相同的方式声明 BoxLayout

声明borderlayout的方式

JPanel textFiled = new JPanel(new BorderLayout());
    textFiled.add(enterText,BorderLayout.CENTER);

但它不能与 BoxLayout 一起使用,因为它适用于一个组件和宽度,我看了一些教程,其中一些声明了一种方法,但我不想这样做,所以我尝试将它放在其他 JPanel 中,但没有任何反应

JPanel t = new JPanel();
        t.add(startTime);
        t.add(endTime);

        JPanel timing = new JPanel(new BoxLayout(t, BoxLayout.PAGE_AXIS));

如果我将宽度设置为 50 会发生什么以及我的选择

最佳答案

您无法在一条语句中创建面板并设置 BoxLayout(就像对 BorderLayout 所做的那样)。您需要使用两个语句,因为 BoxLayout 需要对要用作 BoxLayout 的面板的引用。

1) 阅读 Swing 教程中 How to Use Box Layout 的部分。它将向您展示如何使用 BoxLayout 创建面板以及如何向面板添加组件。

2) 或者,您可以查看 Box 类。它是一个方便的类,允许您在单个语句中使用 BoxLayout 创建容器。

Box timing = new Box(...);
timing.add( t );

查看本教程的目录,因为它包含许多有关基本 Swing 功能的教程。

关于java - 以与其他组件相同的方式声明 BoxLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21353339/

相关文章:

java - 为数据密集型应用程序的 JVM 提供适当的堆和旧代大小

java - 使用 JFrame Resize 调整 Graphics2D 对象的大小

java - GUI、BoxLayout 添加面板

Java setBounds() 方法 (JFrame)

java - 如何使用aspectJ使我的JLabels变成红色?

java - Grahpics2D Draw 和 JPanel 重绘的并发问题

java - GUI 框布局 Y 轴未内联

java - setMinimumSize() 不适用于 JButton

java - 继承类分数/整数

java - 当 setResizeable(false) 时,循环中创建的 Frame 和 Canvas 变得大于指定值