У меня есть панель с кучей меток, посредине рамки. Некоторые из ярлыков внутри не видны внутри панели, причиной их расположения.Как определить, можно ли увидеть компонент?
Вот представление, чтобы увидеть, что лучше (синяя граница панели, зеленые коробки внутри него находятся метки, которые видны, в то время как красный не являются)
Этикетки инстанцируются внутри для цикла, как это ...
for(int x = 0 ; x < 8 < x++){
for(int y = 0; y < 11 < y++){
Cell block = new Cell(); //Cell is a class that extends jlabel
//code for setting block location here
blockArray[x][y] = block;
blockArray[x][y].setVisible(true);
this.add(blockArray[x][y]);
}
}
Как я могу определить, если метки (в моем представлении) либо зеленый или красный? Потому что моя цель - установить зеленые на setVisible (true), а красные - на setVisible (false).
Я попытался с помощью isShowing и isDisplayable, но оба возвращает ложь для всех, заменив строку (логическое) SetVisible с чем-то вроде этого ...
if(block[x][y].isShowing()) block[x][y].setVisible(true);
else{block[x][y].setVisible(false)}
Клетка объектов имеет SetVisible (ложь) внутри его конструктор, уверен, что это не влияет на мою цель, поскольку я установил их в true после их создания, но я мог ошибаться.
Так что, если я правильно понимаю, красные не видны на экране (человеческим глазом)? – kukis
да, вы правы – user3921890