JPanel 左侧的 JTextArea

sam*_*sam 1 java swing jscrollpane jtextarea border-layout

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

add(scrollPane, BorderLayout.WEST);
Run Code Online (Sandbox Code Playgroud)

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

getContentPane().add(splitPane);
Run Code Online (Sandbox Code Playgroud)

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

有谁知道我该如何解决这个问题?

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

谢谢

图片: 在此处输入图片说明

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

Hov*_*els 5

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