gpt4 book ai didi

Java JTextArea 允许滚动超出文本末尾

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:08:07 30 4
gpt4 key购买 nike

Java 的文本区域通常不允许滚动超出文本末尾,但有时允许文本底部位于窗口中间会更舒服。有没有简单的方法可以做到这一点?

最佳答案

如果我没理解错的话,您可以简单地将 JTextArea 的 row 属性设置得足够大,这样文本就不会完全填满它。

例如,

import javax.swing.*;

public class MyLargeTextArea extends JPanel {

private static final int ROWS = 20;
private static final int COLS = 40;
private JTextArea textArea = new JTextArea(ROWS, COLS);

public MyLargeTextArea() {
textArea.setText("This is a small amount of text");

// so lines wrap
textArea.setWrapStyleWord(true);
textArea.setLineWrap(true);

add(new JScrollPane(textArea));
}

private static void createAndShowGui() {
MyLargeTextArea mainPanel = new MyLargeTextArea();

JFrame frame = new JFrame("MyLargeTextArea");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}

永远不要应该做的是设置 JTextArea 的大小、边界或 preferredSize,因为如果添加文本并用超出其范围的文本填充它,这将抑制其所需的行为根据需要扩展当前可视化大小。

关于Java JTextArea 允许滚动超出文本末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679335/

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