Nik*_*sov 5 java swing visibility jcomponent jscrollpane
想象一下,你有一个JScrollPane或多个JLabels或任何其他JComponents添加到它.
您如何检查某个组件是否可见/部分可见/用户不可见?(滚动)
我试过谷歌,但找不到一个简单的解决方案.是否有一些现有的方法我缺少或我们必须处理坐标和矩形比较?
UPD:以下内容不适用于我的情况.它似乎与JLabel.setVisible(true/false)有关,但不在JScrollPane中
JLabel.isVisible();
Run Code Online (Sandbox Code Playgroud)
kle*_*tra 12
看看JComponent java doc:
Rectangle r = child.getVisibleRect();
if (r.getSize().equals(child.getSize() {
// fully visible
} else if (r.isEmpty()) {
// not visible
} else {
// partly visible
}
Run Code Online (Sandbox Code Playgroud)
编辑
改变了不可见的条件使用Rectangle api - 感谢@mKorbel提醒我:-)