2016-04-20 8 views
0

Ich habe ein Jmenu mit Jmenulist. Ich kann alle Komponenten zugreifen (Jmenulist) des Behälters (JMenu) mitkonvertieren MenuContainer in Container

for (Component c : mnFile.getMenuComponents()) 
    { 
     System.out.println(c.getName()); 
    } 

Ich habe eine andere Funktion, die in übergeordneten Container nimmt (was alle anderen Behälter, darunter JMenu) und rekursiv etwas tut.

for (Component c : cont.getComponents()){ 
/// do something 
} 

Diese Funktion identifiziert die Jmenulist-Elemente nicht, da sie nur von getMenuComponents iteriert werden können. Gibt es eine Möglichkeit, die Objekte zu werfen oder vorher zu wissen, dass die kommende Jmenu-Klasse

Antwort

1

ist. Sie können den Java-Operator instanceof verwenden, um zu testen, ob das Objekt ein JMenu ist.

Object o = some JMenu 

.... 

if (o instanceof JMenu) { 
    JMenu menu = (Jmenu) o; 
    ... 
}