OSDN Git Service

初回起動時(コンフィグファイルが無い場合)にはウェルカムメッセージを表示する
authoryukihane <yukihane.feather@gmail.com>
Fri, 2 Sep 2011 01:53:13 +0000 (10:53 +0900)
committeryukihane <yukihane.feather@gmail.com>
Fri, 9 Sep 2011 11:38:54 +0000 (20:38 +0900)
frontend/src/yukihane/inqubus/Main.java

index 450faea..2796dfd 100644 (file)
@@ -5,6 +5,7 @@ import java.nio.file.FileSystems;
 import java.nio.file.Path;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import javax.swing.JOptionPane;
 import javax.swing.UIManager;
 import javax.swing.UIManager.LookAndFeelInfo;
 import javax.swing.UnsupportedLookAndFeelException;
@@ -22,18 +23,33 @@ public class Main {
     public static void main(String args[]) {
         final FileSystem fileSystem = FileSystems.getDefault();
         final Path path = fileSystem.getPath("inqubus.xml");
+        boolean showWelcome;
         try {
             Config.INSTANCE.load(path.toString());
+            showWelcome = false;
         } catch (ConfigurationException ex) {
-            logger.log(Level.FINE, "コンフィグファイルが無いためデフォルト値で起動", ex);
+            showWelcome = true;
+            logger.log(Level.FINER, "コンフィグファイルが無いためデフォルト値で起動", ex);
+        }
+        final RunWindow invoke = new RunWindow(showWelcome);
+        java.awt.EventQueue.invokeLater(invoke);
+    }
+
+    private static class RunWindow implements Runnable {
+        private final boolean showWelcome;
+        private RunWindow(boolean showWelcome) {
+            this.showWelcome = showWelcome;
         }
-        setLookAndFeel();
-        java.awt.EventQueue.invokeLater(new Runnable() {
 
-            public void run() {
-                new MainFrame().setVisible(true);
+        @Override
+        public void run() {
+            setLookAndFeel();
+            final MainFrame frame = new MainFrame();
+            if(showWelcome) {
+                JOptionPane.showMessageDialog(null, "<html>設定はメニューの <b>ツール > オプション</b> から行えます</html>", "いんきゅばすへようこそ", JOptionPane.INFORMATION_MESSAGE);
             }
-        });
+            frame.setVisible(true);
+        }
     }
 
     private static void setLookAndFeel() {