Source code: com/loihl/swing/MessageDialog.java
1 package com.loihl.swing;
2
3 import java.awt.BorderLayout;
4 //import java.awt.event.WindowListener;
5 //import java.awt.event.WindowEvent;
6 import java.awt.event.ActionListener;
7 import java.awt.event.ActionEvent;
8 import javax.swing.text.Document;
9 import javax.swing.Box;
10 import javax.swing.BoxLayout;
11 import javax.swing.JDialog;
12 import javax.swing.JPanel;
13 import javax.swing.JFrame;
14 import javax.swing.JButton;
15 import javax.swing.JLabel;
16 import javax.swing.JTextField;
17
18 public class MessageDialog extends JDialog
19 implements ActionListener {
20 //Member Variables
21 private JPanel messagePanel = null;
22 private JTextField messageText = null;
23 private JPanel buttonPanel = null;
24 private JButton okButton = null;
25 private final int HORIZONTAL_SIZE = 500;
26 private final int VERTICAL_SIZE = 300;
27 //Constructor
28 /**
29 * MessageDialog Constructor
30 */
31 public MessageDialog(JFrame owner, String title,
32 boolean modal, String message){
33 super(owner,title,modal);
34 this.getContentPane().setLayout(new BorderLayout());
35 this.setSize(this.HORIZONTAL_SIZE,this.VERTICAL_SIZE);
36 this.setResizable(false);
37 this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
38 System.out.println(message);
39 this.messageText = new JTextField();
40 this.messageText.setText(message);
41 this.messageText.setEnabled(false);
42 this.messageText.setEditable(false);
43 this.messageText.setSize(this.HORIZONTAL_SIZE,this.VERTICAL_SIZE/2);
44 this.okButton = new JButton("OK");
45
46 this.messagePanel = new JPanel();
47 this.messagePanel.setSize(this.HORIZONTAL_SIZE,this.VERTICAL_SIZE/2);
48 this.messagePanel.add(messageText);
49
50 this.buttonPanel = new JPanel();
51 this.buttonPanel.add(okButton);
52
53 this.getContentPane().add(messagePanel,BorderLayout.CENTER);
54 this.getContentPane().add(buttonPanel,BorderLayout.SOUTH);
55
56 this.okButton.addActionListener(this);
57 this.setVisible(true);
58 }
59 //Methods
60 /**
61 * Method: actionPerformed
62 * Description: ActionEvent handler for main window
63 * @param ae ActionEvent
64 */
65 public void actionPerformed(ActionEvent ae){
66 if (ae.getSource() == okButton) {
67 this.dispose();
68 }
69 }
70 }