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