package com.bao.examples.gui;
import javax.swing.*;
import static javax.swing.GroupLayout.Alignment.*;
public class Find extends JFrame
{
public Find()
{
JLabel label = new JLabel("Find What:");
;
JTextField textField = new JTextField();
JCheckBox caseCheckBox = new JCheckBox("Match Case");
JCheckBox wrapCheckBox = new JCheckBox("Wrap Around");
JCheckBox wholeCheckBox = new JCheckBox("Whole Words");
JCheckBox backCheckBox = new JCheckBox("Search Backwards");
JButton findButton = new JButton("Find");
JButton cancelButton = new JButton("Cancel");
// remove redundant default border of check boxes - they would hinder
// correct spacing and aligning (maybe not needed on some look and
// feels)
caseCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
wrapCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
wholeCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
backCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
GroupLayout layout = new GroupLayout(getContentPane());
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(caseCheckBox)
.addComponent(wholeCheckBox))
.addGroup(
layout.createParallelGroup(LEADING).addComponent(wrapCheckBox)
.addComponent(backCheckBox))))
.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(caseCheckBox)
.addComponent(wrapCheckBox))
.addGroup(
layout.createParallelGroup(BASELINE).addComponent(wholeCheckBox)
.addComponent(backCheckBox))).addComponent(cancelButton)));
setTitle("Find");
pack();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
// "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
// UIManager.getCrossPlatformLookAndFeelClassName());
}
catch(Exception ex)
{
ex.printStackTrace();
}
new Find().setVisible(true);
}
});
}
}