Class GridBagLayouter
java.lang.Object
uk.ac.starlink.util.gui.GridBagLayouter
Utility class for laying out UI components using a GridBagLayout
with fixed schemes of various kinds..
See the various schemes (SCHEME[1-]) for what layouts are
supported.
A typical usage pattern is:
GridBagLayouter layouter = new GridBagLayouter( pane, GridBagLayouter.SCHEME3 ); layouter.add( "Label:", false ); layouter.add( new JComponent(), true ); // End of this line ... more components ... layouter.eatSpare(); // End of all components
- Version:
- $Id$
- Author:
- Peter W. Draper
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intSimple row by row layout.static final intSimple row by row layout, but this time with three components, weighted 0.15 to 0 to 0.85, so that most space is kept by right component.static final intSimple row by row layout.static final intSimple row by row layout, as in SCHEME3, but with the occasional component that fills vertically too.static final intSimple row by row layout. -
Constructor Summary
ConstructorsConstructorDescriptionGridBagLayouter(Container container) Create an instance with the default layout scheme (SCHEME1).GridBagLayouter(Container container, int scheme) Create an instance with a given layout scheme. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a control using the current scheme.voidadd(Component component, GridBagConstraints gbc) Add a control using given GridBagContraints.voidAdd a JLabel using the current scheme.voidAdd a JLabel using the current scheme.voideatLine()Eat to end of current line.voideatSpare()Finish adding by "eating" all remaining space (makes components move to top of container).Get the container we're adding to.voidSet the GridBagLayout Insets.
-
Field Details
-
SCHEME1
public static final int SCHEME1Simple row by row layout. Everything packed to the left, labels right justified, no fills. Typical usage:label: [input component] label: [input component] ....
- See Also:
-
SCHEME2
public static final int SCHEME2Simple row by row layout, but this time with three components, weighted 0.15 to 0 to 0.85, so that most space is kept by right component. Typical usage:[minor input component] label [main input component] [minor input component] label [main input component] ....
- See Also:
-
SCHEME3
public static final int SCHEME3Simple row by row layout. Everything packed to the left, labels right justified, last component uses all remaining space. Typical usage:label: [long text input component ] label: [long text input component ] ....
- See Also:
-
SCHEME4
public static final int SCHEME4Simple row by row layout, as in SCHEME3, but with the occasional component that fills vertically too. Typical usage:label: [long text input component ] label: [long text input component ] [text/display area ] [.... ] [.... ] ....
a filled area is indicated by a single item on a line.- See Also:
-
SCHEME5
public static final int SCHEME5Simple row by row layout. Everything packed to the left, labels left justified, no fills. Typical usage:label [input component] [input component] label [input component] [input component] ....
- See Also:
-
-
Constructor Details
-
GridBagLayouter
Create an instance with the default layout scheme (SCHEME1). Note that container gains a GridBagLayout.- Parameters:
container- the container
-
GridBagLayouter
Create an instance with a given layout scheme. Note that container gains a GridBagLayout.- Parameters:
container- the containerscheme- one of the available schemes (SCHEME[1-]).
-
-
Method Details
-
add
Add a JLabel using the current scheme.- Parameters:
label- the string for the JLabelcomplete- whether the line is now completed
-
add
Add a JLabel using the current scheme. Assumes complete is false.- Parameters:
label- the string for the JLabel
-
add
Add a control using the current scheme.- Parameters:
component- the component to addcomplete- whether the line is now completed
-
setInsets
Set the GridBagLayout Insets. Overrides the default. -
add
Add a control using given GridBagContraints. This does not use any of the builtin schemes. -
eatLine
public void eatLine()Eat to end of current line. -
eatSpare
public void eatSpare()Finish adding by "eating" all remaining space (makes components move to top of container). -
getContainer
Get the container we're adding to.
-