java - 如何将JTextArea行数的值转换为Dimension height_JAVA

标签 java swing user-interface converters formula

我试图根据 JTextArea 中 getLineCount 函数的返回值在 ScrollPane 中设置高度。 当我在 ScrollPane 的 Dimension 中将值设置为高度时,它真的很小。我添加了 *20 以获得最接近我期望的结果。 然而,使用这个技巧,getLineCount 的数字越大,它的精确度就越低,这意味着 JScrollPane 的高度变得比我希望的要大。

我需要一个公式来在它们之间转换指标。但是,我不知道它们返回/使用的确切指标是什么,除非它们是 int 值。

如果有一个内置库可以转换这两者,它也可能很有用。 网上关于这个问题的帖子似乎不多。有人遇到过这个问题吗?

int height= textArea.getLineCount(); 
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setPreferredSize(new Dimension(1, height* 20));

最佳答案

这有什么意义呢?如果您尝试将滚动 Pane 的大小调整为文本区域的大小,则不需要滚动 Pane 。

不要尝试管理大小。不要尝试使用 setPreferredSize() 方法。

相反,您可以使用 JTextAreasetRows(...) 方法定义要在文本区域中显示的行数,而无需滚动。

这将允许文本区域根据文本区域的行和字体确定其首选大小。滚动 Pane 的大小将自动调整为文本区域的首选大小。

如果添加更多行数据,则会出现滚动条。

关于java - 如何将JTextArea行数的值转换为Dimension height_JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42818942/

相关文章:

java - 没有布局的按钮展开

Java 默认图标集

jQuery UI 可调整大小 - 操作方向

c++ - 将 QTreeWidgetItem 连接到数据库

java - 从 bash 命令行和 OS X 中的脚本中获取运行 SWT 应用程序的不同类路径行为

java - Angelika Langer Enum<E extends Enum<E>> 解码

java - 获取 GWT DialogBox 绝对位置 - onLoad/onAttach/show 没有帮助

java - 如何将计时器放入 GUI 中?

java - redis opsForZSet 错误

python - 如何在不同线程上循环运行另一个进程