1

我有一个主 gui 类和一个 gui 日志类。gui 日志类扩展了 JPanel 并简单地添加了一个 JTextField,它将用于打印日志语句。我将 JTextfield(在滚动窗格中)添加到面板中

add(scrollPane, BorderLayout.WEST);

然后将该类添加到我的主 gui 类中,该类扩展了 JFrame 并使用了 BorderLayout。首先将面板添加到 JSplitPane(使用 Vertical split),然后使用 SplitPane 添加

getContentPane().add(splitPane);

我的问题是我希望日志面板中的 JTextfield 位于屏幕的最左侧,但是无论我使用什么 BorderLayout 设置(CENTER、EAST、SOUTH ...)它始终保持在中心。

任何人都知道我该如何解决这个问题?

您还知道如何在调整拆分窗格的大小时调整 JTExt 区域的大小吗?

谢谢

图片: 在此处输入图像描述

左边是我得到的,右边是我想要的。

4

1 回答 1

5

底部的 JPanel,包含 JTextArea 的 JPanel 可能使用 JPanel 的默认 FlowLayout,这是一种尝试将添加的组件居中的布局。为了使您的 gui 工作,此 JPanel 必须使用 BorderLayout via setLayout(new BorderLayout(...))(如果您接受默认值,则 ... 为空白,或者具有两个用于布局的水平和垂直间隙的 int 常量)。

于 2012-02-23T21:46:32.050 回答