1

我有一个 Groovy 应用程序,它使用通过 swing builder 构建的 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 在添加内容时自动向下滚动。但是视图仍然固定在顶部,我只能通过拖动鼠标看到底部(一旦屏幕已满)。

我可以解决这个问题吗?我一直在寻找这个问题的答案一段时间,但一无所获。抱歉,如果这是一个简单的答案。

4

1 回答 1

2

以下行应将您的 textarea 滚动到最后一个文本位置:

rect = screenZX.modelToView(screenZX.getDocument().getLength() - 1);
screenZX.scrollRectToVisible(rect);
于 2012-06-06T20:35:41.253 回答