Libraryless. Click here for Pure Java version (9473L/52K).
// Don't call add/remove directly - use addComponent/removeComponent static abstract class DynamicStack extends JPanel { settable int spacing = 10; bool useFiller; *() { this(true); } *(bool useFiller) { super(new GridBagLayout); this.useFiller = useFiller; _addFiller(); } abstract GridBagConstraints _componentConstraints(); abstract GridBagConstraints _fillerConstraints(); void _addFiller { if (useFiller) add(jrigid(), _fillerConstraints()); } void addComponent(final Component c) { addComponents(ll(c)); } void addComponents(Cl<? extends Component> l) swing { fOr (Component c : l) if (c.getParent() != this) add(c, _componentConstraints(), getComponentCount()-(useFiller ? 1 : 0)); revalidate(); } void setComponents(Cl<? extends Component> l) { removeAll(); _addFiller(); addComponents(l); } void clearComponents() { setComponents(null); } void removeComponent(Component c) swing { if (c != null) { remove(c); revalidate(); } } int numComponents() { ret countComponents()-1; } L<Component> components() { ret dropLast(main getComponents(this)); } bool isEmpty() { ret numComponents() == 0; } }
Began life as a copy of #1015034
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1015164 | 
| Snippet name: | DynamicStack - base class of DynamicHStack/DynamicVStack | 
| Eternal ID of this version: | #1015164/15 | 
| Text MD5: | 1c73c0e7c5e66bbe063601cccd5e96a1 | 
| Transpilation MD5: | 880f75f3d3762ce5ce70e5c94a6fbd49 | 
| Author: | stefan | 
| Category: | javax / gui | 
| Type: | JavaX fragment (include) | 
| Public (visible to everyone): | Yes | 
| Archived (hidden from active list): | No | 
| Created/modified: | 2022-10-26 16:41:50 | 
| Source code size: | 1312 bytes / 55 lines | 
| Pitched / IR pitched: | No / No | 
| Views / Downloads: | 737 / 1460 | 
| Version history: | 14 change(s) | 
| Referenced in: | #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |