gpt4 book ai didi

java - 设置 JTextArea 的固定宽度,高度应根据其内容自动调整

转载 作者:搜寻专家 更新时间:2023-10-31 19:57:12 57 4
gpt4 key购买 nike

当我运行下面的示例代码时,JTextArea 的宽度是固定的 (100px),而当我在其中键入一些文本时,它的高度会动态调整。

例如,我从这个开始:

--------------------
| some text |
--------------------

当我键入更多文本时,JTextArea 的高度会扩展,以便在保持宽度的同时适合内容:

--------------------
| some text, some |
| other longer text|
| etc... |
--------------------

如何将 JTextArea 的宽度加倍?当我通过更改 preferredSize 时,高度不再是动态的。

public class TestTextArea extends JFrame {

public static void main(String[] args) {
new TestTextArea().setVisible(true);
}

public TestTextArea() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(0,0,800,600);
setContentPane(createPane());
}

protected Container createPane() {
JTextArea textArea = createTextArea();

// ------------------------------------------
// UNCOMMENT TO DOUBLE THE WIDTH OF JTextArea

// Dimension oldPrefSize = textArea.getPreferredSize();
// Dimension newPrefSize = new Dimension(oldPrefSize.width * 2, oldPrefSize.height);
// textArea.setPreferredSize(newPrefSize);

JPanel pane = new JPanel(new FlowLayout());
pane.add(textArea);
return pane;
}

protected JTextArea createTextArea() {
JTextArea textArea = new JTextArea();
textArea.setWrapStyleWord(true);
textArea.setLineWrap(true);
return textArea;
}

}

最佳答案

使用 JTextArea#setColumns调整宽度的方法

关于java - 设置 JTextArea 的固定宽度,高度应根据其内容自动调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11018845/

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