sclass DynamicHStack extends JPanel { int spacing = 10; *() { super(new GridBagLayout); _addFiller(); } void _addFiller { add(jrigid(), gridBagConstraints_hstack_rest()); } void addComponent(final Component c) { swing { add(c, gridBagConstraints_hstack_1(spacing), getComponentCount()-1); revalidate(); } } void clearComponents() { removeAll(); _addFiller(); revalidate(); } int numComponents() { ret countComponents()-1; } }