package org.codefx.libfx.collection.tree.navigate;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JTextArea;
/**
* Tests {@link JComponentHierarchyNavigator}.
*/
public class JComponentHierarchyNavigatorTest extends AbstractTreeNavigatorTest<JComponent> {
@Override
protected TreeNavigator<JComponent> createNavigator() {
return new JComponentHierarchyNavigator();
}
@Override
protected JComponent createSingletonNode() {
return new JTextArea("A jComponent without parent and children.");
}
@Override
protected JComponent createNodeWithChildren(int nrOfChildren) {
JPanel panel = new JPanel();
for (int childIndex = 0; childIndex < nrOfChildren; childIndex++)
panel.add(new JTextArea("Child #" + childIndex));
return panel;
}
@Override
protected JComponent getChildOfParent(JComponent parent, int childIndex) {
return (JTextArea) ((JPanel) parent).getComponent(childIndex);
}
}