Advanced Users
One of the first things an advanced user will notice is that this tool
will allow you to add subpanels but no tabs. And there are other issues
with creating a form from scratch using the tool. Most advanced users will
actually create some of the form first (especially tabs and other difficult controls)
and then run the panel and pop up the form layout maker to add the easier stuff.
So here is an example file where we want to layout some tabs. When you run this,
the FormLayoutMaker will popup and you'll be able to layout the whole panel as
well as the tabs. You can also add controls to the tab panels. This file is
probably the best way to start if you consider yourself an advanced user. This way,
you can also create controls with factory methods and lay them out using the tool.
Also, keep in mind that when you run this tool, it will look like only one of the controls
was actually added. They are all there, they just all end up in the first row and the
first column. They are essentially on top of each other. You can either move the
top one over to see the next one underneath or prefereable use the Show Component
combobox to bring the one that you want to work with to the top. Lastly, when you
actually generate the xml file from the tool, you will have to modify the code below to
load the LayoutConstraintsManager from the xml file rather than just creating
a new one from scratch. I've included this file in the release archive.
package
org.mlc.swing.example;
import
org.mlc.swing.layout.*;
import
java.awt.*;
import
java.awt.event.*;
import
java.io.*;
import
java.util.*;
import
javax.swing.*;
import
javax.swing.event.*;
import
javax.swing.table.*;
/**
*
@author
Michael Connor
*/
public class
ExamplePanel
extends
javax.swing.JPanel
{
JLabel nameLabel =
new
JLabel
(
"Name"
)
;
JTextField nameText =
new
JTextField
()
;
JTabbedPane tabbedPane =
new
JTabbedPane
()
;
JPanel firstTab =
new
JPanel
()
;
JPanel secondTab =
new
JPanel
()
;
JPanel thirdTab =
new
JPanel
()
;
public
ExamplePanel
()
{
super
()
;
org.mlc.swing.layout.LayoutConstraintsManager layoutConstraintsManager =
new
org.mlc.swing.layout.LayoutConstraintsManager
()
;
setBorder
(
com.jgoodies.forms.factories.Borders.DIALOG_BORDER
)
;
this
.setLayout
(
layoutConstraintsManager.createLayout
(
"panel"
,
this
))
;
firstTab.setLayout
(
layoutConstraintsManager.createLayout
(
"firstTab"
, firstTab
))
;
secondTab.setLayout
(
layoutConstraintsManager.createLayout
(
"secondTab"
, secondTab
))
;
thirdTab.setLayout
(
layoutConstraintsManager.createLayout
(
"thirdTab"
, thirdTab
))
;
LayoutFrame layoutFrame =
new
LayoutFrame
(
layoutConstraintsManager
)
;
layoutFrame.setVisible
(
true
)
;
this
.add
(
tabbedPane,
"tabbedPane"
)
;
this
.add
(
nameLabel,
"nameLabel"
)
;
this
.add
(
nameText,
"nameText"
)
;
tabbedPane.add
(
"First"
, firstTab
)
;
tabbedPane.add
(
"Second"
, secondTab
)
;
tabbedPane.add
(
"Third"
, thirdTab
)
;
}
public static
void
main
(
String
[]
args
)
{
ExamplePanel examplePanel =
new
ExamplePanel
()
;
JFrame frame =
new
JFrame
(
"Example"
)
;
frame.setDefaultCloseOperation
(
JFrame.EXIT_ON_CLOSE
)
;
frame.getContentPane
()
.setLayout
(
new
BorderLayout
())
;
frame.getContentPane
()
.add
(
examplePanel, BorderLayout.CENTER
)
;
frame.setSize
(
400
,
500
)
;
frame.setVisible
(
true
)
;
}
}
When you are done, simply comment out the two lines where you create and show
the layout frame.
|