java - 阻止 JTextArea 扩展

标签 java swing jtextarea

我正在尝试从数据文件中读取信息并将其处理到我正在制作的术语项目的 about 文件的 JTextArea 中。问题是,当我执行 scanner.nextLine() 时,它会扩展文本区域以适合文本,而我想要的是保持文本区域的大小相同,并且如果它用完当前行上的空格以开始

    if(event.getSource() == forward)
    {
        text.setText(s.nextLine());
    }

文本区域设置如下:

     text = new JTextArea(11, 30); 

基本上我想知道的是,文本区域是否提供了一种方法(我看过),如果当前已满,则可以将空间重新定位到下一行。如果在文本区域中没有办法编辑数据文件,我很可能只能编辑数据文件。

最佳答案

JTextArea 放入 JScrollPane 中,并将滚动 Pane 添加到容器中

text = new JTextArea(11, 30);
JScrollPane scrollpane = new JScrollPane(text);
//...
add(scrollpane);

参见How to use Scroll Panes了解更多详情

这将阻止滚动 Pane 在当前容器中增长。

另请查看 JTextArea#setLineWrapJTextArea#setWrapStyleWord,它们将影响组件处理超出可视宽度的文本的方式。

参见How to use Text Areas了解更多详情

关于java - 阻止 JTextArea 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19201605/

相关文章:

java - System.identityHashCode() 对象被 GC 后是否可以返回相同的 hashCode

java - 移动物体不会停留在设定的范围内?

java - 无法让 ItemListener 为 JCheckBox 工作

Java SwingWorker : Nothing displays in textarea

java - 从 Map 中的 Value 找到 Key

java - 通过创建一个新数组并确保没有发生内存泄漏来扩展 Java 数组

Java 将未知原始数组转换为对象数组

java - 如何将 if 语句添加到 JOptionPane

java - 在 Java 中右键单击 JTextArea 时显示 JPopupMenu?

java - 如何使用循环清除 jframe 的所有文本字段?