OSDN Git Service

mockup coming.
authorOlyutorskii <olyutorskii@users.osdn.me>
Mon, 27 Apr 2020 09:47:01 +0000 (18:47 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Mon, 27 Apr 2020 09:47:01 +0000 (18:47 +0900)
src/main/java/jp/sfjp/jindolf/view/LocalOpener.java [new file with mode: 0644]
src/main/java/jp/sfjp/jindolf/view/TopView.java

diff --git a/src/main/java/jp/sfjp/jindolf/view/LocalOpener.java b/src/main/java/jp/sfjp/jindolf/view/LocalOpener.java
new file mode 100644 (file)
index 0000000..d0af255
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Local file opener panel
+ *
+ * License : The MIT License
+ * Copyright(c) 2020 olyutorskii
+ */
+
+package jp.sfjp.jindolf.view;
+
+import java.awt.LayoutManager;
+import javax.swing.BorderFactory;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+/**
+ * ローカルなアーカイブXMlファイルの読み込みを指示するためのGUI。
+ */
+final class LocalOpener extends JPanel{
+
+    private JButton openXml = new JButton("アーカイブXMLを開く...");
+
+    private JPanel dandd = new JPanel();
+
+    LocalOpener(){
+        super();
+
+        this.openXml.addActionListener((ev) -> {
+            readXml();
+        });
+
+        this.dandd.setBorder(BorderFactory.createEtchedBorder());
+        this.dandd.add(new JLabel("<html>Drag&Drop<br/>here</html>"));
+
+        LayoutManager layout = new BoxLayout(this, BoxLayout.Y_AXIS);
+        setLayout(layout);
+
+        add(this.openXml);
+        add(this.dandd);
+
+        return;
+    }
+
+    private void readXml(){
+
+    }
+
+}
index 8315720..d1afd47 100644 (file)
@@ -19,6 +19,7 @@ import javax.swing.JPanel;
 import javax.swing.JProgressBar;
 import javax.swing.JScrollPane;
 import javax.swing.JSplitPane;
+import javax.swing.JTabbedPane;
 import javax.swing.JTextField;
 import javax.swing.JToolBar;
 import javax.swing.JTree;
@@ -46,7 +47,7 @@ import jp.sfjp.jindolf.data.Village;
  * プログレスバーとフッタメッセージの管理を行う。
  */
 @SuppressWarnings("serial")
-public class TopView extends JPanel{
+public final class TopView extends JPanel{
 
     private static final String INITCARD = "INITCARD";
     private static final String LANDCARD = "LANDINFO";
@@ -60,7 +61,10 @@ public class TopView extends JPanel{
     private final JComponent cards;
     private final CardLayout cardLayout = new CardLayout();
 
+    private final JTabbedPane villageSelector =
+            new JTabbedPane(JTabbedPane.BOTTOM);
     private final LandsTree landsTreeView = new LandsTree();
+    private final LocalOpener localOpener = new LocalOpener();
 
     private final LandInfoPanel landInfo = new LandInfoPanel();
 
@@ -80,7 +84,11 @@ public class TopView extends JPanel{
         super();
 
         this.cards = createCards();
-        JComponent split = createSplitPane(this.landsTreeView, this.cards);
+
+        this.villageSelector.addTab("サーバ", this.landsTreeView);
+        this.villageSelector.addTab("ローカル", this.localOpener);
+
+        JComponent split = createSplitPane(this.villageSelector, this.cards);
         JComponent statusBar = createStatusBar();
 
         BorderLayout layout = new BorderLayout();