实现文本区文本自动显示到最后一行:
JTextArea jta = new JTextArea(5,10);
jta .selectAll();
jta .setCaretPosition(textPane.getSelectedText().length());
jta .requestFocus();
下面是一个参考示例:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Demo extends JFrame {
JTextPane textPane = new JTextPane();
JTextArea ja = new JTextArea();
public Demo() {
super("JTextPane Demo");
getContentPane().setLayout(new BorderLayout());
final JButton buttonHome = new JButton("Go to Home");
final JButton buttonEnd = new JButton("Go to End");
ActionListener positionHandler = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttonHome) {
textPane.setCaretPosition(0);
textPane.requestFocus();
} else if (e.getSource() == buttonEnd) {
textPane.selectAll();
textPane.setCaretPosition(textPane.getSelectedText()
.length());
textPane.requestFocus();
}
}
};
buttonHome.addActionListener(positionHandler);
buttonEnd.addActionListener(positionHandler);
JPanel paneNorth = new JPanel();
JPanel paneSouth = new JPanel();
paneSouth.add(buttonHome);
paneSouth.add(buttonEnd);
getContentPane().add(paneSouth, BorderLayout.SOUTH);
paneNorth.setLayout(new BorderLayout());
paneNorth.add(new JScrollPane(textPane), BorderLayout.CENTER);
getContentPane().add(paneNorth, BorderLayout.CENTER);
setSize(300, 400);
show();
}
public static void main(String[] args) {
Demo app = new Demo();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Java学习笔记之JTextArea自动滚动到最后一行
实现文本区文本自动显示到最后一行的示例代码
最新推荐文章于 2025-03-31 00:33:53 发布
本文提供了一个简单的Java程序示例,展示了如何使用JTextPane和JTextArea组件将文本自动滚动到最后一行。通过按钮操作可以实现光标快速定位到文本的开头或末尾。
1128

被折叠的 条评论
为什么被折叠?



