我可能需要创建自己的JScrollPane
子类。我查看了JScrollPane
和ScrollPaneLayout
来源,并相信我了解它的工作原理。但是,我无法看到滚动条(如果存在)“连接到”视口的位置。换句话说,我期望看到视口听到滚动条来确定显示的视图坐标,但没有发现任何相关信息。有人会解释和/或指向我这样做的代码吗?
答案 0 :(得分:0)
我想要检查的最后一件事是JScrollPane
上的听众。这样做导致我javax.swing.plaf.basic.BasicScrollPaneUI.Handler
,这是所有“布线”发生的地方。这就是原始问题的答案 - 但它指出了一个不幸的现实:如果我试图按照我的意图将JScrollPane
子类化,那么我似乎不可能在不破坏PLaF的情况下这样做(我目前对PLaF的理解。
修改:我发现此链接有助于理解swing.plaf.*
,虽然它已经过时了:http://www.oracle.com/technetwork/java/architecture-142923.html