我有一個帶JScrollPane(根據需要帶有垂直滾動條)的簡單JPanel。事物被添加到(或從JPanel中移除),當它超出面板的底部時,我想讓JScrollPane根據需要自動向下滾動到底部,或者在面板上有部分組件離開時向上滾動。我該怎麼做?我猜我需要某種類型的監聽程序,只要JPanel高度發生變化就會被調用?還是有像JScrollPanel.setutoScroll(true)這樣簡單的東西?如何在Java swing中自動滾動到底部
4
A
回答
5
當您爲面板添加/刪除組件時,應在面板上調用revalidate()以確保組件佈置正確。
然後,如果你想滾動至底部,那麼你應該能夠使用:
JScrollBar sb = scrollPane.getVerticalScrollBar();
sb.setValue(sb.getMaximum());
11
scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
});
1
發現這個是我向上或向下滾動自動一路:
/**
* Scrolls a {@code scrollPane} all the way up or down.
*
* @param scrollPane the scrollPane that we want to scroll up or down
* @param direction we scroll up if this is {@link ScrollDirection#UP}, or down if it's {@link ScrollDirection#DOWN}
*/
public static void scroll(JScrollPane scrollPane, ScrollDirection direction) {
JScrollBar verticalBar = scrollPane.getVerticalScrollBar();
// If we want to scroll to the top set this value to the minimum, else to the maximum
int topOrBottom = direction.equals(ScrollDirection.UP) ? verticalBar.getMinimum() : verticalBar.getMaximum();
AdjustmentListener scroller = new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
Adjustable adjustable = e.getAdjustable();
adjustable.setValue(topOrBottom);
// We have to remove the listener since otherwise the user would be unable to scroll afterwards
verticalBar.removeAdjustmentListener(this);
}
};
verticalBar.addAdjustmentListener(scroller);
}
public enum ScrollDirection {
UP, DOWN
}
相關問題
- 1. JTable在Java中自動滾動到底部
- 2. 自動滾動到底部gridview asp.net
- 3. 自動滾動到頁面底部
- 4. textarea自動滾動到底部
- 5. JScrollPane - 自動滾動到底部?
- 6. 自動滾動面板到底部
- 7. ASP.NET頁面自動滾動到底部
- 8. 自動滾動到div的底部
- 9. iframe自動滾動到底部
- 10. 如何使tableView自動滾動到頂部/底部?
- 11. 如何在顯示前頁面時自動滾動到底部
- 12. 如何使動態內容的div自動滾動到底部?
- 13. 在jquery中滾動到頂部並滾動到底部
- 14. GTK滾動窗口 - 滾動到底部
- 15. 使用微調滾動條自動滾動到div的底部
- 16. 滾動查看不滾動到底部
- 17. 嵌套滾動視圖自動滾動到底部
- 18. 自動滾動到底部然後滾動操作
- 19. 如何讓vim在底部移動光標時自動滾動?
- 20. 當自動溢出自動滾動到底部
- 21. 如何自動滾動到列表視圖的底部?
- 22. 如何自動滾動到文本文件窗口的底部?
- 23. 如何將列表框自動滾動到底部wpf c#?
- 24. 如何有一個div滾動到底部自動
- 25. Android如何自動滾動列表視圖到底部
- 26. 如何自動滾動到DevExpress.Web.ASPxHtmlEditor控件的底部?
- 27. 如何使ScrollView自動滾動到底部?
- 28. 如何讓JavaFX ScrollPane自動滾動到底部?
- 29. 滾動到網頁底部
- 30. 當滾動條底部滾動到底部
這個唯一的問題是,你不能手動調節滾動條。 – ComputerEngineer88 2017-10-17 14:18:14