русский
Germany.ruForen → Архив Досок→ Programmierung

Komponenty na GUI uznat' (Java)

26.07.07 17:56
Re: Komponenty na GUI uznat' (Java)
 
MrSanders прохожий
in Antwort mamma_sita 10.07.07 17:50
Этта... Если честно - то в коде у вас творится страшное :)
Проще, наверное будет мне написать как бы я решил такое, а вы - посмотрите.
import java.awt.Container;
import java.awt.Component;
public class ContainerCrawler {
/**
* Метод, который нужно вызывать. Толком ничего не делает. Выдаёт сообщение в консоль и вызывает приватный метод, который и делает всю работу.
*/
public static void crawl(Container container){
System.out.println("Проверяем контейнер: "+container+"\n--- --- ---");
crawl(container, "");
}
/**
* Метод нужный исключительно для форматирования вывода в консоль. Чем глубже в иерархию контейнеров уходим - тем больше отступ слева.
*/
private static void crawl(Container container, String prefix){
System.out.print(prefix+"Kонтейнер: "+container);
if(container==null || container.getComponentCount() < 1){
System.println(" пуст.");
} else {
System.println(" содержит "+containet.getComponentCount()+" компонент.");
// Контейнер не пуст. Пробегаем по всем его компонентам и печатаем информацию о них. Если компонента тоже контейнер, вызываем метод рекурсивно.
for(Component child : container.getComponents()){
System.out.println(prefix+"--> "+child);
if(child instanceof Container){
// вызываем метод для вложенной компоненты, которая тоже контейнер. Удлиняем отступ слева для форматирования вывода.
crawl((Container) child, prefix+" ");
}
}
}
}
}
 

Sprung zu