import java.awt.*; public class AboutDialog extends Dialog { public AboutDialog(Frame parent, boolean modal) { super(parent, modal); setLayout(null); setSize(249,150); label1 = new java.awt.Label("ACM Proxy GUI"); label1.setBounds(40,35,166,21); add(label1); okButton = new java.awt.Button("OK"); okButton.setBounds(95,85,66,27); add(okButton); setTitle("About"); setResizable(false); SymWindow aSymWindow = new SymWindow(); this.addWindowListener(aSymWindow); SymAction lSymAction = new SymAction(); okButton.addActionListener(lSymAction); } public AboutDialog(Frame parent, String title, boolean modal) { this(parent, modal); setTitle(title); } public void addNotify() { Dimension d = getSize(); super.addNotify(); if (fComponentsAdjusted) return; setSize(insets().left + insets().right + getSize().width, insets().top + insets().bottom + getSize().height); Component components[] = getComponents(); for (int i = 0; i < components.length; i++) { Point p = components[i].getLocation(); p.translate(insets().left, insets().top); components[i].setLocation(p); } fComponentsAdjusted = true; } public synchronized void show() { Rectangle bounds = getParent().bounds(); Rectangle abounds = bounds(); move(bounds.x + (bounds.width - abounds.width)/ 2, bounds.y + (bounds.height - abounds.height)/2); super.show(); } java.awt.Label label1; java.awt.Button okButton; boolean fComponentsAdjusted = false; class SymWindow extends java.awt.event.WindowAdapter { public void windowClosing(java.awt.event.WindowEvent event) { Object object = event.getSource(); if (object == AboutDialog.this) AboutDialog_WindowClosing(event); } } void AboutDialog_WindowClosing(java.awt.event.WindowEvent event) { dispose(); } class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == okButton) okButton_Clicked(event); } } void okButton_Clicked(java.awt.event.ActionEvent event) { dispose(); } }