T
Todd
Hello all,
The subject to this may make you think that I have a rather simple
problem - and hopefully it is for some guru out there.
I have created a JTabbedPane into which I place JPanel's to create the
tabs. Each of these JPanel's contains three more panels which are
extensions of JPanel.
The class for the sub-panels provides a JPanel with the ability to be
"collapsed" - the height of the JPanel is adjusted and other objects
within the parent pane are relocated appropriately.
Here is the problem: When I expand one of the collapsed sub-panels in
one tab, the other tabs take on the expanded size of the original tab
(which I really don't want, so if you have ideas how to prevent that,
please feel free to expound), and move their corresponding sub-panels
to the center of the tabbed JPanel. How do I prevent the sub-panels
from centering? If the sub-panels could stay anchored to the upper
left of the parent JPanel, then I would have a way to ensure
consistent layout.
I have tried multiple layout schemes, but none of them maintain the
positioning of the sub-panels (furthermore, only the GridBagLayout
seems to layout my sub-panels appropriately). Here is the code that I
am currently using:
/** Creates a new instance of TrajectoryTabJPanel */
public rajectoryTabJPanel()
{
StateVectorJPanel stateVectorJPanel = new StateVectorJPanel();
PerturbationJPanel perturbationJPanel = new
PerturbationJPanel();
ConstraintJPanel ConstraintJPanel = new ConstraintJPanel();
// Add the subpanels to the subpanel vector
addSubPanel( stateVectorJPanel );
addSubPanel( perturbationJPanel );
addSubPanel( constraintJPanel );
// Define the layout for the subpanels
GridBagLayout layout = new GridBagLayout();
this.setLayout( layout );
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = GridBagConstraints.RELATIVE;
gbc.insets = new Insets( 10, 0, 5, 0 );
this.add( stateVectorJPanel, gbc );
gbc.insets = new Insets( 5, 0, 5, 0 );
this.add( perturbationJPanel, gbc );
gbc.insets = new Insets( 5, 0, 10, 0 );
this.add( deboostConstraintJPanel, gbc );
}
Thanks for any suggestions (beyond SSCP - I always try that before
posting),
Todd
The subject to this may make you think that I have a rather simple
problem - and hopefully it is for some guru out there.
I have created a JTabbedPane into which I place JPanel's to create the
tabs. Each of these JPanel's contains three more panels which are
extensions of JPanel.
The class for the sub-panels provides a JPanel with the ability to be
"collapsed" - the height of the JPanel is adjusted and other objects
within the parent pane are relocated appropriately.
Here is the problem: When I expand one of the collapsed sub-panels in
one tab, the other tabs take on the expanded size of the original tab
(which I really don't want, so if you have ideas how to prevent that,
please feel free to expound), and move their corresponding sub-panels
to the center of the tabbed JPanel. How do I prevent the sub-panels
from centering? If the sub-panels could stay anchored to the upper
left of the parent JPanel, then I would have a way to ensure
consistent layout.
I have tried multiple layout schemes, but none of them maintain the
positioning of the sub-panels (furthermore, only the GridBagLayout
seems to layout my sub-panels appropriately). Here is the code that I
am currently using:
/** Creates a new instance of TrajectoryTabJPanel */
public rajectoryTabJPanel()
{
StateVectorJPanel stateVectorJPanel = new StateVectorJPanel();
PerturbationJPanel perturbationJPanel = new
PerturbationJPanel();
ConstraintJPanel ConstraintJPanel = new ConstraintJPanel();
// Add the subpanels to the subpanel vector
addSubPanel( stateVectorJPanel );
addSubPanel( perturbationJPanel );
addSubPanel( constraintJPanel );
// Define the layout for the subpanels
GridBagLayout layout = new GridBagLayout();
this.setLayout( layout );
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = GridBagConstraints.RELATIVE;
gbc.insets = new Insets( 10, 0, 5, 0 );
this.add( stateVectorJPanel, gbc );
gbc.insets = new Insets( 5, 0, 5, 0 );
this.add( perturbationJPanel, gbc );
gbc.insets = new Insets( 5, 0, 10, 0 );
this.add( deboostConstraintJPanel, gbc );
}
Thanks for any suggestions (beyond SSCP - I always try that before
posting),
Todd