7

JScrollPaneと多くJLabelの、またはその他JComponentのが追加されていると想像してください。

特定のコンポーネントがユーザーに表示されている/部分的に表示されている/表示されていないかどうかをどのように確認しますか?(スクロール)

Googleを試しましたが、簡単な解決策が見つかりませんでした。私が見逃している既存の方法はありますか、それとも座標と長方形の比較を処理する必要がありますか?

UPD:私の場合、以下は機能していません。JLabel.setVisible(true / false)に関連しているようですが、JScrollPane内にはありません

JLabel.isVisible();
4

1 に答える 1

14

JComponentjavadocを見てください。

Rectangle r = child.getVisibleRect();
if (r.getSize().equals(child.getSize())) {
   // fully visible
} else if (r.isEmpty()) {
   // not visible
} else {
  // partly visible
}

編集

長方形のAPIを使用するように非表示の条件を変更しました-@mKorbelに思い出させてくれてありがとう:-)

于 2012-11-29T14:32:39.803 に答える