gpt4 book ai didi

java - 如何阻止 wordwrapped-JTextArea 调整大小以适应大内容?

转载 作者:搜寻专家 更新时间:2023-11-01 01:19:24 25 4
gpt4 key购买 nike

我目前有一个 wordwrapped-JTextArea 作为聊天程序的用户输入窗口。如何使 JTextArea 不调整大小以自动适应大文本?我已经将 JTextArea 设置为 2 行:

user_input = new JTextArea();
user_input.addAncestorListener(new RequestFocusListener());
user_input.setRows(2);
user_input.setLineWrap(true);
user_input.setWrapStyleWord(true);

最佳答案

您应该将JTextArea 放在JScrollPane 中。这将使您的行大小保持不变,并具有允许用户导航输入的额外好处。如果需要,您可以将滚动 Pane 设置为从不显示。您仍然可以依靠 JTextArea 组件来计算行的高度,然后计算组件的首选高度。

调用 setRows 用于指示显示器上可见的行数是一个与 JScrollPane 一起使用的属性,如 JTextArea JavaDoc 中所述:

java.awt.TextArea has two properties rows* and columns that are used to determine the preferred size. JTextArea uses these properties to indicate the preferred size of the viewport when placed inside a JScrollPane to match the functionality provided by java.awt.TextArea. JTextArea has a preferred size of what is needed to display all of the text, so that it functions properly inside of a JScrollPane.

*我的重点

关于java - 如何阻止 wordwrapped-JTextArea 调整大小以适应大内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4045357/

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