gpt4 book ai didi

java - 如何自动调整 JTextArea 中的字体大小以填充分配的所有空间?

转载 作者:行者123 更新时间:2023-12-01 15:20:05 28 4
gpt4 key购买 nike

我不知道要显示多少文本,并且 JTextAreas 大小是固定的。我希望调整字体大小以适合整个 JTextArea,并确保没有文本被截断。

如何实现这一目标?

最佳答案

使用FontMetrics类(class)。它将允许您获取给定字体大小的文本的像素宽度。

使用示例:

Font font = myTextArea.getFont();
FontMetrics fontMetrics = myTextArea.getFontMetrics(font);

int width = fontMetrics.stringWidth("my awesome string");

现在,您要做的就是将上面的代码包装在一个循环中,增加或减少字体大小,直到您的宽度更多或更少 等于myTextArea.getWidth()。完成后,只需使用 myTextArea.setFont(font) 设置字体即可。

另请注意,myTextArea.getWidth() 将返回组件的宽度,包括边框、滚动条等,而不仅仅是渲染文本的区域,因此您必须计算“真实宽度” ' 首先渲染区域的宽度。

关于java - 如何自动调整 JTextArea 中的字体大小以填充分配的所有空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11056346/

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