我有一个Groovy应用程序,它使用通过swing生成器构建的scrollPane:
BinsicWindow(def controller)
{
controlObject = controller
swinger = new SwingBuilder()
mainFrame = swinger.frame(
title: "Binsic is not Sinclair Instruction Code",
size:[640, 480],
show:true,
defaultCloseOperation: WindowConstants.DISPOSE_ON_CLOSE){
scrollPane(autoscrolls:true) {
screenZX = textArea(rows:24, columns:32) {visble:true}
}
screenZX.setFont(new Font("Monospaced", Font.PLAIN, 18))
}
}
我以编程方式(即无用户输入)将文本添加到textArea,并且我希望textArea在添加内容时自动向下滚动。但是视图仍然固定在顶部,并且只能通过拖动鼠标才能看到底部(一旦屏幕已满)。
我可以解决这个问题吗?我一直在寻找这个问题的答案,现在已经一无所获。抱歉,这是一个简单的答案。
最佳答案
以下几行应将您的文本区域滚动到最后一个文本位置:
rect = screenZX.modelToView(screenZX.getDocument().getLength() - 1);
screenZX.scrollRectToVisible(rect);