import
java.awt.Component;
import
javax.swing.*;
import
static
javax.swing.GroupLayout.Alignment.*;
public
class
GroupLayoutExample {
public
static
void
main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(
true
);
JFrame frame =
new
JFrame(
"GroupLayoutExample"
);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JLabel label =
new
JLabel(
"Label:"
);
JTextField textField =
new
JTextField();
JCheckBox checkBox1 =
new
JCheckBox(
"CheckBox1"
);
JCheckBox checkBox2 =
new
JCheckBox(
"CheckBox2"
);
JButton findButton =
new
JButton(
"Button 1"
);
JButton cancelButton =
new
JButton(
"Button 2"
);
checkBox1.setBorder(BorderFactory.createEmptyBorder(
0
,
0
,
0
,
0
));
checkBox2.setBorder(BorderFactory.createEmptyBorder(
0
,
0
,
0
,
0
));
GroupLayout layout =
new
GroupLayout(frame.getContentPane());
frame.getContentPane().setLayout(layout);
layout.setAutoCreateGaps(
true
);
layout.setAutoCreateContainerGaps(
true
);
layout.setHorizontalGroup(layout.createSequentialGroup()
.addComponent(label)
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(textField)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(checkBox1))
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(checkBox2))))
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(findButton)
.addComponent(cancelButton)));
layout.linkSize(SwingConstants.HORIZONTAL,
findButton, cancelButton);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(BASELINE)
.addComponent(label)
.addComponent(textField)
.addComponent(findButton))
.addGroup(layout.createParallelGroup(LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(BASELINE)
.addComponent(checkBox1)
.addComponent(checkBox2))
.addGroup(layout.createParallelGroup(BASELINE)))
.addComponent(cancelButton)));
frame.pack();
frame.show();
}
}