使用滚轮时自动滚动不起作用

时间:2014-03-22 21:26:57

标签: java swing jscrollpane caret

我正在研究一个小的Swing应用程序,我想在滚动窗格中禁用所有可能的滚动但是自动滚动。我的代码如下:

private void removeScrollBar(JScrollPane scrollPane){
    scrollPane.setBounds(10, 35, 250, 525);
    scrollPane.setBackground(new Color(1, 0, 0, 0));
    scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(0, 0));
    scrollPane.getViewport().setBorder(null);
    scrollPane.setViewportBorder(null);
    scrollPane.setBorder(null);
    scrollPane.setWheelScrollingEnabled(false);
}

基本上当我在光标位于scrollPane上方时滚动时,它会禁用自动滚动,这由JTextArea Caret处理。代码如下:

((DefaultCaret) textArea.getCaret()).setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

  

基本上当我在光标位于scrollPane上方时滚动时,它会禁用自动滚动,这由JTextArea Caret处理。

不确定,但也许您可以使用Smart Scrolling

当滚动条不在滚动窗格底部时,它会禁用自动滚动。