Java getComponentCount не может вернуть правильное значение (всегда ноль) - PullRequest
0 голосов
/ 07 ноября 2011

У меня есть Jpanel с GridLayout внутри. Теперь я добавил еще одну Jpanel, которая рисует круг с помощью PaintComponent. Я сейчас пытаюсь получить ComponentCount () панели, но она не работает: s это мой код для отслеживания мыши:

 public void mousePressed(MouseEvent me) {
        int click_x = me.getX();
        int click_y = me.getY();
        int col = click_x/100;
        int row = click_y/100;
        System.out.println("select_C:"+col+" select_Y:"+row);



        System.out.println("COMPONENT COUNT:"+positionPanels[col][row].getComponentCount());

    }

все в порядке, но когда я щелкаю контейнер (JPANEL с gridlayout (1,1)), который на самом деле содержит другой компонент (JPANEL), он возвращает ZERO при подсчете количества компонентов. пожалуйста, смотрите скриншот для получения дополнительной информации, ...

enter image description here

щелчок по красному кружку вернул ноль ... см. Вывод System.out ... на скриншоте, надеюсь, вы, ребята, можете мне помочь.

спасибо

1 Ответ

1 голос
/ 07 ноября 2011

Красный круг, нарисованный в JPanel, не является компонентом.Вам нужно добавить JLabel (например, с красным кружком в виде значка) к JPanel, чтобы он содержал компонент.

Если вы действительно добавили какой-либо компонент в JPanel, то это, вероятно, означает, чтоpositionPanel - это внутренний компонент, а не содержащий его компонент.Не видя код, невозможно сказать.

...