Java tutorial
import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; class AddressDialog extends JDialog { JLabel label1 = new JLabel("Address"); JLabel label2 = new JLabel("City"); JLabel label3 = new JLabel("State"); JLabel label4 = new JLabel("Zip Code"); JTextField addressField = new JTextField(); JTextField cityField = new JTextField(); JTextField stateField = new JTextField(); JTextField zipCodeField = new JTextField(); String[] address = new String[4]; public AddressDialog(Frame owner, boolean modal) { super(owner, modal); init(); } private void init() { this.setTitle("Address Dialog"); this.setLayout(new GridLayout(4, 2)); this.add(label1); this.add(addressField); this.add(label2); this.add(cityField); this.add(label3); this.add(stateField); this.add(label4); this.add(zipCodeField); } public String[] getAddress() { address[0] = addressField.getText(); address[1] = cityField.getText(); address[2] = stateField.getText(); address[3] = zipCodeField.getText(); return address; } } public class JDialogTest extends JFrame { AddressDialog dialog = new AddressDialog(this, false); public JDialogTest(String title) { super(title); init(); } public JDialogTest() { super(); init(); } private void init() { this.getContentPane().setLayout(new FlowLayout()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final AddressDialog dialog = new AddressDialog(this, false); JButton button = new JButton("Show Dialog"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { dialog.setSize(250, 120); dialog.setVisible(true); } }); this.getContentPane().add(button); } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); JDialogTest frame = new JDialogTest(); frame.pack(); frame.setVisible(true); } }