package gui.dialog;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.KeyStroke;
import ctex.Main;
/**
* About dialog showing logo, version number and credits
*
* @author strohmsn
*
*/
public class AboutDialog extends JDialog {
private static final long serialVersionUID = 1L;
private GridBagConstraints cons = new GridBagConstraints();
private ImageIcon logo;
private JLabel logoLabel;
private JLabel infoLabel;
private JButton okButton;
/**
* Constructor initializing the JDialog
*/
public AboutDialog() {
setTitle(Main.myLang.getString("dialog.about.title"));
// Close dialog when pressing ESC
getRootPane().registerKeyboardAction(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
}, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
getContentPane().setLayout(new GridBagLayout());
cons.gridx = 0;
cons.gridy = 0;
cons.anchor = GridBagConstraints.CENTER;
cons.insets = new Insets(5, 5, 5, 5);
logo = new ImageIcon("images/logo.jpeg");
logoLabel = new JLabel(logo);
getContentPane().add(logoLabel);
cons.gridy = 1;
infoLabel = new JLabel("<html>Authors: Dmitrijs Allendorfs, Lars Lischke,<br>" +
"Sven Andre Mayer, Stefan Strohmaier</html>");
getContentPane().add(infoLabel, cons);
cons.gridy = 2;
infoLabel = new JLabel("Version: " + Main.getIniData("Version"));
getContentPane().add(infoLabel, cons);
cons.gridy = 3;
infoLabel = new JLabel("Iconset by Mark James (http://www.famfamfam.com/lab/icons/silk/)");
getContentPane().add(infoLabel, cons);
cons.gridy = 4;
okButton = new JButton(Main.myLang.getString("button.ok"));
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
getContentPane().add(okButton, cons);
setResizable(false);
setModal(true);
pack();
setVisible(true);
}
}