OSDN Git Service

NG設定パネルを別クラス化
authoryukihane <yukihane.feather@gmail.com>
Wed, 31 Aug 2011 07:58:39 +0000 (16:58 +0900)
committeryukihane <yukihane.feather@gmail.com>
Wed, 31 Aug 2011 07:58:39 +0000 (16:58 +0900)
frontend/src/yukihane/inqubus/gui/ConfigDialog.java
frontend/src/yukihane/inqubus/gui/NgRegisterPanel.java [new file with mode: 0644]

index 0989aab..0b5704b 100644 (file)
@@ -127,18 +127,7 @@ public class ConfigDialog extends JDialog {
         btnFfmpegPath = new JButton();
         btnFfmpegDllPath = new JButton();
         final JPanel pnlNgSetting = new JPanel();
-        final JPanel pnlNgWord = new JPanel();
-        final JScrollPane scrNgWord = new JScrollPane();
-        lstNgWord = new JList<>();
-        fldNgWord = new JTextField();
-        btnNgWordAdd = new JButton();
-        btnNgWordDel = new JButton();
-        final JPanel pnlNgId = new JPanel();
         final JScrollPane scrNgId = new JScrollPane();
-        lstNgId = new JList<>();
-        fldNgId = new JTextField();
-        btnNgIdAdd = new JButton();
-        btnNgIdDel = new JButton();
         final JPanel pnlSearch = new JPanel();
         final JPanel pnlSearchVideo = new JPanel();
         final JScrollPane srcSearchVideo = new JScrollPane();
@@ -690,79 +679,8 @@ public class ConfigDialog extends JDialog {
         tabbedPane.addTab("ffmpeg", pnlFfmpeg);
 
         pnlNgWord.setBorder(BorderFactory.createTitledBorder("NGワード"));
-
-        lstNgWord.setModel(mdlNgWord);
-        scrNgWord.setViewportView(lstNgWord);
-
-        btnNgWordAdd.setText("追加");
-
-        btnNgWordDel.setText("削除");
-
-        GroupLayout gl_pnlNgWord = new GroupLayout(pnlNgWord);
-        pnlNgWord.setLayout(gl_pnlNgWord);
-        gl_pnlNgWord.setHorizontalGroup(
-            gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
-            .addGroup(gl_pnlNgWord.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
-                    .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
-                    .addGroup(gl_pnlNgWord.createSequentialGroup()
-                        .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
-                        .addPreferredGap(ComponentPlacement.RELATED)
-                        .addComponent(btnNgWordAdd)
-                        .addGap(18, 18, 18)
-                        .addComponent(btnNgWordDel)))
-                .addContainerGap())
-        );
-        gl_pnlNgWord.setVerticalGroup(
-            gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
-            .addGroup(gl_pnlNgWord.createSequentialGroup()
-                .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(ComponentPlacement.RELATED)
-                .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE)
-                    .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                    .addComponent(btnNgWordDel)
-                    .addComponent(btnNgWordAdd))
-                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
-        );
-
         pnlNgId.setBorder(BorderFactory.createTitledBorder("NGID"));
 
-        lstNgId.setModel(mdlNgId);
-        scrNgId.setViewportView(lstNgId);
-
-        btnNgIdAdd.setText("追加");
-
-        btnNgIdDel.setText("削除");
-
-        GroupLayout gl_pnlNgId = new GroupLayout(pnlNgId);
-        pnlNgId.setLayout(gl_pnlNgId);
-        gl_pnlNgId.setHorizontalGroup(
-            gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
-            .addGroup(gl_pnlNgId.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
-                    .addComponent(scrNgId, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
-                    .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNgId.createSequentialGroup()
-                        .addComponent(fldNgId, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
-                        .addPreferredGap(ComponentPlacement.RELATED)
-                        .addComponent(btnNgIdAdd)
-                        .addGap(18, 18, 18)
-                        .addComponent(btnNgIdDel)))
-                .addContainerGap())
-        );
-        gl_pnlNgId.setVerticalGroup(
-            gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
-            .addGroup(gl_pnlNgId.createSequentialGroup()
-                .addComponent(scrNgId, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(ComponentPlacement.RELATED)
-                .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.BASELINE)
-                    .addComponent(fldNgId, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                    .addComponent(btnNgIdDel)
-                    .addComponent(btnNgIdAdd))
-                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
-        );
-
         GroupLayout gl_pnlNgSetting = new GroupLayout(pnlNgSetting);
         pnlNgSetting.setLayout(gl_pnlNgSetting);
         gl_pnlNgSetting.setHorizontalGroup(
@@ -1084,17 +1002,9 @@ public class ConfigDialog extends JDialog {
     private final FfmpegParamPanel pnlFfmpegParam = new FfmpegParamPanel();
     // NG設定
     // NG設定 - NGワード
-    private final JList<String> lstNgWord;
-    private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
-    private final JTextField fldNgWord;
-    private final JButton btnNgWordAdd;
-    private final JButton btnNgWordDel;
+    private final NgRegisterPanel pnlNgWord = new NgRegisterPanel();
     // NG設定 - NGID
-    private final JList<String> lstNgId;
-    private final DefaultListModel<String> mdlNgId = new DefaultListModel<>();
-    private final JTextField fldNgId;
-    private final JButton btnNgIdAdd;
-    private final JButton btnNgIdDel;
+    private final NgRegisterPanel pnlNgId = new NgRegisterPanel();
     // 検索
     // 検索 - 動画検索対象フォルダ
     private final JList<String> lstSearchVideo;
@@ -1196,13 +1106,9 @@ public class ConfigDialog extends JDialog {
          * NG 設定
          */
         final List<String> ngWords = p.getNgWords();
-        for (String s : ngWords) {
-            mdlNgWord.addElement(s);
-        }
+        pnlNgWord.init(ngWords);
         final List<String> ngIds = p.getNgIds();
-        for (String s : ngIds) {
-            mdlNgId.addElement(s);
-        }
+        pnlNgId.init(ngIds);
 
         /*
          * システム
@@ -1302,16 +1208,8 @@ public class ConfigDialog extends JDialog {
         /*
          * NG 設定
          */
-        final List<String> ngWords = new ArrayList<>(mdlNgId.getSize());
-        for (int i = 0; i < mdlNgId.getSize(); i++) {
-            ngWords.add(mdlNgId.get(i));
-        }
-        p.setNgWords(ngWords);
-        final List<String> ngIds = new ArrayList<>(mdlNgWord.getSize());
-        for(int i = 0; i<mdlNgWord.getSize();i++) {
-            ngIds.add(mdlNgWord.get(i));
-        }
-        p.setNgIds(ngIds);
+        p.setNgWords(pnlNgWord.getAllElements());
+        p.setNgIds(pnlNgId.getAllElements());
 
         /*
          * システム
diff --git a/frontend/src/yukihane/inqubus/gui/NgRegisterPanel.java b/frontend/src/yukihane/inqubus/gui/NgRegisterPanel.java
new file mode 100644 (file)
index 0000000..d901a6e
--- /dev/null
@@ -0,0 +1,75 @@
+package yukihane.inqubus.gui;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.DefaultListModel;
+import javax.swing.GroupLayout;
+import javax.swing.JButton;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import javax.swing.LayoutStyle.ComponentPlacement;
+
+/**
+ *
+ * @author yuki
+ */
+class NgRegisterPanel extends JPanel {
+    private static final long serialVersionUID = 1L;
+    private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
+    private final JList<String> lstNgWord = new JList<>();
+    private final JTextField fldNgWord = new JTextField();
+    private final JButton btnNgWordAdd = new JButton("追加");
+    private final JButton btnNgWordDel = new JButton("削除");
+
+    NgRegisterPanel() {
+        final JScrollPane scrNgWord = new JScrollPane();
+        lstNgWord.setModel(mdlNgWord);
+        scrNgWord.setViewportView(lstNgWord);
+
+
+        GroupLayout gl_pnlNgWord = new GroupLayout(this);
+        setLayout(gl_pnlNgWord);
+        gl_pnlNgWord.setHorizontalGroup(
+            gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlNgWord.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
+                    .addGroup(gl_pnlNgWord.createSequentialGroup()
+                        .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(btnNgWordAdd)
+                        .addGap(18, 18, 18)
+                        .addComponent(btnNgWordDel)))
+                .addContainerGap())
+        );
+        gl_pnlNgWord.setVerticalGroup(
+            gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlNgWord.createSequentialGroup()
+                .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnNgWordDel)
+                    .addComponent(btnNgWordAdd))
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+    }
+
+    void init(List<String> ngWords) {
+        for (String s : ngWords) {
+            mdlNgWord.addElement(s);
+        }
+    }
+
+    List<String> getAllElements() {
+        List<String> res = new ArrayList<>(mdlNgWord.getSize());
+        for (int i = 0; i < mdlNgWord.getSize(); i++) {
+            res.add(mdlNgWord.get(i));
+        }
+        return res;
+    }
+}