package org.korsakow.ide.ui; import java.awt.Cursor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; import org.apache.log4j.Logger; import org.korsakow.ide.Application; import org.korsakow.ide.Build; import org.korsakow.ide.lang.LanguageBundle; import org.korsakow.ide.ui.factory.IUIFactory; import org.korsakow.ide.ui.factory.UIFactory; import org.korsakow.ide.util.ShellExec; import org.korsakow.ide.util.UIResourceManager; import org.korsakow.ide.util.ShellExec.ShellException; public class SplashPage extends JPanel { private final ImageIcon mainImage; private JLabel versionLabel; private JLabel uuidLabel; private JTextField uuidField; private JButton label; public SplashPage() { setBackground(UIManager.getColor("window2")); IUIFactory uifac = UIFactory.getFactory(); setLayout(uifac.createLayout("splash")); add(label = new JButton(UIResourceManager.getIcon("about_link.png"))); label.setCursor(new Cursor(Cursor.HAND_CURSOR)); label.setBorderPainted(false); label.setRolloverIcon(UIResourceManager.getIcon("about_link_over.png")); label.setRolloverEnabled(true); label.setFocusable(false); mainImage = (ImageIcon) UIResourceManager.getLanguageIcon(UIResourceManager.ABOUT_KEY); add(uifac.createLabel("image", mainImage)); label.setName("text"); add(versionLabel = uifac.createLabel("version", Build.getAboutString()), 0); versionLabel.setHorizontalAlignment(JLabel.CENTER); add(uuidLabel = uifac.createLabel("uuidLabel", "UUID:"), 0); add(uuidField = uifac.createTextField("uuidField", Application.getUUID()), 0); uuidField.setOpaque(false); uuidField.setBorder(null); uuidField.setHorizontalAlignment(JLabel.LEFT); uuidField.setEditable(false); label.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { try { ShellExec.openUrl(LanguageBundle.getString("splash.link")); } catch (ShellException e) { Logger.getLogger(SplashPage.class).error("", e); } } }); } public void setUUIDVisible(boolean visible) { uuidLabel.setVisible(visible); uuidField.setVisible(visible); } }