滚动条到达底部后如何启用按钮?
How do I enable a button after the scrollbar goes to the bottom?
因此,我使用了 JScrollPane
,然后添加了 JTextArea
。我使用 textArea.setCaretPosition(0)
重置滚动条,它位于顶部。一切都很好,直到我想在滚动条到达底部时将禁用的按钮设置为启用。
我该怎么做?
您可以监听 JScrollPane 视口的变化,并将视口可见矩形的底部与视口视图(即 JTextArea)的高度进行比较:
JViewport viewport = scrollPane.getViewport();
viewport.addChangeListener(e -> {
Rectangle rect = viewport.getViewRect();
int bottom = rect.y + rect.height;
endButton.setEnabled(bottom >= viewport.getViewSize().height);
});
因此,我使用了 JScrollPane
,然后添加了 JTextArea
。我使用 textArea.setCaretPosition(0)
重置滚动条,它位于顶部。一切都很好,直到我想在滚动条到达底部时将禁用的按钮设置为启用。
我该怎么做?
您可以监听 JScrollPane 视口的变化,并将视口可见矩形的底部与视口视图(即 JTextArea)的高度进行比较:
JViewport viewport = scrollPane.getViewport();
viewport.addChangeListener(e -> {
Rectangle rect = viewport.getViewRect();
int bottom = rect.y + rect.height;
endButton.setEnabled(bottom >= viewport.getViewSize().height);
});