From: yukihane Date: Wed, 31 Aug 2011 07:58:39 +0000 (+0900) Subject: NG設定パネルを別クラス化 X-Git-Tag: test20110903_ver2.a.0~62 X-Git-Url: http://git.sourceforge.jp/view?p=coroid%2Finqubus.git;a=commitdiff_plain;h=1cc3a1697731d1dc43f2cba7c61e14727a0d2631 NG設定パネルを別クラス化 --- diff --git a/frontend/src/yukihane/inqubus/gui/ConfigDialog.java b/frontend/src/yukihane/inqubus/gui/ConfigDialog.java index 0989aab..0b5704b 100644 --- a/frontend/src/yukihane/inqubus/gui/ConfigDialog.java +++ b/frontend/src/yukihane/inqubus/gui/ConfigDialog.java @@ -127,18 +127,7 @@ public class ConfigDialog extends JDialog { btnFfmpegPath = new JButton(); btnFfmpegDllPath = new JButton(); final JPanel pnlNgSetting = new JPanel(); - final JPanel pnlNgWord = new JPanel(); - final JScrollPane scrNgWord = new JScrollPane(); - lstNgWord = new JList<>(); - fldNgWord = new JTextField(); - btnNgWordAdd = new JButton(); - btnNgWordDel = new JButton(); - final JPanel pnlNgId = new JPanel(); final JScrollPane scrNgId = new JScrollPane(); - lstNgId = new JList<>(); - fldNgId = new JTextField(); - btnNgIdAdd = new JButton(); - btnNgIdDel = new JButton(); final JPanel pnlSearch = new JPanel(); final JPanel pnlSearchVideo = new JPanel(); final JScrollPane srcSearchVideo = new JScrollPane(); @@ -690,79 +679,8 @@ public class ConfigDialog extends JDialog { tabbedPane.addTab("ffmpeg", pnlFfmpeg); pnlNgWord.setBorder(BorderFactory.createTitledBorder("NGワード")); - - lstNgWord.setModel(mdlNgWord); - scrNgWord.setViewportView(lstNgWord); - - btnNgWordAdd.setText("追加"); - - btnNgWordDel.setText("削除"); - - GroupLayout gl_pnlNgWord = new GroupLayout(pnlNgWord); - pnlNgWord.setLayout(gl_pnlNgWord); - gl_pnlNgWord.setHorizontalGroup( - gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(gl_pnlNgWord.createSequentialGroup() - .addContainerGap() - .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE) - .addGroup(gl_pnlNgWord.createSequentialGroup() - .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE) - .addPreferredGap(ComponentPlacement.RELATED) - .addComponent(btnNgWordAdd) - .addGap(18, 18, 18) - .addComponent(btnNgWordDel))) - .addContainerGap()) - ); - gl_pnlNgWord.setVerticalGroup( - gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(gl_pnlNgWord.createSequentialGroup() - .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE) - .addPreferredGap(ComponentPlacement.RELATED) - .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(btnNgWordDel) - .addComponent(btnNgWordAdd)) - .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - pnlNgId.setBorder(BorderFactory.createTitledBorder("NGID")); - lstNgId.setModel(mdlNgId); - scrNgId.setViewportView(lstNgId); - - btnNgIdAdd.setText("追加"); - - btnNgIdDel.setText("削除"); - - GroupLayout gl_pnlNgId = new GroupLayout(pnlNgId); - pnlNgId.setLayout(gl_pnlNgId); - gl_pnlNgId.setHorizontalGroup( - gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(gl_pnlNgId.createSequentialGroup() - .addContainerGap() - .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(scrNgId, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE) - .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNgId.createSequentialGroup() - .addComponent(fldNgId, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE) - .addPreferredGap(ComponentPlacement.RELATED) - .addComponent(btnNgIdAdd) - .addGap(18, 18, 18) - .addComponent(btnNgIdDel))) - .addContainerGap()) - ); - gl_pnlNgId.setVerticalGroup( - gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(gl_pnlNgId.createSequentialGroup() - .addComponent(scrNgId, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE) - .addPreferredGap(ComponentPlacement.RELATED) - .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(fldNgId, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(btnNgIdDel) - .addComponent(btnNgIdAdd)) - .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - GroupLayout gl_pnlNgSetting = new GroupLayout(pnlNgSetting); pnlNgSetting.setLayout(gl_pnlNgSetting); gl_pnlNgSetting.setHorizontalGroup( @@ -1084,17 +1002,9 @@ public class ConfigDialog extends JDialog { private final FfmpegParamPanel pnlFfmpegParam = new FfmpegParamPanel(); // NG設定 // NG設定 - NGワード - private final JList lstNgWord; - private final DefaultListModel mdlNgWord = new DefaultListModel<>(); - private final JTextField fldNgWord; - private final JButton btnNgWordAdd; - private final JButton btnNgWordDel; + private final NgRegisterPanel pnlNgWord = new NgRegisterPanel(); // NG設定 - NGID - private final JList lstNgId; - private final DefaultListModel mdlNgId = new DefaultListModel<>(); - private final JTextField fldNgId; - private final JButton btnNgIdAdd; - private final JButton btnNgIdDel; + private final NgRegisterPanel pnlNgId = new NgRegisterPanel(); // 検索 // 検索 - 動画検索対象フォルダ private final JList lstSearchVideo; @@ -1196,13 +1106,9 @@ public class ConfigDialog extends JDialog { * NG 設定 */ final List ngWords = p.getNgWords(); - for (String s : ngWords) { - mdlNgWord.addElement(s); - } + pnlNgWord.init(ngWords); final List ngIds = p.getNgIds(); - for (String s : ngIds) { - mdlNgId.addElement(s); - } + pnlNgId.init(ngIds); /* * システム @@ -1302,16 +1208,8 @@ public class ConfigDialog extends JDialog { /* * NG 設定 */ - final List ngWords = new ArrayList<>(mdlNgId.getSize()); - for (int i = 0; i < mdlNgId.getSize(); i++) { - ngWords.add(mdlNgId.get(i)); - } - p.setNgWords(ngWords); - final List ngIds = new ArrayList<>(mdlNgWord.getSize()); - for(int i = 0; i mdlNgWord = new DefaultListModel<>(); + private final JList lstNgWord = new JList<>(); + private final JTextField fldNgWord = new JTextField(); + private final JButton btnNgWordAdd = new JButton("追加"); + private final JButton btnNgWordDel = new JButton("削除"); + + NgRegisterPanel() { + final JScrollPane scrNgWord = new JScrollPane(); + lstNgWord.setModel(mdlNgWord); + scrNgWord.setViewportView(lstNgWord); + + + GroupLayout gl_pnlNgWord = new GroupLayout(this); + setLayout(gl_pnlNgWord); + gl_pnlNgWord.setHorizontalGroup( + gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(gl_pnlNgWord.createSequentialGroup() + .addContainerGap() + .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING) + .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE) + .addGroup(gl_pnlNgWord.createSequentialGroup() + .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE) + .addPreferredGap(ComponentPlacement.RELATED) + .addComponent(btnNgWordAdd) + .addGap(18, 18, 18) + .addComponent(btnNgWordDel))) + .addContainerGap()) + ); + gl_pnlNgWord.setVerticalGroup( + gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup(gl_pnlNgWord.createSequentialGroup() + .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(ComponentPlacement.RELATED) + .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + .addComponent(btnNgWordDel) + .addComponent(btnNgWordAdd)) + .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + } + + void init(List ngWords) { + for (String s : ngWords) { + mdlNgWord.addElement(s); + } + } + + List getAllElements() { + List res = new ArrayList<>(mdlNgWord.getSize()); + for (int i = 0; i < mdlNgWord.getSize(); i++) { + res.add(mdlNgWord.get(i)); + } + return res; + } +}