【问题标题】:How to set a line border around JTextArea?如何在 JTextArea 周围设置线条边框?
【发布时间】:2020-04-21 14:09:43
【问题描述】:

我的面板中有一个JTextArea,但很难将其与背景区分开来。 我试过setBound(),但它并没有真正帮助。 我的 GUI 截图

(textarea 紧挨着 '描述')

除了改变背景颜色之外,有没有什么办法可以在它周围有一个明确的界限?假设有一个像JTextField 那样绑定的行(我在我的 GUI 中的“费用”旁边放了一个)。

【问题讨论】:

  • 你可能想设置边框。设置界限与此无关。如需更多帮助,请发帖minimal reproducible example
  • 至少有两种方法可以在文本区域周围画一条线。 1) 将其放入JSCrollPane 2) 添加LineBorder
  • 参见How To Use Borders 如前所述,LineBorder 可能是最简单的,可以满足您的需求。
  • 确保你把它放在 JScrollPane 中
  • 忘了提一下:GUI 看起来像是在使用GridLayout,这导致所有组件(以及标签)的大小相同。由于大部分标签空间是不可见的,因此对它们没有什么影响,但它会破坏文本字段和组合框的外观,使它们异常大。请改用“GridBagLayout”。它只会为组件分配所需的空间(使用标准GridBagConstraints)。

标签: java swing jtextarea


【解决方案1】:

感谢评论区的小伙伴们!我将 textarea 放入 JScrollpane 中。它确实创建了一个边框:

using JScrollPane

然后我还加了一个线边框,让它更清晰。

des.setBorder(BorderFactory.createLineBorder(Color.BLACK));

再次感谢 Andrew Thompson,关于使用 GridBagLayout 的建议确实让一切看起来更好。

Using GridBagLayout

【讨论】:

  • 非常适合采纳建议并加以实施。恭喜您找到解决方案。
猜你喜欢
  • 2017-02-17
  • 1970-01-01
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 2013-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多