我在里面有自己的自定义控件JScrollPane
。这是无尽的(在各个方向)板,上面有网格。
我尝试了各种方法来实现它,包括扩展JViewport
和添加setViewport
,以及扩展JComponent
和添加setViewportView
。
所有方法都会导致一些无穷无尽和负位置的问题。尽管组件可以在负坐标空间中自由绘制自己,但糟糕的 Swing API 设计不允许将此信息传输到容器(仅允许维度,即正方向)。
最后我得出结论,如果我完全破坏了通知JScrollPane
它的包含大小的通道,它会更新滚动条的最小值和最大值,我将被允许手动设置最小值和最大值,这将解决任务。
所以,这就是问题所在:如何防止自定义组件通知JScrollPane
它的大小?这种预防的简单方法是什么?