gpt4 book ai didi

java - JTextArea - 非常小的尺寸和长文本

转载 作者:行者123 更新时间:2023-11-29 07:23:20 26 4
gpt4 key购买 nike

我正在使用 JTextArea 来显示长文本

JTextArea _definition = new JTextArea(5, 50);

自动换行

_definition.setLineWrap(true);
_definition.setWrapStyleWord(true);

嵌入在 JScrollPane 中

add(new JScrollPane(_definition), gbc);

所有这些都是带有 GridBagLayout 的 JPanel 的一部分。

对于较短的文本一切都很好,但是当我添加带有换行的长文本并且需要滚动条时,pack() 向南移动并且所有组件只有最小尺寸并且对话框不可用(它不仅是受影响的文本区域)。

我试图弄清楚发生了什么,但我所能弄清楚的是,这与 TextArea 中的文本有关。我卡住了..有什么想法吗?谢谢!

最佳答案

尝试调用 pack() 两次。 JTextArea 有一些奇怪的行为 as described in this entry in the Java bug database .它最初将其首选大小报告为非常宽的单行条目(例如,一行,一千列)。一旦它意识到它是某个宽度,它就会报告它需要的行数的正确首选大小。

我不得不做很多不同的事情来解决这个问题,包括子类化 JTextArea 并修改它的行为以使其更智能。在这种情况下,Double pack() 可能适合您,或者您可能不得不求助于更复杂的调整,具体取决于布局中的所有内容如何组合在一起。

关于java - JTextArea - 非常小的尺寸和长文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/455753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com