【发布时间】:2023-03-07 17:43:01
【问题描述】:
我有一个 JPanel,其中包含一个 JScrollPane,该 JScrollPane 包含一个 JPanel:
masterPanel.add(buttonPanel, BorderLayout.NORTH);
inner.setLayout(new BorderLayout());
inner.add(infoPanel, BorderLayout.NORTH);
inner.add(writingPanel, BorderLayout.CENTER);
beholder = new JScrollPane(inner);
masterPanel.add(beholder, BorderLayout.CENTER);
我希望 beholder 成为 JScrollPane 以便在滚动 beholder(内部滚动窗格)时始终显示按钮面板。这一切都很好,但问题是旁观者内部的面板不换行。所以我在 infoPanel 中有很长的一行文本,导致了非常长的、不受欢迎的水平滚动。
如果我只是将最后一行更改为添加 inner 而不是 beholder,它可以正常工作(正确换行),但是当用户向下滚动时,按钮面板不会停留在顶部。
我完全被困住了。基本上我的问题是如何让 JScrollPane 内的面板正常自动换行。
问题在于水平环绕。即使我将 beholder.setPreferredSize() 设置为非常低的 x 和 y 维度,它也会完全忽略 x 维度,即使它似乎正常服从 y 维度。
【问题讨论】:
-
您使用什么组件在信息面板中显示文本?
标签: java swing scroll jpanel jscrollpane