OKDialog.java
/*******************************************************************************
* Copyright (c) 2013 Steve Flasby
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* <ul>
* <li>Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.</li>
* <li>Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.</li>
* </ul>
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*******************************************************************************/
package org.flasby.swing;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.border.EtchedBorder;
import javax.swing.border.MatteBorder;
public class OKDialog {
private JDialog d;
private JLabel f;
public OKDialog(JFrame owner, String title) {
this(owner, title, 200, 100);
}
public OKDialog(JFrame owner, String title, int height, int width) {
d = new JDialog(owner);
d.setBackground(new Color(128, 128, 128));
d.setUndecorated(true);
d.getRootPane().setBorder(new EtchedBorder(EtchedBorder.RAISED) );
d.setTitle(title);
d.setSize(width, height);
d.getContentPane().setLayout(new BorderLayout(10, 5));
JLabel w = new JLabel(title,SwingConstants.CENTER);
w.setBorder(new MatteBorder(0, 0, 1, 0, Color.GRAY));
w.setBackground(d.getBackground());
d.getContentPane().setBackground(d.getBackground());
d.getContentPane().add( w, BorderLayout.NORTH);
d.getContentPane().add( f = new JLabel("Wait...",SwingConstants.CENTER), BorderLayout.CENTER);
f.setBackground(d.getBackground());
d.setLocationRelativeTo(owner);
d.setVisible(true);
d.setLocation(d.getLocation().x, d.getLocation().y-owner.getHeight()/2+height/2);
}
public void close() {
d.setVisible(false);
d.dispose();
}
public void setText(String msg ) {
f.setText(msg);
}
}