/*
* Created on Oct 30, 2004
*/
package org.mindswap.utils;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* @author Evren Sirin
*/
public class SwingUtils {
public final static ActionListener windowCloserAction = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JComponent c = (JComponent) e.getSource();
Window w = (Window) c.getTopLevelAncestor();
w.dispose();
}
};
public static void centerFrame(Window frame) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension size = frame.getSize();
screenSize.height = screenSize.height/2;
screenSize.width = screenSize.width/2;
size.height = size.height/2;
size.width = size.width/2;
int y = screenSize.height - size.height;
int x = screenSize.width - size.width;
frame.setLocation(x, y);
}
public static void showMessage(String title, String str) {
JFrame info = new JFrame(title);
JTextArea t = new JTextArea(str, 15, 40);
t.setEditable(false);
t.setLineWrap(true);
t.setWrapStyleWord(true);
JButton ok = new JButton("Close");
ok.addActionListener(windowCloserAction);
info.getContentPane().setLayout(new BoxLayout(info.getContentPane(), BoxLayout.Y_AXIS));
info.getContentPane().add(new JScrollPane(t));
info.getContentPane().add(ok);
ok.setAlignmentX(Component.CENTER_ALIGNMENT);
info.pack();
//info.setResizable(false);
centerFrame(info);
//info.show();
info.setVisible(true);
}
}