package ql.gui.structure;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JComponent;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
import ql.gui.DefaultComponent;
import ql.gui.Component;
public class Panel extends DefaultComponent {
private JPanel panel;
private List<Component> components;
public Panel() {
panel = new JPanel(new MigLayout("hidemode 3"));
components = new ArrayList<Component>();
}
public Panel(Component handler) {
this();
setHandler(handler);
}
protected JPanel getPanel() {
return panel;
}
protected List<Component> getComponents() {
return components;
}
public void addComponent(Component component) {
addComponent(component, "wrap");
}
public void addComponent(Component component, String migSetting) {
components.add(component);
panel.add(component.getComponent(), migSetting);
component.setHandler(this);
component.getComponent().setAlignmentX(java.awt.Component.LEFT_ALIGNMENT);
}
@Override
public void updateComponent() {
for(Component component : components) {
component.updateComponent();
}
panel.revalidate();
panel.repaint();
}
@Override
public JComponent getComponent() {
return panel;
}
}