4 * Created on 2011/08/20, 16:33:03
6 package yukihane.inqubus.gui;
8 import java.util.Arrays;
10 import javax.swing.BorderFactory;
11 import javax.swing.ButtonGroup;
12 import javax.swing.DefaultComboBoxModel;
13 import javax.swing.DefaultListModel;
14 import javax.swing.GroupLayout;
15 import javax.swing.GroupLayout.Alignment;
16 import javax.swing.JButton;
17 import javax.swing.JCheckBox;
18 import javax.swing.JComboBox;
19 import javax.swing.JDialog;
20 import javax.swing.JFrame;
21 import javax.swing.JLabel;
22 import javax.swing.JList;
23 import javax.swing.JPanel;
24 import javax.swing.JRadioButton;
25 import javax.swing.JScrollPane;
26 import javax.swing.JTabbedPane;
27 import javax.swing.JTextField;
28 import javax.swing.LayoutStyle.ComponentPlacement;
29 import javax.swing.UIManager;
30 import javax.swing.UnsupportedLookAndFeelException;
31 import javax.swing.WindowConstants;
32 import yukihane.inqubus.Config;
38 public class ConfigDialog extends JDialog {
39 private static final long serialVersionUID = 1L;
41 /** Creates new form Properties */
42 public ConfigDialog() {
46 public ConfigDialog(JFrame owner){
49 final ButtonGroup buttonGroup1 = new ButtonGroup();
50 final JTabbedPane tabbedPane = new JTabbedPane();
51 final JPanel pnlNetwork = new JPanel();
52 final JPanel pnlAccount = new JPanel();
53 final JLabel lblMail = new JLabel();
54 fldMail = new JTextField();
55 final JLabel lblPassword = new JLabel();
56 fldPassword = new JTextField();
57 final JPanel pnlProxy = new JPanel();
58 cbProxyUse = new JCheckBox();
59 final JLabel lblProxyHost = new JLabel();
60 final JLabel lblProxyPort = new JLabel();
61 fldProxyHost = new JTextField();
62 fldProxyPort = new JTextField();
63 final JPanel pnlFile = new JPanel();
64 final JPanel pnlFileVideo = new JPanel();
65 final JLabel lblVideoDir = new JLabel();
66 final JLabel lblVideoFileNamepattern = new JLabel();
67 fldVideoDir = new JTextField();
68 fldVideoFileNamePattern = new JTextField();
69 btnVideoDir = new JButton();
70 cbVideoLocal = new JCheckBox();
71 final JPanel pnlFileComment = new JPanel();
72 final JLabel lblCommentDir = new JLabel();
73 final JLabel lblCommentFileNamePattern = new JLabel();
74 fldCommentDir = new JTextField();
75 fldCommentFileNamePattern = new JTextField();
76 btnCommentDir = new JButton();
77 cbCommentLocal = new JCheckBox();
78 final JPanel pnlFileOutput = new JPanel();
79 final JLabel lblOutputDir = new JLabel();
80 final JLabel lblOutputFileNamePattern = new JLabel();
81 fldOutputDir = new JTextField();
82 fldOutputFileNamePattern = new JTextField();
83 btnOutputDir = new JButton();
84 cbOutputEnable = new JCheckBox();
85 cbOutputCommentOverlay = new JCheckBox();
86 cbOutputDisplayProgress = new JCheckBox();
87 final JPanel pnlComment = new JPanel();
88 final JPanel pnlCommentStandard = new JPanel();
89 final JLabel lblCommentSize = new JLabel();
90 cbCommentSizeAuto = new JCheckBox();
91 final JLabel lblCommentSizeManual = new JLabel();
92 fldCommentSizeManual = new JTextField();
93 final JLabel lblCommentMinSize = new JLabel();
94 cbCommentMinSizeAuto = new JCheckBox();
95 fldCommentMinSizeManual = new JTextField();
96 final JLabel lblCommentMinSizeManual = new JLabel();
97 final JLabel lblCommentDisplayMax = new JLabel();
98 cbCommentDisplaySizeDefault = new JCheckBox();
99 final JLabel lblCommentDisplayMaxManual = new JLabel();
100 fldCommentDisplaySizeManual = new JTextField();
101 final JPanel pnlCommentAdvanced = new JPanel();
102 final JLabel lblFontPath = new JLabel();
103 cbFontSizeArrangeDisable = new JCheckBox();
104 cbCommentOpaque = new JCheckBox();
105 fldFontPath = new JTextField();
106 btnFontPath = new JButton();
107 final JLabel lblFontIndex = new JLabel();
108 final JLabel lblFontShadow = new JLabel();
109 fldFontIndex = new JTextField();
110 final JPanel pnlFfmpeg = new JPanel();
111 final JPanel jPanel10 = new JPanel();
112 final JLabel lblFfmpegPath = new JLabel();
113 final JLabel lblFfmpegDllPath = new JLabel();
114 fldFfmpegPath = new JTextField();
115 fldFfmpegDllPath = new JTextField();
116 btnFfmpegPath = new JButton();
117 btnFfmpegDllPath = new JButton();
118 final JPanel pnlFfmpegParam = new JPanel();
119 rbFfmpegOptionFile = new JRadioButton();
120 rbFfmpegOptionDirectInput = new JRadioButton();
121 cmbFfmpegOptionFile = new JComboBox();
122 final JPanel pnlFfmpegParamOption = new JPanel();
123 final JLabel lblFfmpegOptionExtension = new JLabel();
124 final JLabel lblFfmpegOptionMain = new JLabel();
125 final JLabel lblFfmpegOptionIn = new JLabel();
126 final JLabel lblFfmpegOptionOut = new JLabel();
127 final JLabel lblFfmpegOptionAvfilter = new JLabel();
128 cbFfmpegOptionResize = new JCheckBox();
129 final JLabel lblFfmpegOptionResizeWidth = new JLabel();
130 fldFfmpegOptionResizeWidth = new JTextField();
131 final JLabel lblFfmpegOptionResizeHeight = new JLabel();
132 fldFfmpegOptionResizeHeight = new JTextField();
133 cbFfmpegOptionKeepAspect = new JCheckBox();
134 fldFfmpegOptionExtension = new JTextField();
135 fldFfmpegOptionMain = new JTextField();
136 fldFfmpegOptionIn = new JTextField();
137 fldFfmpegOptionOut = new JTextField();
138 fldFfmpegOptionAv = new JTextField();
139 final JPanel pnlNgSetting = new JPanel();
140 final JPanel pnlNgWord = new JPanel();
141 final JScrollPane scrNgWord = new JScrollPane();
142 lstNgWord = new JList<>();
143 fldNgWord = new JTextField();
144 btnNgWordAdd = new JButton();
145 btnNgWordDel = new JButton();
146 final JPanel pnlNgId = new JPanel();
147 final JScrollPane scrNgId = new JScrollPane();
148 lstNgId = new JList<>();
149 fldNgId = new JTextField();
150 btnNgIdAdd = new JButton();
151 btnNgIdDel = new JButton();
152 final JPanel pnlSearch = new JPanel();
153 final JPanel pnlSearchVideo = new JPanel();
154 final JScrollPane srcSearchVideo = new JScrollPane();
155 lstSearchVideo = new JList<>();
156 btnSearchVideoAdd = new JButton();
157 btnSearchVideoDel = new JButton();
158 final JPanel pnlSearchComment = new JPanel();
159 final JScrollPane srcSearchComment = new JScrollPane();
160 lstSearchComment = new JList<>();
161 btnSearchCommentAdd = new JButton();
162 btnSearchCommentDel = new JButton();
163 final JPanel pnlSearchCache = new JPanel();
164 final JLabel lblSearchCache = new JLabel();
165 fldSearchCache = new JTextField();
167 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
169 pnlNetwork.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
171 pnlAccount.setBorder(BorderFactory.createTitledBorder("アカウント"));
173 lblMail.setText("ID(メールアドレス)");
175 lblPassword.setText("パスワード");
177 GroupLayout gl_pnlAccount = new GroupLayout(pnlAccount);
178 pnlAccount.setLayout(gl_pnlAccount);
179 gl_pnlAccount.setHorizontalGroup(
180 gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
181 .addGroup(gl_pnlAccount.createSequentialGroup()
183 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
184 .addComponent(lblMail)
185 .addComponent(lblPassword))
186 .addPreferredGap(ComponentPlacement.RELATED)
187 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
188 .addComponent(fldPassword, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
189 .addComponent(fldMail, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE))
192 gl_pnlAccount.setVerticalGroup(
193 gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
194 .addGroup(gl_pnlAccount.createSequentialGroup()
196 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
197 .addComponent(lblMail)
198 .addComponent(fldMail, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
199 .addPreferredGap(ComponentPlacement.RELATED)
200 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
201 .addComponent(lblPassword)
202 .addComponent(fldPassword, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
203 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
206 pnlProxy.setBorder(BorderFactory.createTitledBorder("プロキシ"));
208 cbProxyUse.setText("プロキシを使用する");
210 lblProxyHost.setText("ホスト名");
212 lblProxyPort.setText("ポート番号");
214 GroupLayout gl_pnlProxy = new GroupLayout(pnlProxy);
215 pnlProxy.setLayout(gl_pnlProxy);
216 gl_pnlProxy.setHorizontalGroup(
217 gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
218 .addGroup(gl_pnlProxy.createSequentialGroup()
220 .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
221 .addComponent(cbProxyUse)
222 .addGroup(gl_pnlProxy.createSequentialGroup()
223 .addComponent(lblProxyHost)
225 .addComponent(fldProxyHost, GroupLayout.PREFERRED_SIZE, 168, GroupLayout.PREFERRED_SIZE))
226 .addGroup(gl_pnlProxy.createSequentialGroup()
227 .addComponent(lblProxyPort)
228 .addPreferredGap(ComponentPlacement.RELATED)
229 .addComponent(fldProxyPort, GroupLayout.PREFERRED_SIZE, 76, GroupLayout.PREFERRED_SIZE)))
230 .addContainerGap(181, Short.MAX_VALUE))
232 gl_pnlProxy.setVerticalGroup(
233 gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
234 .addGroup(gl_pnlProxy.createSequentialGroup()
236 .addComponent(cbProxyUse)
237 .addPreferredGap(ComponentPlacement.RELATED)
238 .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.BASELINE)
239 .addComponent(lblProxyHost)
240 .addComponent(fldProxyHost, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
241 .addPreferredGap(ComponentPlacement.RELATED)
242 .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.BASELINE)
243 .addComponent(lblProxyPort)
244 .addComponent(fldProxyPort, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
245 .addContainerGap(39, Short.MAX_VALUE))
248 GroupLayout gl_pnlNetwork = new GroupLayout(pnlNetwork);
249 pnlNetwork.setLayout(gl_pnlNetwork);
250 gl_pnlNetwork.setHorizontalGroup(
251 gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.LEADING)
252 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNetwork.createSequentialGroup()
254 .addGroup(gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.TRAILING)
255 .addComponent(pnlProxy, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
256 .addComponent(pnlAccount, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
259 gl_pnlNetwork.setVerticalGroup(
260 gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.LEADING)
261 .addGroup(gl_pnlNetwork.createSequentialGroup()
263 .addComponent(pnlAccount, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
264 .addPreferredGap(ComponentPlacement.RELATED)
265 .addComponent(pnlProxy, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
266 .addContainerGap(178, Short.MAX_VALUE))
269 tabbedPane.addTab("ネットワーク", pnlNetwork);
271 pnlFileVideo.setBorder(BorderFactory.createTitledBorder("動画"));
273 lblVideoDir.setText("保存フォルダ");
275 lblVideoFileNamepattern.setText("ファイル名規則");
277 btnVideoDir.setText("...");
279 cbVideoLocal.setText("local");
281 GroupLayout gl_pnlFileVideo = new GroupLayout(pnlFileVideo);
282 pnlFileVideo.setLayout(gl_pnlFileVideo);
283 gl_pnlFileVideo.setHorizontalGroup(
284 gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
285 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
287 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
288 .addComponent(lblVideoFileNamepattern)
289 .addComponent(lblVideoDir))
290 .addPreferredGap(ComponentPlacement.RELATED)
291 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
292 .addGroup(gl_pnlFileVideo.createSequentialGroup()
293 .addComponent(fldVideoDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
294 .addPreferredGap(ComponentPlacement.RELATED)
295 .addComponent(btnVideoDir))
296 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
297 .addComponent(fldVideoFileNamePattern, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)
298 .addPreferredGap(ComponentPlacement.RELATED, 94, Short.MAX_VALUE)
299 .addComponent(cbVideoLocal)))
302 gl_pnlFileVideo.setVerticalGroup(
303 gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
304 .addGroup(gl_pnlFileVideo.createSequentialGroup()
305 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
306 .addComponent(lblVideoDir)
307 .addComponent(fldVideoDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
308 .addComponent(btnVideoDir))
309 .addPreferredGap(ComponentPlacement.RELATED)
310 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
311 .addComponent(lblVideoFileNamepattern)
312 .addComponent(fldVideoFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
313 .addComponent(cbVideoLocal))
314 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
317 pnlFileComment.setBorder(BorderFactory.createTitledBorder("コメント"));
319 lblCommentDir.setText("保存フォルダ");
321 lblCommentFileNamePattern.setText("ファイル名規則");
323 btnCommentDir.setText("...");
325 cbCommentLocal.setText("local");
327 GroupLayout gl_pnlFileComment = new GroupLayout(pnlFileComment);
328 pnlFileComment.setLayout(gl_pnlFileComment);
329 gl_pnlFileComment.setHorizontalGroup(
330 gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
331 .addGroup(gl_pnlFileComment.createSequentialGroup()
333 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
334 .addComponent(lblCommentFileNamePattern)
335 .addComponent(lblCommentDir))
336 .addPreferredGap(ComponentPlacement.RELATED)
337 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
338 .addGroup(gl_pnlFileComment.createSequentialGroup()
339 .addComponent(fldCommentFileNamePattern, GroupLayout.PREFERRED_SIZE, 166, GroupLayout.PREFERRED_SIZE)
340 .addPreferredGap(ComponentPlacement.RELATED, 93, Short.MAX_VALUE)
341 .addComponent(cbCommentLocal))
342 .addGroup(gl_pnlFileComment.createSequentialGroup()
343 .addComponent(fldCommentDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
344 .addPreferredGap(ComponentPlacement.RELATED)
345 .addComponent(btnCommentDir)))
348 gl_pnlFileComment.setVerticalGroup(
349 gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
350 .addGroup(gl_pnlFileComment.createSequentialGroup()
351 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
352 .addComponent(lblCommentDir)
353 .addComponent(fldCommentDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
354 .addComponent(btnCommentDir))
355 .addPreferredGap(ComponentPlacement.RELATED)
356 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
357 .addComponent(lblCommentFileNamePattern)
358 .addComponent(fldCommentFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
359 .addComponent(cbCommentLocal))
360 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
363 pnlFileOutput.setBorder(BorderFactory.createTitledBorder("変換動画"));
365 lblOutputDir.setText("保存フォルダ");
367 lblOutputFileNamePattern.setText("ファイル名規則");
369 btnOutputDir.setText("...");
371 cbOutputEnable.setText("変換");
373 cbOutputCommentOverlay.setText("コメント付与");
375 cbOutputDisplayProgress.setText("変換中動画表示");
377 GroupLayout gl_pnlFileOutput = new GroupLayout(pnlFileOutput);
378 pnlFileOutput.setLayout(gl_pnlFileOutput);
379 gl_pnlFileOutput.setHorizontalGroup(
380 gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
381 .addGroup(gl_pnlFileOutput.createSequentialGroup()
383 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
384 .addComponent(lblOutputFileNamePattern)
385 .addComponent(lblOutputDir))
386 .addPreferredGap(ComponentPlacement.RELATED)
387 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
388 .addGroup(gl_pnlFileOutput.createSequentialGroup()
389 .addComponent(fldOutputDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
390 .addPreferredGap(ComponentPlacement.RELATED)
391 .addComponent(btnOutputDir)
393 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileOutput.createSequentialGroup()
394 .addComponent(fldOutputFileNamePattern, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE)
395 .addPreferredGap(ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
396 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
397 .addComponent(cbOutputDisplayProgress)
398 .addGroup(gl_pnlFileOutput.createSequentialGroup()
399 .addComponent(cbOutputEnable)
400 .addPreferredGap(ComponentPlacement.RELATED)
401 .addComponent(cbOutputCommentOverlay))))))
403 gl_pnlFileOutput.setVerticalGroup(
404 gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
405 .addGroup(gl_pnlFileOutput.createSequentialGroup()
406 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.BASELINE)
407 .addComponent(lblOutputDir)
408 .addComponent(fldOutputDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
409 .addComponent(btnOutputDir))
410 .addPreferredGap(ComponentPlacement.RELATED)
411 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.BASELINE)
412 .addComponent(lblOutputFileNamePattern)
413 .addComponent(fldOutputFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
414 .addComponent(cbOutputCommentOverlay)
415 .addComponent(cbOutputEnable))
416 .addPreferredGap(ComponentPlacement.RELATED)
417 .addComponent(cbOutputDisplayProgress)
418 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
421 final JPanel pnlFileProhibit = new JPanel();
422 pnlFileProhibit.setBorder(BorderFactory.createTitledBorder("禁則文字"));
423 final JLabel lblReplaceFrom = new JLabel("置換対象文字");
424 final JLabel lblReplaceTo = new JLabel("置換後文字");
426 final GroupLayout glProhibit = new GroupLayout(pnlFileProhibit);
427 glProhibit.setAutoCreateContainerGaps(true);
428 glProhibit.setAutoCreateGaps(true);
429 pnlFileProhibit.setLayout(glProhibit);
431 glProhibit.setHorizontalGroup(glProhibit.createSequentialGroup()
432 .addGroup(glProhibit.createParallelGroup()
433 .addComponent(lblReplaceFrom)
434 .addComponent(lblReplaceTo)
436 .addGroup(glProhibit.createParallelGroup()
437 .addComponent(fldReplaceFrom)
438 .addComponent(fldReplaceTo)
442 glProhibit.setVerticalGroup(glProhibit.createSequentialGroup()
443 .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
444 .addComponent(lblReplaceFrom)
445 .addComponent(fldReplaceFrom)
447 .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
448 .addComponent(lblReplaceTo)
449 .addComponent(fldReplaceTo)
453 GroupLayout gl_pnlFile = new GroupLayout(pnlFile);
454 pnlFile.setLayout(gl_pnlFile);
455 gl_pnlFile.setHorizontalGroup(
456 gl_pnlFile.createParallelGroup(GroupLayout.Alignment.LEADING)
457 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFile.createSequentialGroup()
459 .addGroup(gl_pnlFile.createParallelGroup(GroupLayout.Alignment.TRAILING)
460 .addComponent(pnlFileOutput, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
461 .addComponent(pnlFileVideo, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
462 .addComponent(pnlFileComment, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
463 .addComponent(pnlFileProhibit, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
467 gl_pnlFile.setVerticalGroup(
468 gl_pnlFile.createParallelGroup(GroupLayout.Alignment.LEADING)
469 .addGroup(gl_pnlFile.createSequentialGroup()
471 .addComponent(pnlFileVideo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
472 .addPreferredGap(ComponentPlacement.RELATED)
473 .addComponent(pnlFileComment, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
474 .addPreferredGap(ComponentPlacement.RELATED)
475 .addComponent(pnlFileOutput, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
476 .addPreferredGap(ComponentPlacement.RELATED)
477 .addComponent(pnlFileProhibit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
481 tabbedPane.addTab("ファイル", pnlFile);
483 pnlCommentStandard.setBorder(BorderFactory.createTitledBorder(""));
485 lblCommentSize.setText("再生時間に応じたコメントの取得数");
487 cbCommentSizeAuto.setText("自動調整");
489 lblCommentSizeManual.setText("手動取得");
491 lblCommentMinSize.setText("1分当たりのコメント取得数");
493 cbCommentMinSizeAuto.setText("自動調整");
495 lblCommentMinSizeManual.setText("手動取得");
497 lblCommentDisplayMax.setText("1画面に表示する最大コメント数");
499 cbCommentDisplaySizeDefault.setText("標準(30)");
501 lblCommentDisplayMaxManual.setText("手動設定");
503 GroupLayout gl_pnlCommentStandard = new GroupLayout(pnlCommentStandard);
504 pnlCommentStandard.setLayout(gl_pnlCommentStandard);
505 gl_pnlCommentStandard.setAutoCreateContainerGaps(true);
506 gl_pnlCommentStandard.setAutoCreateGaps(true);
507 gl_pnlCommentStandard.setHorizontalGroup(
508 gl_pnlCommentStandard.createSequentialGroup()
509 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
510 .addComponent(lblCommentSize)
511 .addComponent(lblCommentMinSize)
512 .addComponent(lblCommentDisplayMax))
513 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
514 .addComponent(cbCommentSizeAuto)
515 .addComponent(cbCommentMinSizeAuto)
516 .addComponent(cbCommentDisplaySizeDefault))
517 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
518 .addComponent(lblCommentSizeManual)
519 .addComponent(lblCommentMinSizeManual)
520 .addComponent(lblCommentDisplayMaxManual))
521 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
522 .addComponent(fldCommentSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
523 .addComponent(fldCommentMinSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
524 .addComponent(fldCommentDisplaySizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
526 gl_pnlCommentStandard.setVerticalGroup(
527 gl_pnlCommentStandard.createSequentialGroup()
528 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
529 .addComponent(lblCommentSize)
530 .addComponent(cbCommentSizeAuto)
531 .addComponent(lblCommentSizeManual)
532 .addComponent(fldCommentSizeManual))
533 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
534 .addComponent(lblCommentMinSize)
535 .addComponent(cbCommentMinSizeAuto)
536 .addComponent(lblCommentMinSizeManual)
537 .addComponent(fldCommentMinSizeManual))
538 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
539 .addComponent(lblCommentDisplayMax)
540 .addComponent(cbCommentDisplaySizeDefault)
541 .addComponent(lblCommentDisplayMaxManual)
542 .addComponent(fldCommentDisplaySizeManual))
545 pnlCommentAdvanced.setBorder(BorderFactory.createTitledBorder("高度な設定"));
547 lblFontPath.setText("フォントパス");
549 cbFontSizeArrangeDisable.setText("フォントサイズ調整を行わない");
551 cbCommentOpaque.setText("コメント透明化を行わない");
553 btnFontPath.setText("...");
555 lblFontIndex.setText("フォント番号");
557 lblFontShadow.setText("影の種類");
559 GroupLayout gl_pnlCommentAdvanced = new GroupLayout(pnlCommentAdvanced);
560 pnlCommentAdvanced.setLayout(gl_pnlCommentAdvanced);
561 gl_pnlCommentAdvanced.setHorizontalGroup(
562 gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
563 .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
565 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
566 .addComponent(cbCommentOpaque)
567 .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
568 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
569 .addComponent(lblFontPath)
570 .addComponent(lblFontIndex)
571 .addComponent(lblFontShadow))
573 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
574 .addComponent(fldFontPath, GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)
575 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
576 .addComponent(cmbFontShadow, GroupLayout.Alignment.LEADING)
577 .addComponent(fldFontIndex, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)))
578 .addPreferredGap(ComponentPlacement.RELATED)
579 .addComponent(btnFontPath))
580 .addComponent(cbFontSizeArrangeDisable))
583 gl_pnlCommentAdvanced.setVerticalGroup(
584 gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
585 .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
586 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
587 .addComponent(lblFontPath)
588 .addComponent(fldFontPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
589 .addComponent(btnFontPath))
590 .addPreferredGap(ComponentPlacement.RELATED)
591 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
592 .addComponent(lblFontIndex)
593 .addComponent(fldFontIndex, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
594 .addPreferredGap(ComponentPlacement.RELATED)
595 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
596 .addComponent(lblFontShadow)
597 .addComponent(cmbFontShadow, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
598 .addPreferredGap(ComponentPlacement.RELATED)
599 .addComponent(cbFontSizeArrangeDisable)
600 .addPreferredGap(ComponentPlacement.RELATED)
601 .addComponent(cbCommentOpaque)
602 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
605 GroupLayout gl_pnlComment = new GroupLayout(pnlComment);
606 pnlComment.setLayout(gl_pnlComment);
607 gl_pnlComment.setHorizontalGroup(
608 gl_pnlComment.createParallelGroup(GroupLayout.Alignment.LEADING)
609 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlComment.createSequentialGroup()
611 .addGroup(gl_pnlComment.createParallelGroup(GroupLayout.Alignment.TRAILING)
612 .addComponent(pnlCommentAdvanced, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
613 .addComponent(pnlCommentStandard, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
616 gl_pnlComment.setVerticalGroup(
617 gl_pnlComment.createParallelGroup(GroupLayout.Alignment.LEADING)
618 .addGroup(gl_pnlComment.createSequentialGroup()
620 .addComponent(pnlCommentStandard, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
621 .addPreferredGap(ComponentPlacement.RELATED)
622 .addComponent(pnlCommentAdvanced, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
623 .addContainerGap(168, Short.MAX_VALUE))
626 tabbedPane.addTab("コメント", pnlComment);
628 jPanel10.setBorder(BorderFactory.createTitledBorder("ファイルパス"));
630 lblFfmpegPath.setText("ffmpeg");
632 lblFfmpegDllPath.setText("拡張ライブラリ");
634 btnFfmpegPath.setText("...");
636 btnFfmpegDllPath.setText("...");
638 GroupLayout gl_jPanel10 = new GroupLayout(jPanel10);
639 jPanel10.setLayout(gl_jPanel10);
640 gl_jPanel10.setHorizontalGroup(
641 gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
642 .addGroup(gl_jPanel10.createSequentialGroup()
644 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
645 .addComponent(lblFfmpegDllPath)
646 .addComponent(lblFfmpegPath))
647 .addPreferredGap(ComponentPlacement.RELATED)
648 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
649 .addComponent(fldFfmpegDllPath, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
650 .addComponent(fldFfmpegPath, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
651 .addPreferredGap(ComponentPlacement.RELATED)
652 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
653 .addComponent(btnFfmpegPath, GroupLayout.Alignment.TRAILING)
654 .addComponent(btnFfmpegDllPath, GroupLayout.Alignment.TRAILING))
657 gl_jPanel10.setVerticalGroup(
658 gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
659 .addGroup(gl_jPanel10.createSequentialGroup()
660 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.BASELINE)
661 .addComponent(lblFfmpegPath)
662 .addComponent(fldFfmpegPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
663 .addComponent(btnFfmpegPath))
664 .addPreferredGap(ComponentPlacement.RELATED)
665 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.BASELINE)
666 .addComponent(lblFfmpegDllPath)
667 .addComponent(fldFfmpegDllPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
668 .addComponent(btnFfmpegDllPath))
669 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
672 pnlFfmpegParam.setBorder(BorderFactory.createTitledBorder("ffmpegパラメータ"));
674 buttonGroup1.add(rbFfmpegOptionFile);
675 rbFfmpegOptionFile.setText("オプションファイル");
677 buttonGroup1.add(rbFfmpegOptionDirectInput);
678 rbFfmpegOptionDirectInput.setText("直接入力");
680 cmbFfmpegOptionFile.setModel(new DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
682 pnlFfmpegParamOption.setBorder(BorderFactory.createEtchedBorder());
684 lblFfmpegOptionExtension.setText("出力動画の拡張子");
686 lblFfmpegOptionMain.setText("メインオプション");
688 lblFfmpegOptionIn.setText("入力オプション");
690 lblFfmpegOptionOut.setText("出力オプション");
692 lblFfmpegOptionAvfilter.setText("avfilterオプション");
694 cbFfmpegOptionResize.setText("次のサイズに収まるよう縮小(-s)");
696 lblFfmpegOptionResizeWidth.setText("横");
698 lblFfmpegOptionResizeHeight.setText("縦");
700 cbFfmpegOptionKeepAspect.setText("アスペクト比を維持");
702 GroupLayout gl_pnlFfmpegParamOption = new GroupLayout(pnlFfmpegParamOption);
703 pnlFfmpegParamOption.setLayout(gl_pnlFfmpegParamOption);
704 gl_pnlFfmpegParamOption.setHorizontalGroup(
705 gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
706 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
707 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
708 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
710 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
711 .addComponent(lblFfmpegOptionAvfilter)
712 .addComponent(lblFfmpegOptionExtension)
713 .addComponent(lblFfmpegOptionMain)
714 .addComponent(lblFfmpegOptionIn)
715 .addComponent(lblFfmpegOptionOut))
716 .addPreferredGap(ComponentPlacement.RELATED)
717 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
718 .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE)
719 .addComponent(fldFfmpegOptionMain, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
720 .addComponent(fldFfmpegOptionIn, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
721 .addComponent(fldFfmpegOptionOut, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
722 .addComponent(fldFfmpegOptionAv, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)))
723 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
725 .addComponent(cbFfmpegOptionResize)
726 .addPreferredGap(ComponentPlacement.UNRELATED)
727 .addComponent(lblFfmpegOptionResizeWidth)
728 .addPreferredGap(ComponentPlacement.RELATED)
729 .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE)
731 .addComponent(lblFfmpegOptionResizeHeight)
732 .addPreferredGap(ComponentPlacement.RELATED)
733 .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE))
734 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
736 .addComponent(cbFfmpegOptionKeepAspect)))
739 gl_pnlFfmpegParamOption.setVerticalGroup(
740 gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
741 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
743 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
744 .addComponent(lblFfmpegOptionExtension)
745 .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
746 .addPreferredGap(ComponentPlacement.RELATED)
747 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
748 .addComponent(lblFfmpegOptionMain)
749 .addComponent(fldFfmpegOptionMain, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
750 .addPreferredGap(ComponentPlacement.RELATED)
751 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
752 .addComponent(lblFfmpegOptionIn)
753 .addComponent(fldFfmpegOptionIn, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
754 .addPreferredGap(ComponentPlacement.RELATED)
755 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
756 .addComponent(lblFfmpegOptionOut)
757 .addComponent(fldFfmpegOptionOut, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
758 .addPreferredGap(ComponentPlacement.RELATED)
759 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
760 .addComponent(lblFfmpegOptionAvfilter)
761 .addComponent(fldFfmpegOptionAv, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
762 .addPreferredGap(ComponentPlacement.RELATED)
763 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
764 .addComponent(cbFfmpegOptionResize)
765 .addComponent(lblFfmpegOptionResizeWidth)
766 .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
767 .addComponent(lblFfmpegOptionResizeHeight)
768 .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
769 .addPreferredGap(ComponentPlacement.RELATED)
770 .addComponent(cbFfmpegOptionKeepAspect)
774 GroupLayout gl_pnlFfmpegParam = new GroupLayout(pnlFfmpegParam);
775 pnlFfmpegParam.setLayout(gl_pnlFfmpegParam);
776 gl_pnlFfmpegParam.setHorizontalGroup(
777 gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
778 .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
780 .addGroup(gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
781 .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
782 .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
783 .addComponent(rbFfmpegOptionFile)
784 .addPreferredGap(ComponentPlacement.RELATED)
785 .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
786 .addComponent(rbFfmpegOptionDirectInput))
789 gl_pnlFfmpegParam.setVerticalGroup(
790 gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
791 .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
793 .addGroup(gl_pnlFfmpegParam.createParallelGroup(Alignment.BASELINE)
794 .addComponent(rbFfmpegOptionFile)
795 .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
796 .addPreferredGap(ComponentPlacement.RELATED)
797 .addComponent(rbFfmpegOptionDirectInput)
798 .addPreferredGap(ComponentPlacement.RELATED)
799 .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
803 GroupLayout gl_pnlFfmpeg = new GroupLayout(pnlFfmpeg);
804 pnlFfmpeg.setLayout(gl_pnlFfmpeg);
805 gl_pnlFfmpeg.setHorizontalGroup(
806 gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.LEADING)
807 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFfmpeg.createSequentialGroup()
809 .addGroup(gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.TRAILING)
810 .addComponent(pnlFfmpegParam, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
811 .addComponent(jPanel10, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
814 gl_pnlFfmpeg.setVerticalGroup(
815 gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.LEADING)
816 .addGroup(gl_pnlFfmpeg.createSequentialGroup()
818 .addComponent(jPanel10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
819 .addPreferredGap(ComponentPlacement.RELATED)
820 .addComponent(pnlFfmpegParam, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
824 tabbedPane.addTab("ffmpeg", pnlFfmpeg);
826 pnlNgWord.setBorder(BorderFactory.createTitledBorder("NGワード"));
828 lstNgWord.setModel(mdlNgWord);
829 scrNgWord.setViewportView(lstNgWord);
831 btnNgWordAdd.setText("追加");
833 btnNgWordDel.setText("削除");
835 GroupLayout gl_pnlNgWord = new GroupLayout(pnlNgWord);
836 pnlNgWord.setLayout(gl_pnlNgWord);
837 gl_pnlNgWord.setHorizontalGroup(
838 gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
839 .addGroup(gl_pnlNgWord.createSequentialGroup()
841 .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
842 .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
843 .addGroup(gl_pnlNgWord.createSequentialGroup()
844 .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
845 .addPreferredGap(ComponentPlacement.RELATED)
846 .addComponent(btnNgWordAdd)
848 .addComponent(btnNgWordDel)))
851 gl_pnlNgWord.setVerticalGroup(
852 gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
853 .addGroup(gl_pnlNgWord.createSequentialGroup()
854 .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
855 .addPreferredGap(ComponentPlacement.RELATED)
856 .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE)
857 .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
858 .addComponent(btnNgWordDel)
859 .addComponent(btnNgWordAdd))
860 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
863 pnlNgId.setBorder(BorderFactory.createTitledBorder("NGID"));
865 lstNgId.setModel(mdlNgId);
866 scrNgId.setViewportView(lstNgId);
868 btnNgIdAdd.setText("追加");
870 btnNgIdDel.setText("削除");
872 GroupLayout gl_pnlNgId = new GroupLayout(pnlNgId);
873 pnlNgId.setLayout(gl_pnlNgId);
874 gl_pnlNgId.setHorizontalGroup(
875 gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
876 .addGroup(gl_pnlNgId.createSequentialGroup()
878 .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
879 .addComponent(scrNgId, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
880 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNgId.createSequentialGroup()
881 .addComponent(fldNgId, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
882 .addPreferredGap(ComponentPlacement.RELATED)
883 .addComponent(btnNgIdAdd)
885 .addComponent(btnNgIdDel)))
888 gl_pnlNgId.setVerticalGroup(
889 gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
890 .addGroup(gl_pnlNgId.createSequentialGroup()
891 .addComponent(scrNgId, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
892 .addPreferredGap(ComponentPlacement.RELATED)
893 .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.BASELINE)
894 .addComponent(fldNgId, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
895 .addComponent(btnNgIdDel)
896 .addComponent(btnNgIdAdd))
897 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
900 GroupLayout gl_pnlNgSetting = new GroupLayout(pnlNgSetting);
901 pnlNgSetting.setLayout(gl_pnlNgSetting);
902 gl_pnlNgSetting.setHorizontalGroup(
903 gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.LEADING)
904 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNgSetting.createSequentialGroup()
906 .addGroup(gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.TRAILING)
907 .addComponent(pnlNgId, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
908 .addComponent(pnlNgWord, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
911 gl_pnlNgSetting.setVerticalGroup(
912 gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.LEADING)
913 .addGroup(gl_pnlNgSetting.createSequentialGroup()
915 .addComponent(pnlNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
916 .addPreferredGap(ComponentPlacement.RELATED)
917 .addComponent(pnlNgId, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
918 .addContainerGap(82, Short.MAX_VALUE))
921 tabbedPane.addTab("NG設定", pnlNgSetting);
923 pnlSearchVideo.setBorder(BorderFactory.createTitledBorder("動画検索対象フォルダ"));
925 lstSearchVideo.setModel(mdlSearchVideo);
926 srcSearchVideo.setViewportView(lstSearchVideo);
928 btnSearchVideoAdd.setText("追加...");
930 btnSearchVideoDel.setText("削除");
932 GroupLayout gl_pnlSearchVideo = new GroupLayout(pnlSearchVideo);
933 pnlSearchVideo.setLayout(gl_pnlSearchVideo);
934 gl_pnlSearchVideo.setHorizontalGroup(
935 gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
936 .addComponent(srcSearchVideo, GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
937 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearchVideo.createSequentialGroup()
938 .addContainerGap(269, Short.MAX_VALUE)
939 .addComponent(btnSearchVideoAdd)
941 .addComponent(btnSearchVideoDel)
944 gl_pnlSearchVideo.setVerticalGroup(
945 gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
946 .addGroup(gl_pnlSearchVideo.createSequentialGroup()
947 .addComponent(srcSearchVideo, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
948 .addPreferredGap(ComponentPlacement.RELATED)
949 .addGroup(gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
950 .addComponent(btnSearchVideoDel)
951 .addComponent(btnSearchVideoAdd))
952 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
955 pnlSearchComment.setBorder(BorderFactory.createTitledBorder("コメント検索対象フォルダ"));
957 lstSearchComment.setModel(mdlSearchComment);
958 srcSearchComment.setViewportView(lstSearchComment);
960 btnSearchCommentAdd.setText("追加...");
962 btnSearchCommentDel.setText("削除");
964 GroupLayout gl_pnlSearchComment = new GroupLayout(pnlSearchComment);
965 pnlSearchComment.setLayout(gl_pnlSearchComment);
966 gl_pnlSearchComment.setHorizontalGroup(
967 gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.LEADING)
968 .addComponent(srcSearchComment, GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
969 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearchComment.createSequentialGroup()
970 .addContainerGap(269, Short.MAX_VALUE)
971 .addComponent(btnSearchCommentAdd)
973 .addComponent(btnSearchCommentDel)
976 gl_pnlSearchComment.setVerticalGroup(
977 gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.LEADING)
978 .addGroup(gl_pnlSearchComment.createSequentialGroup()
979 .addComponent(srcSearchComment, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
980 .addPreferredGap(ComponentPlacement.RELATED)
981 .addGroup(gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
982 .addComponent(btnSearchCommentDel)
983 .addComponent(btnSearchCommentAdd))
984 .addContainerGap(16, Short.MAX_VALUE))
987 pnlSearchCache.setBorder(BorderFactory.createEtchedBorder());
989 lblSearchCache.setText("キャッシュ更新(秒)");
991 GroupLayout gl_pnlSearchCache = new GroupLayout(pnlSearchCache);
992 pnlSearchCache.setLayout(gl_pnlSearchCache);
993 gl_pnlSearchCache.setHorizontalGroup(
994 gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.LEADING)
995 .addGroup(gl_pnlSearchCache.createSequentialGroup()
997 .addComponent(lblSearchCache)
998 .addPreferredGap(ComponentPlacement.RELATED)
999 .addComponent(fldSearchCache, GroupLayout.PREFERRED_SIZE, 55, GroupLayout.PREFERRED_SIZE)
1000 .addContainerGap(269, Short.MAX_VALUE))
1002 gl_pnlSearchCache.setVerticalGroup(
1003 gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.LEADING)
1004 .addGroup(gl_pnlSearchCache.createSequentialGroup()
1006 .addGroup(gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.BASELINE)
1007 .addComponent(lblSearchCache)
1008 .addComponent(fldSearchCache, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
1009 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
1012 GroupLayout gl_pnlSearch = new GroupLayout(pnlSearch);
1013 pnlSearch.setLayout(gl_pnlSearch);
1014 gl_pnlSearch.setHorizontalGroup(
1015 gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.LEADING)
1016 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearch.createSequentialGroup()
1018 .addGroup(gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.TRAILING)
1019 .addComponent(pnlSearchCache, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1020 .addComponent(pnlSearchComment, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1021 .addComponent(pnlSearchVideo, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
1024 gl_pnlSearch.setVerticalGroup(
1025 gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.LEADING)
1026 .addGroup(gl_pnlSearch.createSequentialGroup()
1028 .addComponent(pnlSearchVideo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
1029 .addPreferredGap(ComponentPlacement.RELATED)
1030 .addComponent(pnlSearchComment, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
1031 .addPreferredGap(ComponentPlacement.RELATED)
1032 .addComponent(pnlSearchCache, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
1033 .addContainerGap(27, Short.MAX_VALUE))
1036 tabbedPane.addTab("検索", pnlSearch);
1038 final JPanel pnlButton = new JPanel();
1039 final JButton btnOk = new JButton("OK");
1040 final JButton btnCancel = new JButton("Cancel");
1041 pnlButton.add(btnOk);
1042 pnlButton.add(btnCancel);
1044 GroupLayout layout = new GroupLayout(getContentPane());
1045 getContentPane().setLayout(layout);
1046 layout.setHorizontalGroup(
1047 layout.createParallelGroup(GroupLayout.Alignment.LEADING)
1048 .addComponent(tabbedPane, GroupLayout.DEFAULT_SIZE, 460, Short.MAX_VALUE)
1049 .addComponent(pnlButton)
1051 layout.setVerticalGroup(
1052 layout.createSequentialGroup()
1053 .addComponent(tabbedPane,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
1054 .addComponent(pnlButton)
1058 setResizable(false);
1063 * @param args the command line arguments
1065 public static void main(String args[]) {
1066 /* Set the Nimbus look and feel */
1067 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
1068 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
1069 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
1072 for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
1073 if ("Nimbus".equals(info.getName())) {
1074 UIManager.setLookAndFeel(info.getClassName());
1078 } catch (ClassNotFoundException ex) {
1079 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1080 } catch (InstantiationException ex) {
1081 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1082 } catch (IllegalAccessException ex) {
1083 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1084 } catch (UnsupportedLookAndFeelException ex) {
1085 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1089 /* Create and display the form */
1090 java.awt.EventQueue.invokeLater(new Runnable() {
1094 new ConfigDialog().setVisible(true);
1098 // Variables declaration - do not modify//GEN-BEGIN:variables
1102 private final JTextField fldMail;
1103 private final JTextField fldPassword;
1105 private final JCheckBox cbProxyUse;
1106 private final JTextField fldProxyHost;
1107 private final JTextField fldProxyPort;
1110 private final JTextField fldVideoDir;
1111 private final JButton btnVideoDir;
1112 private final JTextField fldVideoFileNamePattern;
1113 private final JCheckBox cbVideoLocal;
1115 private final JTextField fldCommentDir;
1116 private final JButton btnCommentDir;
1117 private final JTextField fldCommentFileNamePattern;
1118 private final JCheckBox cbCommentLocal;
1120 private final JTextField fldOutputDir;
1121 private final JTextField fldOutputFileNamePattern;
1122 private final JButton btnOutputDir;
1123 private final JCheckBox cbOutputEnable;
1124 private final JCheckBox cbOutputCommentOverlay;
1125 private final JCheckBox cbOutputDisplayProgress;
1127 private final JTextField fldReplaceFrom = new JTextField();
1128 private final JTextField fldReplaceTo = new JTextField();
1131 private final JCheckBox cbCommentSizeAuto;
1132 private final JTextField fldCommentSizeManual;
1133 private final JCheckBox cbCommentMinSizeAuto;
1134 private final JTextField fldCommentMinSizeManual;
1135 private final JCheckBox cbCommentDisplaySizeDefault;
1136 private final JTextField fldCommentDisplaySizeManual;
1138 private final JTextField fldFontPath;
1139 private final JButton btnFontPath;
1140 private final JTextField fldFontIndex;
1141 private final JComboBox<String> cmbFontShadow = new JComboBox<>();
1142 private final JCheckBox cbFontSizeArrangeDisable;
1143 private final JCheckBox cbCommentOpaque;
1146 private final JTextField fldFfmpegPath;
1147 private final JButton btnFfmpegPath;
1148 private final JTextField fldFfmpegDllPath;
1149 private final JButton btnFfmpegDllPath;
1150 // ffmpeg - ffmpegパラメータ
1151 private final JRadioButton rbFfmpegOptionFile;
1152 private final JRadioButton rbFfmpegOptionDirectInput;
1153 private final JComboBox cmbFfmpegOptionFile;
1154 private final JTextField fldFfmpegOptionExtension;
1155 private final JTextField fldFfmpegOptionMain;
1156 private final JTextField fldFfmpegOptionIn;
1157 private final JTextField fldFfmpegOptionOut;
1158 private final JTextField fldFfmpegOptionAv;
1159 private final JCheckBox cbFfmpegOptionResize;
1160 private final JTextField fldFfmpegOptionResizeWidth;
1161 private final JTextField fldFfmpegOptionResizeHeight;
1162 private final JCheckBox cbFfmpegOptionKeepAspect;
1165 private final JList<String> lstNgWord;
1166 private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
1167 private final JTextField fldNgWord;
1168 private final JButton btnNgWordAdd;
1169 private final JButton btnNgWordDel;
1171 private final JList<String> lstNgId;
1172 private final DefaultListModel<String> mdlNgId = new DefaultListModel<>();
1173 private final JTextField fldNgId;
1174 private final JButton btnNgIdAdd;
1175 private final JButton btnNgIdDel;
1178 private final JList<String> lstSearchVideo;
1179 private final DefaultListModel<String> mdlSearchVideo = new DefaultListModel<>();
1180 private final JButton btnSearchVideoAdd;
1181 private final JButton btnSearchVideoDel;
1182 // 検索 - コメント検索対象フォルダ
1183 private final JList<String> lstSearchComment;
1184 private final DefaultListModel<String> mdlSearchComment = new DefaultListModel<>();
1185 private final JButton btnSearchCommentAdd;
1186 private final JButton btnSearchCommentDel;
1188 private final JTextField fldSearchCache;
1191 // End of variables declaration//GEN-END:variables
1193 private void loadConfig() {
1194 final Config p = Config.INSTANCE;
1199 fldMail.setText(p.getId());
1200 fldPassword.setText(p.getPassword());
1205 cbProxyUse.setSelected(p.getProxyUse());
1206 fldProxyHost.setText(p.getProxyHost());
1207 fldProxyPort.setText(p.getProxyPort());
1212 fldVideoDir.setText(p.getVideoDir());
1213 fldVideoFileNamePattern.setText(p.getVideoFileNamePattern());
1214 cbVideoLocal.setSelected(p.getVideoUseLocal());
1219 fldCommentDir.setText(p.getCommentDir());
1220 fldCommentFileNamePattern.setText(p.getCommentFileNamePattern());
1221 cbCommentLocal.setSelected(p.getCommentUseLocal());
1226 fldOutputDir.setText(p.getOutputDir());
1227 fldOutputFileNamePattern.setText(p.getOutputFileNamePattern());
1228 cbOutputEnable.setSelected(p.getOutputEnable());
1229 cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
1230 cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
1240 cbCommentSizeAuto.setSelected(p.getCommentSizeAutosize());
1241 fldCommentSizeManual.setText(p.getCommentSizeManual());
1242 cbCommentMinSizeAuto.setSelected(p.getCommentMinSizeAutosize());
1243 fldCommentSizeManual.setText(p.getCommentMinSizeManual());
1244 cbCommentDisplaySizeDefault.setSelected(p.getCommentDisplaySizeDefault());
1245 fldCommentDisplaySizeManual.setText(p.getCommentDisplaySizeManual());
1250 fldFontPath.setText(p.getFontPath());
1251 fldFontIndex.setText(p.getFontIndex());
1252 // TODO 影の種類はコンボボックス
1253 cbFontSizeArrangeDisable.setSelected(p.getFontSizeArrangeDisable());
1254 cbCommentOpaque.setSelected(p.getCommentOpaque());
1259 fldFfmpegPath.setText(p.getFfmpegPath());
1260 fldFfmpegDllPath.setText(p.getFfmpegDllPath());
1263 * ffmpeg - ffmpegパラメータ
1265 rbFfmpegOptionFile.setSelected(!p.getFfmpegParamInputDirect());
1266 rbFfmpegOptionDirectInput.setSelected(p.getFfmpegParamInputDirect());
1267 // TODO cmbFfmpegOptionFile
1268 fldFfmpegOptionExtension.setText(p.getFfmpegExtension());
1269 fldFfmpegOptionMain.setText(p.getFfmpegMainOption());
1270 fldFfmpegOptionIn.setText(p.getFfmpegInOption());
1271 fldFfmpegOptionOut.setText(p.getFfmpegOutOption());
1272 fldFfmpegOptionAv.setText(p.getFfmpegAvOption());
1273 cbFfmpegOptionResize.setSelected(p.getFfmpegResizeEnable());
1274 fldFfmpegOptionResizeWidth.setText(p.getFfmpegResizeWidth());
1275 fldFfmpegOptionResizeHeight.setText(p.getFfmpegResizeHeight());
1276 cbFfmpegOptionKeepAspect.setSelected(p.getFfmpegKeepAspect());
1281 final List<String> ngWords = p.getNgWords();
1282 for (String s : ngWords) {
1283 mdlNgWord.addElement(s);
1285 final List<String> ngIds = p.getNgIds();
1286 for (String s : ngIds) {
1287 mdlNgId.addElement(s);
1290 private void saveConfig() {
1291 final Config p = Config.INSTANCE;
1297 p.setId(fldMail.getText());
1298 p.setPassword(fldPassword.getText());
1303 p.setProxyUse(cbProxyUse.isSelected());
1304 p.setProxyHost(fldProxyHost.getText());
1305 p.setProxyPort(fldProxyPort.getText());
1310 p.setVideoDir(fldVideoDir.getText());
1311 p.setVideoFileNamePattern(fldVideoFileNamePattern.getText());
1312 p.setVideoUseLocal(cbVideoLocal.isSelected());
1317 p.setCommentDir(fldCommentDir.getText());
1318 p.setCommentFileNamePattern(fldCommentFileNamePattern.getText());
1319 p.setCommentUseLocal(cbCommentLocal.isSelected());
1324 p.setOutputDir(fldOutputDir.getText());
1325 p.setOutputFileNamePattern(fldOutputFileNamePattern.getText());
1326 p.setOutputEnable(cbOutputEnable.isSelected());
1327 p.setOutputCommentOverlay(cbOutputCommentOverlay.isSelected());
1328 p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
1333 p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());
1334 p.setCommentSizeManual(fldCommentSizeManual.getText());
1335 p.setCommentMinSizeAutosize(cbCommentMinSizeAuto.isSelected());
1336 p.setCommentMinSizeManual(fldCommentSizeManual.getText());
1337 p.setCommentDisplaySizeDefault(cbCommentDisplaySizeDefault.isSelected());
1338 p.setCommentDisplaySizeManual(fldCommentDisplaySizeManual.getText());
1343 p.setFontPath(fldFontPath.getText());
1344 p.setFontIndex(fldFontIndex.getText());
1345 // TODO 影の種類はコンボボックス
1346 p.setFontSizeArrangeDisable(cbFontSizeArrangeDisable.isSelected());
1347 p.setCommentOpaque(cbCommentOpaque.isSelected());
1352 p.setFfmpegPath(fldFfmpegPath.getText());
1353 p.setFfmpegDllPath(fldFfmpegDllPath.getText());
1356 * ffmpeg - ffmpegパラメータ
1358 p.setFfmpegParamInputDirect(rbFfmpegOptionDirectInput.isSelected());
1359 // TODO cmbFfmpegOptionFile
1360 p.setFfmpegExtension(fldFfmpegOptionExtension.getText());
1361 p.setFfmpegMainOption(fldFfmpegOptionMain.getText());
1362 p.setFfmpegInOption(fldFfmpegOptionIn.getText());
1363 p.setFfmpegOutOption(fldFfmpegOptionOut.getText());
1364 p.setFfmpegAvOption(fldFfmpegOptionAv.getText());
1365 p.setFfmpegResizeEnable(cbFfmpegOptionResize.isSelected());
1366 p.setFfmpegResizeWidth(fldFfmpegOptionResizeWidth.getText());
1367 p.setFfmpegResizeHeight(fldFfmpegOptionResizeHeight.getText());
1368 p.setFfmpegKeepAspect(cbFfmpegOptionKeepAspect.isSelected());
1373 p.setNgWords(Arrays.asList((String[]) mdlNgWord.toArray()));
1374 p.setNgIds(Arrays.asList((String[])mdlNgId.toArray()));