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();
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(
private final FfmpegParamPanel pnlFfmpegParam = new FfmpegParamPanel();
// NG設定
// NG設定 - NGワード
- private final JList<String> lstNgWord;
- private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
- private final JTextField fldNgWord;
- private final JButton btnNgWordAdd;
- private final JButton btnNgWordDel;
+ private final NgRegisterPanel pnlNgWord = new NgRegisterPanel();
// NG設定 - NGID
- private final JList<String> lstNgId;
- private final DefaultListModel<String> mdlNgId = new DefaultListModel<>();
- private final JTextField fldNgId;
- private final JButton btnNgIdAdd;
- private final JButton btnNgIdDel;
+ private final NgRegisterPanel pnlNgId = new NgRegisterPanel();
// 検索
// 検索 - 動画検索対象フォルダ
private final JList<String> lstSearchVideo;
* NG 設定
*/
final List<String> ngWords = p.getNgWords();
- for (String s : ngWords) {
- mdlNgWord.addElement(s);
- }
+ pnlNgWord.init(ngWords);
final List<String> ngIds = p.getNgIds();
- for (String s : ngIds) {
- mdlNgId.addElement(s);
- }
+ pnlNgId.init(ngIds);
/*
* システム
/*
* NG 設定
*/
- final List<String> ngWords = new ArrayList<>(mdlNgId.getSize());
- for (int i = 0; i < mdlNgId.getSize(); i++) {
- ngWords.add(mdlNgId.get(i));
- }
- p.setNgWords(ngWords);
- final List<String> ngIds = new ArrayList<>(mdlNgWord.getSize());
- for(int i = 0; i<mdlNgWord.getSize();i++) {
- ngIds.add(mdlNgWord.get(i));
- }
- p.setNgIds(ngIds);
+ p.setNgWords(pnlNgWord.getAllElements());
+ p.setNgIds(pnlNgId.getAllElements());
/*
* システム
--- /dev/null
+package yukihane.inqubus.gui;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.DefaultListModel;
+import javax.swing.GroupLayout;
+import javax.swing.JButton;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import javax.swing.LayoutStyle.ComponentPlacement;
+
+/**
+ *
+ * @author yuki
+ */
+class NgRegisterPanel extends JPanel {
+ private static final long serialVersionUID = 1L;
+ private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
+ private final JList<String> lstNgWord = new JList<>();
+ private final JTextField fldNgWord = new JTextField();
+ private final JButton btnNgWordAdd = new JButton("追加");
+ private final JButton btnNgWordDel = new JButton("削除");
+
+ NgRegisterPanel() {
+ final JScrollPane scrNgWord = new JScrollPane();
+ lstNgWord.setModel(mdlNgWord);
+ scrNgWord.setViewportView(lstNgWord);
+
+
+ GroupLayout gl_pnlNgWord = new GroupLayout(this);
+ setLayout(gl_pnlNgWord);
+ gl_pnlNgWord.setHorizontalGroup(
+ gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(gl_pnlNgWord.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
+ .addGroup(gl_pnlNgWord.createSequentialGroup()
+ .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addComponent(btnNgWordAdd)
+ .addGap(18, 18, 18)
+ .addComponent(btnNgWordDel)))
+ .addContainerGap())
+ );
+ gl_pnlNgWord.setVerticalGroup(
+ gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(gl_pnlNgWord.createSequentialGroup()
+ .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnNgWordDel)
+ .addComponent(btnNgWordAdd))
+ .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
+
+ }
+
+ void init(List<String> ngWords) {
+ for (String s : ngWords) {
+ mdlNgWord.addElement(s);
+ }
+ }
+
+ List<String> getAllElements() {
+ List<String> res = new ArrayList<>(mdlNgWord.getSize());
+ for (int i = 0; i < mdlNgWord.getSize(); i++) {
+ res.add(mdlNgWord.get(i));
+ }
+ return res;
+ }
+}