OSDN Git Service

コンフィグダイアログクローズ処理
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / gui / ConfigDialog.java
index 1658365..9dbd0b6 100644 (file)
 /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-/*
  * Properties.java
  *
  * Created on 2011/08/20, 16:33:03
  */
 package yukihane.inqubus.gui;
 
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import javax.swing.BorderFactory;
+import javax.swing.ButtonGroup;
+import javax.swing.ComboBoxModel;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.DefaultListModel;
+import javax.swing.GroupLayout;
+import javax.swing.GroupLayout.Alignment;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JDialog;
 import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextField;
+import javax.swing.LayoutStyle.ComponentPlacement;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.WindowConstants;
+import yukihane.inqubus.Config;
 
 /**
  *
  * @author yuki
  */
-public class ConfigDialog extends javax.swing.JDialog {
+public class ConfigDialog extends JDialog {
+    private static final long serialVersionUID = 1L;
 
     /** Creates new form Properties */
     public ConfigDialog() {
-        super();
-        initComponents();
+        this(null);
     }
 
     public ConfigDialog(JFrame owner){
         super(owner);
-        initComponents();
-    }
 
-    /** This method is called from within the constructor to
-     * initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is
-     * always regenerated by the Form Editor.
-     */
-    @SuppressWarnings("unchecked")
-    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
-    private void initComponents() {
-
-        buttonGroup1 = new javax.swing.ButtonGroup();
-        jTabbedPane1 = new javax.swing.JTabbedPane();
-        jPanel1 = new javax.swing.JPanel();
-        jPanel2 = new javax.swing.JPanel();
-        jLabel1 = new javax.swing.JLabel();
-        jTextField1 = new javax.swing.JTextField();
-        jLabel2 = new javax.swing.JLabel();
-        jTextField2 = new javax.swing.JTextField();
-        jPanel3 = new javax.swing.JPanel();
-        jCheckBox1 = new javax.swing.JCheckBox();
-        jLabel3 = new javax.swing.JLabel();
-        jLabel4 = new javax.swing.JLabel();
-        jTextField3 = new javax.swing.JTextField();
-        jTextField4 = new javax.swing.JTextField();
-        jPanel4 = new javax.swing.JPanel();
-        jPanel5 = new javax.swing.JPanel();
-        jLabel5 = new javax.swing.JLabel();
-        jLabel6 = new javax.swing.JLabel();
-        jTextField5 = new javax.swing.JTextField();
-        jTextField6 = new javax.swing.JTextField();
-        jButton1 = new javax.swing.JButton();
-        jCheckBox2 = new javax.swing.JCheckBox();
-        jPanel6 = new javax.swing.JPanel();
-        jLabel7 = new javax.swing.JLabel();
-        jLabel8 = new javax.swing.JLabel();
-        jTextField7 = new javax.swing.JTextField();
-        jTextField8 = new javax.swing.JTextField();
-        jButton2 = new javax.swing.JButton();
-        jCheckBox3 = new javax.swing.JCheckBox();
-        jPanel7 = new javax.swing.JPanel();
-        jLabel9 = new javax.swing.JLabel();
-        jLabel10 = new javax.swing.JLabel();
-        jTextField9 = new javax.swing.JTextField();
-        jTextField10 = new javax.swing.JTextField();
-        jButton3 = new javax.swing.JButton();
-        jCheckBox4 = new javax.swing.JCheckBox();
-        jCheckBox7 = new javax.swing.JCheckBox();
-        jCheckBox11 = new javax.swing.JCheckBox();
-        jPanel8 = new javax.swing.JPanel();
-        jPanel14 = new javax.swing.JPanel();
-        jLabel11 = new javax.swing.JLabel();
-        jCheckBox5 = new javax.swing.JCheckBox();
-        jLabel12 = new javax.swing.JLabel();
-        jTextField11 = new javax.swing.JTextField();
-        jLabel13 = new javax.swing.JLabel();
-        jCheckBox6 = new javax.swing.JCheckBox();
-        jTextField12 = new javax.swing.JTextField();
-        jLabel14 = new javax.swing.JLabel();
-        jLabel24 = new javax.swing.JLabel();
-        jCheckBox10 = new javax.swing.JCheckBox();
-        jLabel25 = new javax.swing.JLabel();
-        jTextField22 = new javax.swing.JTextField();
-        jPanel15 = new javax.swing.JPanel();
-        jLabel26 = new javax.swing.JLabel();
-        jCheckBox12 = new javax.swing.JCheckBox();
-        jCheckBox13 = new javax.swing.JCheckBox();
-        jTextField23 = new javax.swing.JTextField();
-        jButton6 = new javax.swing.JButton();
-        jLabel27 = new javax.swing.JLabel();
-        jLabel28 = new javax.swing.JLabel();
-        jTextField24 = new javax.swing.JTextField();
-        jTextField25 = new javax.swing.JTextField();
-        jPanel9 = new javax.swing.JPanel();
-        jPanel10 = new javax.swing.JPanel();
-        jLabel15 = new javax.swing.JLabel();
-        jLabel16 = new javax.swing.JLabel();
-        jTextField13 = new javax.swing.JTextField();
-        jTextField14 = new javax.swing.JTextField();
-        jButton4 = new javax.swing.JButton();
-        jButton5 = new javax.swing.JButton();
-        jPanel11 = new javax.swing.JPanel();
-        jRadioButton1 = new javax.swing.JRadioButton();
-        jRadioButton2 = new javax.swing.JRadioButton();
-        jComboBox1 = new javax.swing.JComboBox();
-        jPanel12 = new javax.swing.JPanel();
-        jLabel17 = new javax.swing.JLabel();
-        jLabel18 = new javax.swing.JLabel();
-        jLabel19 = new javax.swing.JLabel();
-        jLabel20 = new javax.swing.JLabel();
-        jLabel21 = new javax.swing.JLabel();
-        jCheckBox8 = new javax.swing.JCheckBox();
-        jLabel22 = new javax.swing.JLabel();
-        jTextField15 = new javax.swing.JTextField();
-        jLabel23 = new javax.swing.JLabel();
-        jTextField16 = new javax.swing.JTextField();
-        jCheckBox9 = new javax.swing.JCheckBox();
-        jTextField17 = new javax.swing.JTextField();
-        jTextField18 = new javax.swing.JTextField();
-        jTextField19 = new javax.swing.JTextField();
-        jTextField20 = new javax.swing.JTextField();
-        jTextField21 = new javax.swing.JTextField();
-        jPanel13 = new javax.swing.JPanel();
-        jPanel16 = new javax.swing.JPanel();
-        jScrollPane3 = new javax.swing.JScrollPane();
-        jList3 = new javax.swing.JList();
-        jTextField26 = new javax.swing.JTextField();
-        jButton9 = new javax.swing.JButton();
-        jButton10 = new javax.swing.JButton();
-        jPanel20 = new javax.swing.JPanel();
-        jScrollPane4 = new javax.swing.JScrollPane();
-        jList4 = new javax.swing.JList();
-        jTextField27 = new javax.swing.JTextField();
-        jButton11 = new javax.swing.JButton();
-        jButton12 = new javax.swing.JButton();
-        jPanel17 = new javax.swing.JPanel();
-        jPanel18 = new javax.swing.JPanel();
-        jScrollPane1 = new javax.swing.JScrollPane();
-        jList1 = new javax.swing.JList();
-        jButton7 = new javax.swing.JButton();
-        jButton8 = new javax.swing.JButton();
-        jPanel19 = new javax.swing.JPanel();
-        jScrollPane2 = new javax.swing.JScrollPane();
-        jList2 = new javax.swing.JList();
-        jButton13 = new javax.swing.JButton();
-        jButton14 = new javax.swing.JButton();
-        jPanel21 = new javax.swing.JPanel();
-        jLabel29 = new javax.swing.JLabel();
-        jTextField28 = new javax.swing.JTextField();
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
-
-        jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
-
-        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("アカウント"));
-
-        jLabel1.setText("ID(メールアドレス)");
-
-        jLabel2.setText("パスワード");
-
-        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
-        jPanel2.setLayout(jPanel2Layout);
-        jPanel2Layout.setHorizontalGroup(
-            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel2Layout.createSequentialGroup()
+        final ButtonGroup buttonGroup1 = new ButtonGroup();
+        final JTabbedPane tabbedPane = new JTabbedPane();
+        final JPanel pnlNetwork = new JPanel();
+        final JPanel pnlAccount = new JPanel();
+        final JLabel lblMail = new JLabel();
+        fldMail = new JTextField();
+        final JLabel lblPassword = new JLabel();
+        fldPassword = new JTextField();
+        final JPanel pnlProxy = new JPanel();
+        cbProxyUse = new JCheckBox();
+        final JLabel lblProxyHost = new JLabel();
+        final JLabel lblProxyPort = new JLabel();
+        fldProxyHost = new JTextField();
+        fldProxyPort = new JTextField();
+        final JPanel pnlFile = new JPanel();
+        final JPanel pnlFileVideo = new JPanel();
+        final JLabel lblVideoDir = new JLabel();
+        final JLabel lblVideoFileNamepattern = new JLabel();
+        fldVideoDir = new JTextField();
+        fldVideoFileNamePattern = new JTextField();
+        btnVideoDir = new JButton();
+        cbVideoLocal = new JCheckBox();
+        final JPanel pnlFileComment = new JPanel();
+        final JLabel lblCommentDir = new JLabel();
+        final JLabel lblCommentFileNamePattern = new JLabel();
+        fldCommentDir = new JTextField();
+        fldCommentFileNamePattern = new JTextField();
+        btnCommentDir = new JButton();
+        cbCommentLocal = new JCheckBox();
+        final JPanel pnlFileOutput = new JPanel();
+        final JLabel lblOutputDir = new JLabel();
+        final JLabel lblOutputFileNamePattern = new JLabel();
+        fldOutputDir = new JTextField();
+        fldOutputFileNamePattern = new JTextField();
+        btnOutputDir = new JButton();
+        cbOutputEnable = new JCheckBox();
+        cbOutputCommentOverlay = new JCheckBox();
+        cbOutputDisplayProgress = new JCheckBox();
+        final JPanel pnlComment = new JPanel();
+        final JPanel pnlCommentStandard = new JPanel();
+        final JLabel lblCommentSize = new JLabel();
+        cbCommentSizeAuto = new JCheckBox();
+        final JLabel lblCommentSizeManual = new JLabel();
+        fldCommentSizeManual = new JTextField();
+        final JLabel lblCommentMinSize = new JLabel();
+        cbCommentMinSizeAuto = new JCheckBox();
+        fldCommentMinSizeManual = new JTextField();
+        final JLabel lblCommentMinSizeManual = new JLabel();
+        final JLabel lblCommentDisplayMax = new JLabel();
+        cbCommentDisplaySizeDefault = new JCheckBox();
+        final JLabel lblCommentDisplayMaxManual = new JLabel();
+        fldCommentDisplaySizeManual = new JTextField();
+        final JPanel pnlCommentAdvanced = new JPanel();
+        final JLabel lblFontPath = new JLabel();
+        cbFontSizeArrangeDisable = new JCheckBox();
+        cbCommentOpaque = new JCheckBox();
+        fldFontPath = new JTextField();
+        btnFontPath = new JButton();
+        final JLabel lblFontIndex = new JLabel();
+        final JLabel lblFontShadow = new JLabel();
+        fldFontIndex = new JTextField();
+        final JPanel pnlFfmpeg = new JPanel();
+        final JPanel jPanel10 = new JPanel();
+        final JLabel lblFfmpegPath = new JLabel();
+        final JLabel lblFfmpegDllPath = new JLabel();
+        fldFfmpegPath = new JTextField();
+        fldFfmpegDllPath = new JTextField();
+        btnFfmpegPath = new JButton();
+        btnFfmpegDllPath = new JButton();
+        final JPanel pnlFfmpegParam = new JPanel();
+        rbFfmpegOptionFile = new JRadioButton();
+        rbFfmpegOptionDirectInput = new JRadioButton();
+        cmbFfmpegOptionFile = new JComboBox();
+        final JPanel pnlFfmpegParamOption = new JPanel();
+        final JLabel lblFfmpegOptionExtension = new JLabel();
+        final JLabel lblFfmpegOptionMain = new JLabel();
+        final JLabel lblFfmpegOptionIn = new JLabel();
+        final JLabel lblFfmpegOptionOut = new JLabel();
+        final JLabel lblFfmpegOptionAvfilter = new JLabel();
+        cbFfmpegOptionResize = new JCheckBox();
+        final JLabel lblFfmpegOptionResizeWidth = new JLabel();
+        fldFfmpegOptionResizeWidth = new JTextField();
+        final JLabel lblFfmpegOptionResizeHeight = new JLabel();
+        fldFfmpegOptionResizeHeight = new JTextField();
+        cbFfmpegOptionKeepAspect = new JCheckBox();
+        fldFfmpegOptionExtension = new JTextField();
+        fldFfmpegOptionMain = new JTextField();
+        fldFfmpegOptionIn = new JTextField();
+        fldFfmpegOptionOut = new JTextField();
+        fldFfmpegOptionAv = new JTextField();
+        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();
+        lstSearchVideo = new JList<>();
+        btnSearchVideoAdd = new JButton();
+        btnSearchVideoDel = new JButton();
+        final JPanel pnlSearchComment = new JPanel();
+        final JScrollPane srcSearchComment = new JScrollPane();
+        lstSearchComment = new JList<>();
+        btnSearchCommentAdd = new JButton();
+        btnSearchCommentDel = new JButton();
+        final JPanel pnlSearchCache = new JPanel();
+        final JLabel lblSearchCache = new JLabel();
+        fldSearchCache = new JTextField();
+
+        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+
+        pnlNetwork.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
+
+        pnlAccount.setBorder(BorderFactory.createTitledBorder("アカウント"));
+
+        lblMail.setText("ID(メールアドレス)");
+
+        lblPassword.setText("パスワード");
+
+        GroupLayout gl_pnlAccount = new GroupLayout(pnlAccount);
+        pnlAccount.setLayout(gl_pnlAccount);
+        gl_pnlAccount.setHorizontalGroup(
+            gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlAccount.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jLabel1)
-                    .addComponent(jLabel2))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
-                    .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE))
+                .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(lblMail)
+                    .addComponent(lblPassword))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(fldPassword, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
+                    .addComponent(fldMail, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE))
                 .addContainerGap())
         );
-        jPanel2Layout.setVerticalGroup(
-            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel2Layout.createSequentialGroup()
+        gl_pnlAccount.setVerticalGroup(
+            gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlAccount.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel1)
-                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel2)
-                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblMail)
+                    .addComponent(fldMail, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblPassword)
+                    .addComponent(fldPassword, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("プロキシ"));
+        pnlProxy.setBorder(BorderFactory.createTitledBorder("プロキシ"));
 
-        jCheckBox1.setText("プロキシを使用する");
+        cbProxyUse.setText("プロキシを使用する");
 
-        jLabel3.setText("ホスト名");
+        lblProxyHost.setText("ホスト名");
 
-        jLabel4.setText("ポート番号");
+        lblProxyPort.setText("ポート番号");
 
-        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
-        jPanel3.setLayout(jPanel3Layout);
-        jPanel3Layout.setHorizontalGroup(
-            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel3Layout.createSequentialGroup()
+        GroupLayout gl_pnlProxy = new GroupLayout(pnlProxy);
+        pnlProxy.setLayout(gl_pnlProxy);
+        gl_pnlProxy.setHorizontalGroup(
+            gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlProxy.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jCheckBox1)
-                    .addGroup(jPanel3Layout.createSequentialGroup()
-                        .addComponent(jLabel3)
+                .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(cbProxyUse)
+                    .addGroup(gl_pnlProxy.createSequentialGroup()
+                        .addComponent(lblProxyHost)
                         .addGap(18, 18, 18)
-                        .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE))
-                    .addGroup(jPanel3Layout.createSequentialGroup()
-                        .addComponent(jLabel4)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                        .addComponent(fldProxyHost, GroupLayout.PREFERRED_SIZE, 168, GroupLayout.PREFERRED_SIZE))
+                    .addGroup(gl_pnlProxy.createSequentialGroup()
+                        .addComponent(lblProxyPort)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(fldProxyPort, GroupLayout.PREFERRED_SIZE, 76, GroupLayout.PREFERRED_SIZE)))
                 .addContainerGap(181, Short.MAX_VALUE))
         );
-        jPanel3Layout.setVerticalGroup(
-            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel3Layout.createSequentialGroup()
+        gl_pnlProxy.setVerticalGroup(
+            gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlProxy.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jCheckBox1)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel3)
-                    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel4)
-                    .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addComponent(cbProxyUse)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblProxyHost)
+                    .addComponent(fldProxyHost, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblProxyPort)
+                    .addComponent(fldProxyPort, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                 .addContainerGap(39, Short.MAX_VALUE))
         );
 
-        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
-        jPanel1.setLayout(jPanel1Layout);
-        jPanel1Layout.setHorizontalGroup(
-            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
+        GroupLayout gl_pnlNetwork = new GroupLayout(pnlNetwork);
+        pnlNetwork.setLayout(gl_pnlNetwork);
+        gl_pnlNetwork.setHorizontalGroup(
+            gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNetwork.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.TRAILING)
+                    .addComponent(pnlProxy, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlAccount, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addContainerGap())
         );
-        jPanel1Layout.setVerticalGroup(
-            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel1Layout.createSequentialGroup()
+        gl_pnlNetwork.setVerticalGroup(
+            gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlNetwork.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(pnlAccount, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlProxy, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addContainerGap(178, Short.MAX_VALUE))
         );
 
-        jTabbedPane1.addTab("ネットワーク", jPanel1);
+        tabbedPane.addTab("ネットワーク", pnlNetwork);
 
-        jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("動画"));
+        pnlFileVideo.setBorder(BorderFactory.createTitledBorder("動画"));
 
-        jLabel5.setText("保存フォルダ");
+        lblVideoDir.setText("保存フォルダ");
 
-        jLabel6.setText("ファイル名パターン");
+        lblVideoFileNamepattern.setText("ファイル名規則");
 
-        jButton1.setText("...");
+        btnVideoDir.setText("...");
 
-        jCheckBox2.setText("local");
+        cbVideoLocal.setText("local");
 
-        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
-        jPanel5.setLayout(jPanel5Layout);
-        jPanel5Layout.setHorizontalGroup(
-            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
+        GroupLayout gl_pnlFileVideo = new GroupLayout(pnlFileVideo);
+        pnlFileVideo.setLayout(gl_pnlFileVideo);
+        gl_pnlFileVideo.setHorizontalGroup(
+            gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jLabel6)
-                    .addComponent(jLabel5))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(jPanel5Layout.createSequentialGroup()
-                        .addComponent(jTextField5, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jButton1))
-                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
-                        .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 94, Short.MAX_VALUE)
-                        .addComponent(jCheckBox2)))
+                .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(lblVideoFileNamepattern)
+                    .addComponent(lblVideoDir))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addGroup(gl_pnlFileVideo.createSequentialGroup()
+                        .addComponent(fldVideoDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(btnVideoDir))
+                    .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
+                        .addComponent(fldVideoFileNamePattern, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(ComponentPlacement.RELATED, 94, Short.MAX_VALUE)
+                        .addComponent(cbVideoLocal)))
                 .addContainerGap())
         );
-        jPanel5Layout.setVerticalGroup(
-            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel5Layout.createSequentialGroup()
-                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel5)
-                    .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton1))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel6)
-                    .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jCheckBox2))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        gl_pnlFileVideo.setVerticalGroup(
+            gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFileVideo.createSequentialGroup()
+                .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblVideoDir)
+                    .addComponent(fldVideoDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnVideoDir))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblVideoFileNamepattern)
+                    .addComponent(fldVideoFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(cbVideoLocal))
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("コメント"));
+        pnlFileComment.setBorder(BorderFactory.createTitledBorder("コメント"));
 
-        jLabel7.setText("保存フォルダ");
+        lblCommentDir.setText("保存フォルダ");
 
-        jLabel8.setText("ファイル名パターン");
+        lblCommentFileNamePattern.setText("ファイル名規則");
 
-        jButton2.setText("...");
+        btnCommentDir.setText("...");
 
-        jCheckBox3.setText("local");
+        cbCommentLocal.setText("local");
 
-        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
-        jPanel6.setLayout(jPanel6Layout);
-        jPanel6Layout.setHorizontalGroup(
-            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel6Layout.createSequentialGroup()
+        GroupLayout gl_pnlFileComment = new GroupLayout(pnlFileComment);
+        pnlFileComment.setLayout(gl_pnlFileComment);
+        gl_pnlFileComment.setHorizontalGroup(
+            gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFileComment.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jLabel8)
-                    .addComponent(jLabel7))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(jPanel6Layout.createSequentialGroup()
-                        .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 93, Short.MAX_VALUE)
-                        .addComponent(jCheckBox3))
-                    .addGroup(jPanel6Layout.createSequentialGroup()
-                        .addComponent(jTextField7, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jButton2)))
+                .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(lblCommentFileNamePattern)
+                    .addComponent(lblCommentDir))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addGroup(gl_pnlFileComment.createSequentialGroup()
+                        .addComponent(fldCommentFileNamePattern, GroupLayout.PREFERRED_SIZE, 166, GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(ComponentPlacement.RELATED, 93, Short.MAX_VALUE)
+                        .addComponent(cbCommentLocal))
+                    .addGroup(gl_pnlFileComment.createSequentialGroup()
+                        .addComponent(fldCommentDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(btnCommentDir)))
                 .addContainerGap())
         );
-        jPanel6Layout.setVerticalGroup(
-            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel6Layout.createSequentialGroup()
-                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel7)
-                    .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton2))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel8)
-                    .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jCheckBox3))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        gl_pnlFileComment.setVerticalGroup(
+            gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFileComment.createSequentialGroup()
+                .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblCommentDir)
+                    .addComponent(fldCommentDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnCommentDir))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblCommentFileNamePattern)
+                    .addComponent(fldCommentFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(cbCommentLocal))
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("変換動画"));
+        pnlFileOutput.setBorder(BorderFactory.createTitledBorder("変換動画"));
 
-        jLabel9.setText("保存フォルダ");
+        lblOutputDir.setText("保存フォルダ");
 
-        jLabel10.setText("ファイル名パターン");
+        lblOutputFileNamePattern.setText("ファイル名規則");
 
-        jButton3.setText("...");
+        btnOutputDir.setText("...");
 
-        jCheckBox4.setText("変換");
+        cbOutputEnable.setText("変換");
 
-        jCheckBox7.setText("コメント付与");
+        cbOutputCommentOverlay.setText("コメント付与");
 
-        jCheckBox11.setText("変換中動画表示");
+        cbOutputDisplayProgress.setText("変換中動画表示");
 
-        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
-        jPanel7.setLayout(jPanel7Layout);
-        jPanel7Layout.setHorizontalGroup(
-            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel7Layout.createSequentialGroup()
+        GroupLayout gl_pnlFileOutput = new GroupLayout(pnlFileOutput);
+        pnlFileOutput.setLayout(gl_pnlFileOutput);
+        gl_pnlFileOutput.setHorizontalGroup(
+            gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFileOutput.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jLabel10)
-                    .addComponent(jLabel9))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(jPanel7Layout.createSequentialGroup()
-                        .addComponent(jTextField9, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jButton3)
+                .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(lblOutputFileNamePattern)
+                    .addComponent(lblOutputDir))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addGroup(gl_pnlFileOutput.createSequentialGroup()
+                        .addComponent(fldOutputDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(btnOutputDir)
                         .addContainerGap())
-                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout.createSequentialGroup()
-                        .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
-                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(jCheckBox11)
-                            .addGroup(jPanel7Layout.createSequentialGroup()
-                                .addComponent(jCheckBox4)
-                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                                .addComponent(jCheckBox7))))))
+                    .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileOutput.createSequentialGroup()
+                        .addComponent(fldOutputFileNamePattern, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
+                        .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(cbOutputDisplayProgress)
+                            .addGroup(gl_pnlFileOutput.createSequentialGroup()
+                                .addComponent(cbOutputEnable)
+                                .addPreferredGap(ComponentPlacement.RELATED)
+                                .addComponent(cbOutputCommentOverlay))))))
         );
-        jPanel7Layout.setVerticalGroup(
-            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel7Layout.createSequentialGroup()
-                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel9)
-                    .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton3))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel10)
-                    .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jCheckBox7)
-                    .addComponent(jCheckBox4))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jCheckBox11)
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        gl_pnlFileOutput.setVerticalGroup(
+            gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFileOutput.createSequentialGroup()
+                .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblOutputDir)
+                    .addComponent(fldOutputDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnOutputDir))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblOutputFileNamePattern)
+                    .addComponent(fldOutputFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(cbOutputCommentOverlay)
+                    .addComponent(cbOutputEnable))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(cbOutputDisplayProgress)
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        final JPanel pnlFileProhibit = new JPanel();
+        pnlFileProhibit.setBorder(BorderFactory.createTitledBorder("禁則文字"));
+        final JLabel lblReplaceFrom = new JLabel("置換対象文字");
+        final JLabel lblReplaceTo = new JLabel("置換後文字");
+
+        final GroupLayout glProhibit = new GroupLayout(pnlFileProhibit);
+        glProhibit.setAutoCreateContainerGaps(true);
+        glProhibit.setAutoCreateGaps(true);
+        pnlFileProhibit.setLayout(glProhibit);
+
+        glProhibit.setHorizontalGroup(glProhibit.createSequentialGroup()
+            .addGroup(glProhibit.createParallelGroup()
+                .addComponent(lblReplaceFrom)
+                .addComponent(lblReplaceTo)
+            )
+            .addGroup(glProhibit.createParallelGroup()
+                .addComponent(fldReplaceFrom)
+                .addComponent(fldReplaceTo)
+            )
+        );
+
+        glProhibit.setVerticalGroup(glProhibit.createSequentialGroup()
+            .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
+                .addComponent(lblReplaceFrom)
+                .addComponent(fldReplaceFrom)
+            )
+            .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
+                .addComponent(lblReplaceTo)
+                .addComponent(fldReplaceTo)
+            )
         );
 
-        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
-        jPanel4.setLayout(jPanel4Layout);
-        jPanel4Layout.setHorizontalGroup(
-            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
+        GroupLayout gl_pnlFile = new GroupLayout(pnlFile);
+        pnlFile.setLayout(gl_pnlFile);
+        gl_pnlFile.setHorizontalGroup(
+            gl_pnlFile.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFile.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(jPanel7, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel6, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlFile.createParallelGroup(GroupLayout.Alignment.TRAILING)
+                    .addComponent(pnlFileOutput, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlFileVideo, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlFileComment, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlFileProhibit, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                )
                 .addContainerGap())
         );
-        jPanel4Layout.setVerticalGroup(
-            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel4Layout.createSequentialGroup()
+        gl_pnlFile.setVerticalGroup(
+            gl_pnlFile.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFile.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap(137, Short.MAX_VALUE))
+                .addComponent(pnlFileVideo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlFileComment, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlFileOutput, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlFileProhibit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addContainerGap())
         );
 
-        jTabbedPane1.addTab("ファイル", jPanel4);
+        tabbedPane.addTab("ファイル", pnlFile);
 
-        jPanel14.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+        pnlCommentStandard.setBorder(BorderFactory.createTitledBorder(""));
 
-        jLabel11.setText("再生時間に応じたコメントの取得数");
+        lblCommentSize.setText("再生時間に応じたコメントの取得数");
 
-        jCheckBox5.setText("自動調整");
+        cbCommentSizeAuto.setText("自動調整");
 
-        jLabel12.setText("手動取得");
+        lblCommentSizeManual.setText("手動取得");
 
-        jLabel13.setText("1分当たりのコメント取得数");
+        lblCommentMinSize.setText("1分当たりのコメント取得数");
 
-        jCheckBox6.setText("自動調整");
+        cbCommentMinSizeAuto.setText("自動調整");
 
-        jLabel14.setText("手動取得");
+        lblCommentMinSizeManual.setText("手動取得");
 
-        jLabel24.setText("1画面に表示する最大コメント数");
+        lblCommentDisplayMax.setText("1画面に表示する最大コメント数");
 
-        jCheckBox10.setText("標準(30)");
+        cbCommentDisplaySizeDefault.setText("標準(30)");
 
-        jLabel25.setText("手動設定");
+        lblCommentDisplayMaxManual.setText("手動設定");
 
-        javax.swing.GroupLayout jPanel14Layout = new javax.swing.GroupLayout(jPanel14);
-        jPanel14.setLayout(jPanel14Layout);
-        jPanel14Layout.setHorizontalGroup(
-            jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel14Layout.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(jPanel14Layout.createSequentialGroup()
-                        .addComponent(jLabel11)
-                        .addGap(18, 18, 18)
-                        .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(jCheckBox5)
-                            .addComponent(jCheckBox6)
-                            .addComponent(jCheckBox10))
-                        .addGap(18, 18, 18)
-                        .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(jLabel25)
-                            .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                                .addComponent(jLabel14, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                                .addComponent(jLabel12, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
-                    .addComponent(jLabel13)
-                    .addComponent(jLabel24))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                    .addComponent(jTextField22, 0, 0, Short.MAX_VALUE)
-                    .addComponent(jTextField12)
-                    .addComponent(jTextField11, javax.swing.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE))
-                .addContainerGap(25, Short.MAX_VALUE))
+        GroupLayout gl_pnlCommentStandard = new GroupLayout(pnlCommentStandard);
+        pnlCommentStandard.setLayout(gl_pnlCommentStandard);
+        gl_pnlCommentStandard.setAutoCreateContainerGaps(true);
+        gl_pnlCommentStandard.setAutoCreateGaps(true);
+        gl_pnlCommentStandard.setHorizontalGroup(
+            gl_pnlCommentStandard.createSequentialGroup()
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(lblCommentSize)
+                    .addComponent(lblCommentMinSize)
+                    .addComponent(lblCommentDisplayMax))
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(cbCommentSizeAuto)
+                    .addComponent(cbCommentMinSizeAuto)
+                    .addComponent(cbCommentDisplaySizeDefault))
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(lblCommentSizeManual)
+                    .addComponent(lblCommentMinSizeManual)
+                    .addComponent(lblCommentDisplayMaxManual))
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(fldCommentSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(fldCommentMinSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(fldCommentDisplaySizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
         );
-        jPanel14Layout.setVerticalGroup(
-            jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel14Layout.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel12)
-                    .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jLabel11)
-                    .addComponent(jCheckBox5))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel13)
-                    .addComponent(jCheckBox6)
-                    .addComponent(jLabel14)
-                    .addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel24)
-                    .addComponent(jCheckBox10)
-                    .addComponent(jLabel25)
-                    .addComponent(jTextField22, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        gl_pnlCommentStandard.setVerticalGroup(
+            gl_pnlCommentStandard.createSequentialGroup()
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblCommentSize)
+                    .addComponent(cbCommentSizeAuto)
+                    .addComponent(lblCommentSizeManual)
+                    .addComponent(fldCommentSizeManual))
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblCommentMinSize)
+                    .addComponent(cbCommentMinSizeAuto)
+                    .addComponent(lblCommentMinSizeManual)
+                    .addComponent(fldCommentMinSizeManual))
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblCommentDisplayMax)
+                    .addComponent(cbCommentDisplaySizeDefault)
+                    .addComponent(lblCommentDisplayMaxManual)
+                    .addComponent(fldCommentDisplaySizeManual))
         );
 
-        jPanel15.setBorder(javax.swing.BorderFactory.createTitledBorder("高度な設定"));
+        pnlCommentAdvanced.setBorder(BorderFactory.createTitledBorder("高度な設定"));
 
-        jLabel26.setText("フォントパス");
+        lblFontPath.setText("フォントパス");
 
-        jCheckBox12.setText("フォントサイズ調整を行わない");
+        cbFontSizeArrangeDisable.setText("フォントサイズ調整を行わない");
 
-        jCheckBox13.setText("コメント透明化を行わない");
+        cbCommentOpaque.setText("コメント透明化を行わない");
 
-        jButton6.setText("...");
+        btnFontPath.setText("...");
 
-        jLabel27.setText("フォント番号");
+        lblFontIndex.setText("フォント番号");
 
-        jLabel28.setText("影の種類");
+        lblFontShadow.setText("影の種類");
+        final ComboBoxModel<String> cbmFontShadow
+                = new DefaultComboBoxModel<>(new String[]{"0:なし", "1:ニコニコ動画風", "2:右下", "3:囲い込み"});
+        cmbFontShadow.setModel(cbmFontShadow);
 
-        javax.swing.GroupLayout jPanel15Layout = new javax.swing.GroupLayout(jPanel15);
-        jPanel15.setLayout(jPanel15Layout);
-        jPanel15Layout.setHorizontalGroup(
-            jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel15Layout.createSequentialGroup()
+        GroupLayout gl_pnlCommentAdvanced = new GroupLayout(pnlCommentAdvanced);
+        pnlCommentAdvanced.setLayout(gl_pnlCommentAdvanced);
+        gl_pnlCommentAdvanced.setHorizontalGroup(
+            gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jCheckBox13)
-                    .addGroup(jPanel15Layout.createSequentialGroup()
-                        .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(jLabel26)
-                            .addComponent(jLabel27)
-                            .addComponent(jLabel28))
+                .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(cbCommentOpaque)
+                    .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
+                        .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(lblFontPath)
+                            .addComponent(lblFontIndex)
+                            .addComponent(lblFontShadow))
                         .addGap(18, 18, 18)
-                        .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(jTextField23, javax.swing.GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)
-                            .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
-                                .addComponent(jTextField25, javax.swing.GroupLayout.Alignment.LEADING)
-                                .addComponent(jTextField24, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)))
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jButton6))
-                    .addComponent(jCheckBox12))
+                        .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(fldFontPath, GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)
+                            .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
+                                .addComponent(cmbFontShadow, GroupLayout.Alignment.LEADING)
+                                .addComponent(fldFontIndex, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)))
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(btnFontPath))
+                    .addComponent(cbFontSizeArrangeDisable))
                 .addContainerGap())
         );
-        jPanel15Layout.setVerticalGroup(
-            jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel15Layout.createSequentialGroup()
-                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel26)
-                    .addComponent(jTextField23, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton6))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel27)
-                    .addComponent(jTextField24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel28)
-                    .addComponent(jTextField25, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jCheckBox12)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jCheckBox13)
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        gl_pnlCommentAdvanced.setVerticalGroup(
+            gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
+                .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFontPath)
+                    .addComponent(fldFontPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnFontPath))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFontIndex)
+                    .addComponent(fldFontIndex, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFontShadow)
+                    .addComponent(cmbFontShadow, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(cbFontSizeArrangeDisable)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(cbCommentOpaque)
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
-        jPanel8.setLayout(jPanel8Layout);
-        jPanel8Layout.setHorizontalGroup(
-            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel8Layout.createSequentialGroup()
+        GroupLayout gl_pnlComment = new GroupLayout(pnlComment);
+        pnlComment.setLayout(gl_pnlComment);
+        gl_pnlComment.setHorizontalGroup(
+            gl_pnlComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlComment.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(jPanel15, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel14, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlComment.createParallelGroup(GroupLayout.Alignment.TRAILING)
+                    .addComponent(pnlCommentAdvanced, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlCommentStandard, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addContainerGap())
         );
-        jPanel8Layout.setVerticalGroup(
-            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel8Layout.createSequentialGroup()
+        gl_pnlComment.setVerticalGroup(
+            gl_pnlComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlComment.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(pnlCommentStandard, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlCommentAdvanced, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addContainerGap(168, Short.MAX_VALUE))
         );
 
-        jTabbedPane1.addTab("コメント", jPanel8);
+        tabbedPane.addTab("コメント", pnlComment);
 
-        jPanel10.setBorder(javax.swing.BorderFactory.createTitledBorder("ファイルパス"));
+        jPanel10.setBorder(BorderFactory.createTitledBorder("ファイルパス"));
 
-        jLabel15.setText("ffmpeg");
+        lblFfmpegPath.setText("ffmpeg");
 
-        jLabel16.setText("拡張ライブラリ");
+        lblFfmpegDllPath.setText("拡張ライブラリ");
 
-        jButton4.setText("...");
+        btnFfmpegPath.setText("...");
 
-        jButton5.setText("...");
+        btnFfmpegDllPath.setText("...");
 
-        javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
-        jPanel10.setLayout(jPanel10Layout);
-        jPanel10Layout.setHorizontalGroup(
-            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel10Layout.createSequentialGroup()
+        GroupLayout gl_jPanel10 = new GroupLayout(jPanel10);
+        jPanel10.setLayout(gl_jPanel10);
+        gl_jPanel10.setHorizontalGroup(
+            gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_jPanel10.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jLabel16)
-                    .addComponent(jLabel15))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jTextField14, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
-                    .addComponent(jTextField13, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jButton4, javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(jButton5, javax.swing.GroupLayout.Alignment.TRAILING))
+                .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(lblFfmpegDllPath)
+                    .addComponent(lblFfmpegPath))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(fldFfmpegDllPath, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
+                    .addComponent(fldFfmpegPath, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addComponent(btnFfmpegPath, GroupLayout.Alignment.TRAILING)
+                    .addComponent(btnFfmpegDllPath, GroupLayout.Alignment.TRAILING))
                 .addContainerGap())
         );
-        jPanel10Layout.setVerticalGroup(
-            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel10Layout.createSequentialGroup()
-                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel15)
-                    .addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton4))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel16)
-                    .addComponent(jTextField14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton5))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        gl_jPanel10.setVerticalGroup(
+            gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_jPanel10.createSequentialGroup()
+                .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFfmpegPath)
+                    .addComponent(fldFfmpegPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnFfmpegPath))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFfmpegDllPath)
+                    .addComponent(fldFfmpegDllPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(btnFfmpegDllPath))
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder("ffmpegパラメータ"));
+        pnlFfmpegParam.setBorder(BorderFactory.createTitledBorder("ffmpegパラメータ"));
 
-        buttonGroup1.add(jRadioButton1);
-        jRadioButton1.setText("オプションファイル");
+        buttonGroup1.add(rbFfmpegOptionFile);
+        rbFfmpegOptionFile.setText("オプションファイル");
 
-        buttonGroup1.add(jRadioButton2);
-        jRadioButton2.setText("直接入力");
+        buttonGroup1.add(rbFfmpegOptionDirectInput);
+        rbFfmpegOptionDirectInput.setText("直接入力");
 
-        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+        cmbFfmpegOptionFile.setModel(new DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
 
-        jPanel12.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+        pnlFfmpegParamOption.setBorder(BorderFactory.createEtchedBorder());
 
-        jLabel17.setText("出力動画の拡張子");
+        lblFfmpegOptionExtension.setText("出力動画の拡張子");
 
-        jLabel18.setText("メインオプション");
+        lblFfmpegOptionMain.setText("メインオプション");
 
-        jLabel19.setText("入力オプション");
+        lblFfmpegOptionIn.setText("入力オプション");
 
-        jLabel20.setText("出力オプション");
+        lblFfmpegOptionOut.setText("出力オプション");
 
-        jLabel21.setText("avfilterオプション");
+        lblFfmpegOptionAvfilter.setText("avfilterオプション");
 
-        jCheckBox8.setText("次のサイズに収まるよう縮小(-s)");
+        cbFfmpegOptionResize.setText("次のサイズに収まるよう縮小(-s)");
 
-        jLabel22.setText("横");
+        lblFfmpegOptionResizeWidth.setText("横");
 
-        jLabel23.setText("縦");
+        lblFfmpegOptionResizeHeight.setText("縦");
 
-        jCheckBox9.setText("アスペクト比を維持");
+        cbFfmpegOptionKeepAspect.setText("アスペクト比を維持");
 
-        javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);
-        jPanel12.setLayout(jPanel12Layout);
-        jPanel12Layout.setHorizontalGroup(
-            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel12Layout.createSequentialGroup()
-                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(jPanel12Layout.createSequentialGroup()
+        GroupLayout gl_pnlFfmpegParamOption = new GroupLayout(pnlFfmpegParamOption);
+        pnlFfmpegParamOption.setLayout(gl_pnlFfmpegParamOption);
+        gl_pnlFfmpegParamOption.setHorizontalGroup(
+            gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
+                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
+                    .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
                         .addContainerGap()
-                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(jLabel21)
-                            .addComponent(jLabel17)
-                            .addComponent(jLabel18)
-                            .addComponent(jLabel19)
-                            .addComponent(jLabel20))
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(jTextField17, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
-                            .addComponent(jTextField18, javax.swing.GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
-                            .addComponent(jTextField19, javax.swing.GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
-                            .addComponent(jTextField20, javax.swing.GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
-                            .addComponent(jTextField21, javax.swing.GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)))
-                    .addGroup(jPanel12Layout.createSequentialGroup()
+                        .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(lblFfmpegOptionAvfilter)
+                            .addComponent(lblFfmpegOptionExtension)
+                            .addComponent(lblFfmpegOptionMain)
+                            .addComponent(lblFfmpegOptionIn)
+                            .addComponent(lblFfmpegOptionOut))
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE)
+                            .addComponent(fldFfmpegOptionMain, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
+                            .addComponent(fldFfmpegOptionIn, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
+                            .addComponent(fldFfmpegOptionOut, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
+                            .addComponent(fldFfmpegOptionAv, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)))
+                    .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
                         .addGap(12, 12, 12)
-                        .addComponent(jCheckBox8)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                        .addComponent(jLabel22)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jTextField15, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(cbFfmpegOptionResize)
+                        .addPreferredGap(ComponentPlacement.UNRELATED)
+                        .addComponent(lblFfmpegOptionResizeWidth)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE)
                         .addGap(12, 12, 12)
-                        .addComponent(jLabel23)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jTextField16, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE))
-                    .addGroup(jPanel12Layout.createSequentialGroup()
+                        .addComponent(lblFfmpegOptionResizeHeight)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE))
+                    .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
                         .addGap(33, 33, 33)
-                        .addComponent(jCheckBox9)))
+                        .addComponent(cbFfmpegOptionKeepAspect)))
                 .addContainerGap())
         );
-        jPanel12Layout.setVerticalGroup(
-            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel12Layout.createSequentialGroup()
+        gl_pnlFfmpegParamOption.setVerticalGroup(
+            gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel17)
-                    .addComponent(jTextField17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel18)
-                    .addComponent(jTextField18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel19)
-                    .addComponent(jTextField19, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel20)
-                    .addComponent(jTextField20, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel21)
-                    .addComponent(jTextField21, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jCheckBox8)
-                    .addComponent(jLabel22)
-                    .addComponent(jTextField15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jLabel23)
-                    .addComponent(jTextField16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jCheckBox9)
-                .addContainerGap(43, Short.MAX_VALUE))
+                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFfmpegOptionExtension)
+                    .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFfmpegOptionMain)
+                    .addComponent(fldFfmpegOptionMain, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFfmpegOptionIn)
+                    .addComponent(fldFfmpegOptionIn, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFfmpegOptionOut)
+                    .addComponent(fldFfmpegOptionOut, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblFfmpegOptionAvfilter)
+                    .addComponent(fldFfmpegOptionAv, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(cbFfmpegOptionResize)
+                    .addComponent(lblFfmpegOptionResizeWidth)
+                    .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                    .addComponent(lblFfmpegOptionResizeHeight)
+                    .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(cbFfmpegOptionKeepAspect)
+                .addContainerGap())
         );
 
-        javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
-        jPanel11.setLayout(jPanel11Layout);
-        jPanel11Layout.setHorizontalGroup(
-            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel11Layout.createSequentialGroup()
+        GroupLayout gl_pnlFfmpegParam = new GroupLayout(pnlFfmpegParam);
+        pnlFfmpegParam.setLayout(gl_pnlFfmpegParam);
+        gl_pnlFfmpegParam.setHorizontalGroup(
+            gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
+            .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addGroup(jPanel11Layout.createSequentialGroup()
-                        .addComponent(jRadioButton1)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                    .addComponent(jRadioButton2))
+                .addGroup(gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
+                    .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
+                        .addComponent(rbFfmpegOptionFile)
+                        .addPreferredGap(ComponentPlacement.RELATED)
+                        .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                    .addComponent(rbFfmpegOptionDirectInput))
                 .addContainerGap())
         );
-        jPanel11Layout.setVerticalGroup(
-            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel11Layout.createSequentialGroup()
+        gl_pnlFfmpegParam.setVerticalGroup(
+            gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
+            .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jRadioButton1)
-                    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jRadioButton2)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(gl_pnlFfmpegParam.createParallelGroup(Alignment.BASELINE)
+                    .addComponent(rbFfmpegOptionFile)
+                    .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(rbFfmpegOptionDirectInput)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                 .addContainerGap())
         );
 
-        javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
-        jPanel9.setLayout(jPanel9Layout);
-        jPanel9Layout.setHorizontalGroup(
-            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel9Layout.createSequentialGroup()
+        GroupLayout gl_pnlFfmpeg = new GroupLayout(pnlFfmpeg);
+        pnlFfmpeg.setLayout(gl_pnlFfmpeg);
+        gl_pnlFfmpeg.setHorizontalGroup(
+            gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFfmpeg.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(jPanel11, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel10, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.TRAILING)
+                    .addComponent(pnlFfmpegParam, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(jPanel10, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addContainerGap())
         );
-        jPanel9Layout.setVerticalGroup(
-            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel9Layout.createSequentialGroup()
+        gl_pnlFfmpeg.setVerticalGroup(
+            gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlFfmpeg.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(jPanel10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlFfmpegParam, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                 .addContainerGap())
         );
 
-        jTabbedPane1.addTab("ffmpeg", jPanel9);
+        tabbedPane.addTab("ffmpeg", pnlFfmpeg);
 
-        jPanel16.setBorder(javax.swing.BorderFactory.createTitledBorder("NGワード"));
+        pnlNgWord.setBorder(BorderFactory.createTitledBorder("NGワード"));
 
-        jList3.setModel(new javax.swing.AbstractListModel() {
-            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
-            public int getSize() { return strings.length; }
-            public Object getElementAt(int i) { return strings[i]; }
-        });
-        jScrollPane3.setViewportView(jList3);
+        lstNgWord.setModel(mdlNgWord);
+        scrNgWord.setViewportView(lstNgWord);
 
-        jButton9.setText("追加");
+        btnNgWordAdd.setText("追加");
 
-        jButton10.setText("削除");
+        btnNgWordDel.setText("削除");
 
-        javax.swing.GroupLayout jPanel16Layout = new javax.swing.GroupLayout(jPanel16);
-        jPanel16.setLayout(jPanel16Layout);
-        jPanel16Layout.setHorizontalGroup(
-            jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel16Layout.createSequentialGroup()
+        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(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
-                    .addGroup(jPanel16Layout.createSequentialGroup()
-                        .addComponent(jTextField26, javax.swing.GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jButton9)
+                .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(jButton10)))
+                        .addComponent(btnNgWordDel)))
                 .addContainerGap())
         );
-        jPanel16Layout.setVerticalGroup(
-            jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel16Layout.createSequentialGroup()
-                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jTextField26, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton10)
-                    .addComponent(jButton9))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        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))
         );
 
-        jPanel20.setBorder(javax.swing.BorderFactory.createTitledBorder("NGID"));
+        pnlNgId.setBorder(BorderFactory.createTitledBorder("NGID"));
 
-        jList4.setModel(new javax.swing.AbstractListModel() {
-            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
-            public int getSize() { return strings.length; }
-            public Object getElementAt(int i) { return strings[i]; }
-        });
-        jScrollPane4.setViewportView(jList4);
+        lstNgId.setModel(mdlNgId);
+        scrNgId.setViewportView(lstNgId);
 
-        jButton11.setText("追加");
+        btnNgIdAdd.setText("追加");
 
-        jButton12.setText("削除");
+        btnNgIdDel.setText("削除");
 
-        javax.swing.GroupLayout jPanel20Layout = new javax.swing.GroupLayout(jPanel20);
-        jPanel20.setLayout(jPanel20Layout);
-        jPanel20Layout.setHorizontalGroup(
-            jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel20Layout.createSequentialGroup()
+        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(jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
-                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel20Layout.createSequentialGroup()
-                        .addComponent(jTextField27, javax.swing.GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jButton11)
+                .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(jButton12)))
+                        .addComponent(btnNgIdDel)))
                 .addContainerGap())
         );
-        jPanel20Layout.setVerticalGroup(
-            jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel20Layout.createSequentialGroup()
-                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jTextField27, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(jButton12)
-                    .addComponent(jButton11))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        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))
         );
 
-        javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13);
-        jPanel13.setLayout(jPanel13Layout);
-        jPanel13Layout.setHorizontalGroup(
-            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel13Layout.createSequentialGroup()
+        GroupLayout gl_pnlNgSetting = new GroupLayout(pnlNgSetting);
+        pnlNgSetting.setLayout(gl_pnlNgSetting);
+        gl_pnlNgSetting.setHorizontalGroup(
+            gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNgSetting.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(jPanel20, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel16, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.TRAILING)
+                    .addComponent(pnlNgId, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlNgWord, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addContainerGap())
         );
-        jPanel13Layout.setVerticalGroup(
-            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel13Layout.createSequentialGroup()
+        gl_pnlNgSetting.setVerticalGroup(
+            gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlNgSetting.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(pnlNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlNgId, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addContainerGap(82, Short.MAX_VALUE))
         );
 
-        jTabbedPane1.addTab("NG設定", jPanel13);
+        tabbedPane.addTab("NG設定", pnlNgSetting);
 
-        jPanel18.setBorder(javax.swing.BorderFactory.createTitledBorder("動画検索対象フォルダ"));
+        pnlSearchVideo.setBorder(BorderFactory.createTitledBorder("動画検索対象フォルダ"));
 
-        jList1.setModel(new javax.swing.AbstractListModel() {
-            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
-            public int getSize() { return strings.length; }
-            public Object getElementAt(int i) { return strings[i]; }
-        });
-        jScrollPane1.setViewportView(jList1);
+        lstSearchVideo.setModel(mdlSearchVideo);
+        srcSearchVideo.setViewportView(lstSearchVideo);
 
-        jButton7.setText("追加...");
+        btnSearchVideoAdd.setText("追加...");
 
-        jButton8.setText("削除");
+        btnSearchVideoDel.setText("削除");
 
-        javax.swing.GroupLayout jPanel18Layout = new javax.swing.GroupLayout(jPanel18);
-        jPanel18.setLayout(jPanel18Layout);
-        jPanel18Layout.setHorizontalGroup(
-            jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel18Layout.createSequentialGroup()
+        GroupLayout gl_pnlSearchVideo = new GroupLayout(pnlSearchVideo);
+        pnlSearchVideo.setLayout(gl_pnlSearchVideo);
+        gl_pnlSearchVideo.setHorizontalGroup(
+            gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addComponent(srcSearchVideo, GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearchVideo.createSequentialGroup()
                 .addContainerGap(269, Short.MAX_VALUE)
-                .addComponent(jButton7)
+                .addComponent(btnSearchVideoAdd)
                 .addGap(18, 18, 18)
-                .addComponent(jButton8)
+                .addComponent(btnSearchVideoDel)
                 .addContainerGap())
         );
-        jPanel18Layout.setVerticalGroup(
-            jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel18Layout.createSequentialGroup()
-                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jButton8)
-                    .addComponent(jButton7))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        gl_pnlSearchVideo.setVerticalGroup(
+            gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlSearchVideo.createSequentialGroup()
+                .addComponent(srcSearchVideo, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(btnSearchVideoDel)
+                    .addComponent(btnSearchVideoAdd))
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        jPanel19.setBorder(javax.swing.BorderFactory.createTitledBorder("コメント検索対象フォルダ"));
+        pnlSearchComment.setBorder(BorderFactory.createTitledBorder("コメント検索対象フォルダ"));
 
-        jList2.setModel(new javax.swing.AbstractListModel() {
-            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
-            public int getSize() { return strings.length; }
-            public Object getElementAt(int i) { return strings[i]; }
-        });
-        jScrollPane2.setViewportView(jList2);
+        lstSearchComment.setModel(mdlSearchComment);
+        srcSearchComment.setViewportView(lstSearchComment);
 
-        jButton13.setText("追加...");
+        btnSearchCommentAdd.setText("追加...");
 
-        jButton14.setText("削除");
+        btnSearchCommentDel.setText("削除");
 
-        javax.swing.GroupLayout jPanel19Layout = new javax.swing.GroupLayout(jPanel19);
-        jPanel19.setLayout(jPanel19Layout);
-        jPanel19Layout.setHorizontalGroup(
-            jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel19Layout.createSequentialGroup()
+        GroupLayout gl_pnlSearchComment = new GroupLayout(pnlSearchComment);
+        pnlSearchComment.setLayout(gl_pnlSearchComment);
+        gl_pnlSearchComment.setHorizontalGroup(
+            gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addComponent(srcSearchComment, GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearchComment.createSequentialGroup()
                 .addContainerGap(269, Short.MAX_VALUE)
-                .addComponent(jButton13)
+                .addComponent(btnSearchCommentAdd)
                 .addGap(18, 18, 18)
-                .addComponent(jButton14)
+                .addComponent(btnSearchCommentDel)
                 .addContainerGap())
         );
-        jPanel19Layout.setVerticalGroup(
-            jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel19Layout.createSequentialGroup()
-                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jButton14)
-                    .addComponent(jButton13))
+        gl_pnlSearchComment.setVerticalGroup(
+            gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlSearchComment.createSequentialGroup()
+                .addComponent(srcSearchComment, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addGroup(gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(btnSearchCommentDel)
+                    .addComponent(btnSearchCommentAdd))
                 .addContainerGap(16, Short.MAX_VALUE))
         );
 
-        jPanel21.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+        pnlSearchCache.setBorder(BorderFactory.createEtchedBorder());
 
-        jLabel29.setText("キャッシュ更新(秒)");
+        lblSearchCache.setText("キャッシュ更新(秒)");
 
-        javax.swing.GroupLayout jPanel21Layout = new javax.swing.GroupLayout(jPanel21);
-        jPanel21.setLayout(jPanel21Layout);
-        jPanel21Layout.setHorizontalGroup(
-            jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel21Layout.createSequentialGroup()
+        GroupLayout gl_pnlSearchCache = new GroupLayout(pnlSearchCache);
+        pnlSearchCache.setLayout(gl_pnlSearchCache);
+        gl_pnlSearchCache.setHorizontalGroup(
+            gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlSearchCache.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jLabel29)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jTextField28, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(lblSearchCache)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(fldSearchCache, GroupLayout.PREFERRED_SIZE, 55, GroupLayout.PREFERRED_SIZE)
                 .addContainerGap(269, Short.MAX_VALUE))
         );
-        jPanel21Layout.setVerticalGroup(
-            jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel21Layout.createSequentialGroup()
+        gl_pnlSearchCache.setVerticalGroup(
+            gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlSearchCache.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                    .addComponent(jLabel29)
-                    .addComponent(jTextField28, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblSearchCache)
+                    .addComponent(fldSearchCache, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        javax.swing.GroupLayout jPanel17Layout = new javax.swing.GroupLayout(jPanel17);
-        jPanel17.setLayout(jPanel17Layout);
-        jPanel17Layout.setHorizontalGroup(
-            jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel17Layout.createSequentialGroup()
+        GroupLayout gl_pnlSearch = new GroupLayout(pnlSearch);
+        pnlSearch.setLayout(gl_pnlSearch);
+        gl_pnlSearch.setHorizontalGroup(
+            gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearch.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
-                    .addComponent(jPanel21, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel19, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel18, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.TRAILING)
+                    .addComponent(pnlSearchCache, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlSearchComment, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(pnlSearchVideo, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addContainerGap())
         );
-        jPanel17Layout.setVerticalGroup(
-            jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(jPanel17Layout.createSequentialGroup()
+        gl_pnlSearch.setVerticalGroup(
+            gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addGroup(gl_pnlSearch.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(jPanel18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel19, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(pnlSearchVideo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlSearchComment, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(ComponentPlacement.RELATED)
+                .addComponent(pnlSearchCache, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addContainerGap(27, Short.MAX_VALUE))
         );
 
-        jTabbedPane1.addTab("検索", jPanel17);
+        tabbedPane.addTab("検索", pnlSearch);
+
+        final JPanel pnlButton = new JPanel();
+        final JButton btnOk = new JButton("OK");
+        btnOk.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                saveConfig();
+                dispose();
+            }
+        });
+        final JButton btnCancel = new JButton("Cancel");
+        pnlButton.add(btnOk);
+        pnlButton.add(btnCancel);
 
-        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        GroupLayout layout = new GroupLayout(getContentPane());
         getContentPane().setLayout(layout);
         layout.setHorizontalGroup(
-            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 460, Short.MAX_VALUE)
+            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addComponent(tabbedPane, GroupLayout.DEFAULT_SIZE, 460, Short.MAX_VALUE)
+            .addComponent(pnlButton)
         );
         layout.setVerticalGroup(
-            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(layout.createSequentialGroup()
-                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 451, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap(23, Short.MAX_VALUE))
+            layout.createSequentialGroup()
+                .addComponent(tabbedPane,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
+                .addComponent(pnlButton)
         );
 
         pack();
-    }// </editor-fold>//GEN-END:initComponents
+        setResizable(false);
+        loadConfig();
+    }
 
     /**
      * @param args the command line arguments
@@ -1045,9 +1084,9 @@ public class ConfigDialog extends javax.swing.JDialog {
          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
          */
         try {
-            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
+            for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                 if ("Nimbus".equals(info.getName())) {
-                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
+                    UIManager.setLookAndFeel(info.getClassName());
                     break;
                 }
             }
@@ -1057,7 +1096,7 @@ public class ConfigDialog extends javax.swing.JDialog {
             java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
         } catch (IllegalAccessException ex) {
             java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
-        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
+        } catch (UnsupportedLookAndFeelException ex) {
             java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
         }
         //</editor-fold>
@@ -1065,129 +1104,296 @@ public class ConfigDialog extends javax.swing.JDialog {
         /* Create and display the form */
         java.awt.EventQueue.invokeLater(new Runnable() {
 
+            @Override
             public void run() {
                 new ConfigDialog().setVisible(true);
             }
         });
     }
     // Variables declaration - do not modify//GEN-BEGIN:variables
-    private javax.swing.ButtonGroup buttonGroup1;
-    private javax.swing.JButton jButton1;
-    private javax.swing.JButton jButton10;
-    private javax.swing.JButton jButton11;
-    private javax.swing.JButton jButton12;
-    private javax.swing.JButton jButton13;
-    private javax.swing.JButton jButton14;
-    private javax.swing.JButton jButton2;
-    private javax.swing.JButton jButton3;
-    private javax.swing.JButton jButton4;
-    private javax.swing.JButton jButton5;
-    private javax.swing.JButton jButton6;
-    private javax.swing.JButton jButton7;
-    private javax.swing.JButton jButton8;
-    private javax.swing.JButton jButton9;
-    private javax.swing.JCheckBox jCheckBox1;
-    private javax.swing.JCheckBox jCheckBox10;
-    private javax.swing.JCheckBox jCheckBox11;
-    private javax.swing.JCheckBox jCheckBox12;
-    private javax.swing.JCheckBox jCheckBox13;
-    private javax.swing.JCheckBox jCheckBox2;
-    private javax.swing.JCheckBox jCheckBox3;
-    private javax.swing.JCheckBox jCheckBox4;
-    private javax.swing.JCheckBox jCheckBox5;
-    private javax.swing.JCheckBox jCheckBox6;
-    private javax.swing.JCheckBox jCheckBox7;
-    private javax.swing.JCheckBox jCheckBox8;
-    private javax.swing.JCheckBox jCheckBox9;
-    private javax.swing.JComboBox jComboBox1;
-    private javax.swing.JLabel jLabel1;
-    private javax.swing.JLabel jLabel10;
-    private javax.swing.JLabel jLabel11;
-    private javax.swing.JLabel jLabel12;
-    private javax.swing.JLabel jLabel13;
-    private javax.swing.JLabel jLabel14;
-    private javax.swing.JLabel jLabel15;
-    private javax.swing.JLabel jLabel16;
-    private javax.swing.JLabel jLabel17;
-    private javax.swing.JLabel jLabel18;
-    private javax.swing.JLabel jLabel19;
-    private javax.swing.JLabel jLabel2;
-    private javax.swing.JLabel jLabel20;
-    private javax.swing.JLabel jLabel21;
-    private javax.swing.JLabel jLabel22;
-    private javax.swing.JLabel jLabel23;
-    private javax.swing.JLabel jLabel24;
-    private javax.swing.JLabel jLabel25;
-    private javax.swing.JLabel jLabel26;
-    private javax.swing.JLabel jLabel27;
-    private javax.swing.JLabel jLabel28;
-    private javax.swing.JLabel jLabel29;
-    private javax.swing.JLabel jLabel3;
-    private javax.swing.JLabel jLabel4;
-    private javax.swing.JLabel jLabel5;
-    private javax.swing.JLabel jLabel6;
-    private javax.swing.JLabel jLabel7;
-    private javax.swing.JLabel jLabel8;
-    private javax.swing.JLabel jLabel9;
-    private javax.swing.JList jList1;
-    private javax.swing.JList jList2;
-    private javax.swing.JList jList3;
-    private javax.swing.JList jList4;
-    private javax.swing.JPanel jPanel1;
-    private javax.swing.JPanel jPanel10;
-    private javax.swing.JPanel jPanel11;
-    private javax.swing.JPanel jPanel12;
-    private javax.swing.JPanel jPanel13;
-    private javax.swing.JPanel jPanel14;
-    private javax.swing.JPanel jPanel15;
-    private javax.swing.JPanel jPanel16;
-    private javax.swing.JPanel jPanel17;
-    private javax.swing.JPanel jPanel18;
-    private javax.swing.JPanel jPanel19;
-    private javax.swing.JPanel jPanel2;
-    private javax.swing.JPanel jPanel20;
-    private javax.swing.JPanel jPanel21;
-    private javax.swing.JPanel jPanel3;
-    private javax.swing.JPanel jPanel4;
-    private javax.swing.JPanel jPanel5;
-    private javax.swing.JPanel jPanel6;
-    private javax.swing.JPanel jPanel7;
-    private javax.swing.JPanel jPanel8;
-    private javax.swing.JPanel jPanel9;
-    private javax.swing.JRadioButton jRadioButton1;
-    private javax.swing.JRadioButton jRadioButton2;
-    private javax.swing.JScrollPane jScrollPane1;
-    private javax.swing.JScrollPane jScrollPane2;
-    private javax.swing.JScrollPane jScrollPane3;
-    private javax.swing.JScrollPane jScrollPane4;
-    private javax.swing.JTabbedPane jTabbedPane1;
-    private javax.swing.JTextField jTextField1;
-    private javax.swing.JTextField jTextField10;
-    private javax.swing.JTextField jTextField11;
-    private javax.swing.JTextField jTextField12;
-    private javax.swing.JTextField jTextField13;
-    private javax.swing.JTextField jTextField14;
-    private javax.swing.JTextField jTextField15;
-    private javax.swing.JTextField jTextField16;
-    private javax.swing.JTextField jTextField17;
-    private javax.swing.JTextField jTextField18;
-    private javax.swing.JTextField jTextField19;
-    private javax.swing.JTextField jTextField2;
-    private javax.swing.JTextField jTextField20;
-    private javax.swing.JTextField jTextField21;
-    private javax.swing.JTextField jTextField22;
-    private javax.swing.JTextField jTextField23;
-    private javax.swing.JTextField jTextField24;
-    private javax.swing.JTextField jTextField25;
-    private javax.swing.JTextField jTextField26;
-    private javax.swing.JTextField jTextField27;
-    private javax.swing.JTextField jTextField28;
-    private javax.swing.JTextField jTextField3;
-    private javax.swing.JTextField jTextField4;
-    private javax.swing.JTextField jTextField5;
-    private javax.swing.JTextField jTextField6;
-    private javax.swing.JTextField jTextField7;
-    private javax.swing.JTextField jTextField8;
-    private javax.swing.JTextField jTextField9;
+
+    // ネットワーク
+    // ネットワーク - アカウント
+    private final JTextField fldMail;
+    private final JTextField fldPassword;
+    // ネットワーク - プロキシ
+    private final JCheckBox cbProxyUse;
+    private final JTextField fldProxyHost;
+    private final JTextField fldProxyPort;
+    // ファイル
+    // ファイル - 動画
+    private final JTextField fldVideoDir;
+    private final JButton btnVideoDir;
+    private final JTextField fldVideoFileNamePattern;
+    private final JCheckBox cbVideoLocal;
+    // ファイル - コメント
+    private final JTextField fldCommentDir;
+    private final JButton btnCommentDir;
+    private final JTextField fldCommentFileNamePattern;
+    private final JCheckBox cbCommentLocal;
+    // ファイル - 変換動画
+    private final JTextField fldOutputDir;
+    private final JTextField fldOutputFileNamePattern;
+    private final JButton btnOutputDir;
+    private final JCheckBox cbOutputEnable;
+    private final JCheckBox cbOutputCommentOverlay;
+    private final JCheckBox cbOutputDisplayProgress;
+    // ファイル - 禁則文字
+    private final JTextField fldReplaceFrom = new JTextField();
+    private final JTextField fldReplaceTo = new JTextField();
+    // コメント
+    // コメント
+    private final JCheckBox cbCommentSizeAuto;
+    private final JTextField fldCommentSizeManual;
+    private final JCheckBox cbCommentMinSizeAuto;
+    private final JTextField fldCommentMinSizeManual;
+    private final JCheckBox cbCommentDisplaySizeDefault;
+    private final JTextField fldCommentDisplaySizeManual;
+    // コメント - 高度な設定
+    private final JTextField fldFontPath;
+    private final JButton btnFontPath;
+    private final JTextField fldFontIndex;
+    private final JComboBox<String> cmbFontShadow = new JComboBox<>();
+    private final JCheckBox cbFontSizeArrangeDisable;
+    private final JCheckBox cbCommentOpaque;
+    // ffmpeg
+    // ffmpeg - ファイルパス
+    private final JTextField fldFfmpegPath;
+    private final JButton btnFfmpegPath;
+    private final JTextField fldFfmpegDllPath;
+    private final JButton btnFfmpegDllPath;
+    // ffmpeg - ffmpegパラメータ
+    private final JRadioButton rbFfmpegOptionFile;
+    private final JRadioButton rbFfmpegOptionDirectInput;
+    private final JComboBox cmbFfmpegOptionFile;
+    private final JTextField fldFfmpegOptionExtension;
+    private final JTextField fldFfmpegOptionMain;
+    private final JTextField fldFfmpegOptionIn;
+    private final JTextField fldFfmpegOptionOut;
+    private final JTextField fldFfmpegOptionAv;
+    private final JCheckBox cbFfmpegOptionResize;
+    private final JTextField fldFfmpegOptionResizeWidth;
+    private final JTextField fldFfmpegOptionResizeHeight;
+    private final JCheckBox cbFfmpegOptionKeepAspect;
+    // 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;
+    // 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 JList<String> lstSearchVideo;
+    private final DefaultListModel<String> mdlSearchVideo = new DefaultListModel<>();
+    private final JButton btnSearchVideoAdd;
+    private final JButton btnSearchVideoDel;
+    // 検索 - コメント検索対象フォルダ
+    private final JList<String> lstSearchComment;
+    private final DefaultListModel<String> mdlSearchComment = new DefaultListModel<>();
+    private final JButton btnSearchCommentAdd;
+    private final JButton btnSearchCommentDel;
+    // 検索 - キャッシュ更新(秒)
+    private final JTextField fldSearchCache;
+
+
     // End of variables declaration//GEN-END:variables
+
+    private void loadConfig() {
+        final Config p = Config.INSTANCE;
+
+        /*
+         * ネットワーク - アカウント
+         */
+        fldMail.setText(p.getId());
+        fldPassword.setText(p.getPassword());
+
+        /*
+         * ネットワーク - プロキシ
+         */
+        cbProxyUse.setSelected(p.getProxyUse());
+        fldProxyHost.setText(p.getProxyHost());
+        fldProxyPort.setText(p.getProxyPort());
+
+        /*
+         * ファイル - 動画
+         */
+        fldVideoDir.setText(p.getVideoDir());
+        fldVideoFileNamePattern.setText(p.getVideoFileNamePattern());
+        cbVideoLocal.setSelected(p.getVideoUseLocal());
+
+        /*
+         * ファイル - コメント
+         */
+        fldCommentDir.setText(p.getCommentDir());
+        fldCommentFileNamePattern.setText(p.getCommentFileNamePattern());
+        cbCommentLocal.setSelected(p.getCommentUseLocal());
+
+        /*
+         * ファイル - 変換動画
+         */
+        fldOutputDir.setText(p.getOutputDir());
+        fldOutputFileNamePattern.setText(p.getOutputFileNamePattern());
+        cbOutputEnable.setSelected(p.getOutputEnable());
+        cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
+        cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
+
+        /*
+         * ファイル - 禁則文字
+         */
+        fldReplaceFrom.setText(p.getReplaceFrom());
+        fldReplaceTo.setText(p.getReplaceTo());
+
+        /**
+         * コメント
+         */
+        cbCommentSizeAuto.setSelected(p.getCommentSizeAutosize());
+        fldCommentSizeManual.setText(p.getCommentSizeManual());
+        cbCommentMinSizeAuto.setSelected(p.getCommentMinSizeAutosize());
+        fldCommentSizeManual.setText(p.getCommentMinSizeManual());
+        cbCommentDisplaySizeDefault.setSelected(p.getCommentDisplaySizeDefault());
+        fldCommentDisplaySizeManual.setText(p.getCommentDisplaySizeManual());
+
+        /**
+         * コメント - 高度な設定
+         */
+        fldFontPath.setText(p.getFontPath());
+        fldFontIndex.setText(p.getFontIndex());
+        cmbFontShadow.setSelectedIndex(p.getFontShadow());
+        cbFontSizeArrangeDisable.setSelected(p.getFontSizeArrangeDisable());
+        cbCommentOpaque.setSelected(p.getCommentOpaque());
+
+        /*
+         * ffmpeg - ファイルパス
+         */
+        fldFfmpegPath.setText(p.getFfmpegPath());
+        fldFfmpegDllPath.setText(p.getFfmpegDllPath());
+
+        /*
+         * ffmpeg - ffmpegパラメータ
+         */
+        rbFfmpegOptionFile.setSelected(!p.getFfmpegParamInputDirect());
+        rbFfmpegOptionDirectInput.setSelected(p.getFfmpegParamInputDirect());
+        // TODO cmbFfmpegOptionFile
+        fldFfmpegOptionExtension.setText(p.getFfmpegExtension());
+        fldFfmpegOptionMain.setText(p.getFfmpegMainOption());
+        fldFfmpegOptionIn.setText(p.getFfmpegInOption());
+        fldFfmpegOptionOut.setText(p.getFfmpegOutOption());
+        fldFfmpegOptionAv.setText(p.getFfmpegAvOption());
+        cbFfmpegOptionResize.setSelected(p.getFfmpegResizeEnable());
+        fldFfmpegOptionResizeWidth.setText(p.getFfmpegResizeWidth());
+        fldFfmpegOptionResizeHeight.setText(p.getFfmpegResizeHeight());
+        cbFfmpegOptionKeepAspect.setSelected(p.getFfmpegKeepAspect());
+
+        /*
+         * NG 設定
+         */
+        final List<String> ngWords = p.getNgWords();
+        for (String s : ngWords) {
+            mdlNgWord.addElement(s);
+        }
+        final List<String> ngIds = p.getNgIds();
+        for (String s : ngIds) {
+            mdlNgId.addElement(s);
+        }
+    }
+    private void saveConfig() {
+        final Config p = Config.INSTANCE;
+
+        /*
+         * ネットワーク - アカウント
+         */
+
+        p.setId(fldMail.getText());
+        p.setPassword(fldPassword.getText());
+
+        /*
+         * ネットワーク - プロキシ
+         */
+        p.setProxyUse(cbProxyUse.isSelected());
+        p.setProxyHost(fldProxyHost.getText());
+        p.setProxyPort(fldProxyPort.getText());
+
+        /*
+         * ファイル - 動画
+         */
+        p.setVideoDir(fldVideoDir.getText());
+        p.setVideoFileNamePattern(fldVideoFileNamePattern.getText());
+        p.setVideoUseLocal(cbVideoLocal.isSelected());
+
+        /*
+         * ファイル - コメント
+         */
+        p.setCommentDir(fldCommentDir.getText());
+        p.setCommentFileNamePattern(fldCommentFileNamePattern.getText());
+        p.setCommentUseLocal(cbCommentLocal.isSelected());
+
+        /*
+         * ファイル - 変換動画
+         */
+        p.setOutputDir(fldOutputDir.getText());
+        p.setOutputFileNamePattern(fldOutputFileNamePattern.getText());
+        p.setOutputEnable(cbOutputEnable.isSelected());
+        p.setOutputCommentOverlay(cbOutputCommentOverlay.isSelected());
+        p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
+
+        /*
+         * ファイル - 禁則文字
+         */
+        p.setReplaceFrom(fldReplaceFrom.getText());
+        p.setReplaceTo(fldReplaceTo.getText());
+
+        /*
+         * コメント
+         */
+        p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());
+        p.setCommentSizeManual(fldCommentSizeManual.getText());
+        p.setCommentMinSizeAutosize(cbCommentMinSizeAuto.isSelected());
+        p.setCommentMinSizeManual(fldCommentSizeManual.getText());
+        p.setCommentDisplaySizeDefault(cbCommentDisplaySizeDefault.isSelected());
+        p.setCommentDisplaySizeManual(fldCommentDisplaySizeManual.getText());
+
+        /**
+         * コメント - 高度な設定
+         */
+        p.setFontPath(fldFontPath.getText());
+        p.setFontIndex(fldFontIndex.getText());
+        p.setFontShadow(cmbFontShadow.getSelectedIndex());
+        p.setFontSizeArrangeDisable(cbFontSizeArrangeDisable.isSelected());
+        p.setCommentOpaque(cbCommentOpaque.isSelected());
+
+        /*
+         * ffmpeg - ファイルパス
+         */
+        p.setFfmpegPath(fldFfmpegPath.getText());
+        p.setFfmpegDllPath(fldFfmpegDllPath.getText());
+
+        /*
+         * ffmpeg - ffmpegパラメータ
+         */
+        p.setFfmpegParamInputDirect(rbFfmpegOptionDirectInput.isSelected());
+        // TODO cmbFfmpegOptionFile
+        p.setFfmpegExtension(fldFfmpegOptionExtension.getText());
+        p.setFfmpegMainOption(fldFfmpegOptionMain.getText());
+        p.setFfmpegInOption(fldFfmpegOptionIn.getText());
+        p.setFfmpegOutOption(fldFfmpegOptionOut.getText());
+        p.setFfmpegAvOption(fldFfmpegOptionAv.getText());
+        p.setFfmpegResizeEnable(cbFfmpegOptionResize.isSelected());
+        p.setFfmpegResizeWidth(fldFfmpegOptionResizeWidth.getText());
+        p.setFfmpegResizeHeight(fldFfmpegOptionResizeHeight.getText());
+        p.setFfmpegKeepAspect(cbFfmpegOptionKeepAspect.isSelected());
+
+        /*
+         * NG 設定
+         */
+        p.setNgWords(Arrays.asList((String[]) mdlNgWord.toArray()));
+        p.setNgIds(Arrays.asList((String[])mdlNgId.toArray()));
+
+    }
 }