4 * Created on 2011/08/20, 16:33:03
6 package yukihane.inqubus.gui;
8 import java.awt.event.ActionEvent;
9 import java.awt.event.ActionListener;
10 import java.util.ArrayList;
11 import java.util.Arrays;
12 import java.util.List;
13 import javax.swing.BorderFactory;
14 import javax.swing.ButtonGroup;
15 import javax.swing.ComboBoxModel;
16 import javax.swing.DefaultComboBoxModel;
17 import javax.swing.DefaultListModel;
18 import javax.swing.GroupLayout;
19 import javax.swing.GroupLayout.Alignment;
20 import javax.swing.JButton;
21 import javax.swing.JCheckBox;
22 import javax.swing.JComboBox;
23 import javax.swing.JDialog;
24 import javax.swing.JFrame;
25 import javax.swing.JLabel;
26 import javax.swing.JList;
27 import javax.swing.JPanel;
28 import javax.swing.JRadioButton;
29 import javax.swing.JScrollPane;
30 import javax.swing.JTabbedPane;
31 import javax.swing.JTextField;
32 import javax.swing.LayoutStyle.ComponentPlacement;
33 import javax.swing.UIManager;
34 import javax.swing.UnsupportedLookAndFeelException;
35 import javax.swing.WindowConstants;
36 import yukihane.inqubus.Config;
42 public class ConfigDialog extends JDialog {
43 private static final long serialVersionUID = 1L;
45 /** Creates new form Properties */
46 public ConfigDialog() {
50 public ConfigDialog(JFrame owner){
53 final ButtonGroup buttonGroup1 = new ButtonGroup();
54 final JTabbedPane tabbedPane = new JTabbedPane();
55 final JPanel pnlNetwork = new JPanel();
56 final JPanel pnlAccount = new JPanel();
57 final JLabel lblMail = new JLabel();
58 fldMail = new JTextField();
59 final JLabel lblPassword = new JLabel();
60 fldPassword = new JTextField();
61 final JPanel pnlProxy = new JPanel();
62 cbProxyUse = new JCheckBox();
63 final JLabel lblProxyHost = new JLabel();
64 final JLabel lblProxyPort = new JLabel();
65 fldProxyHost = new JTextField();
66 fldProxyPort = new JTextField();
67 final JPanel pnlFile = new JPanel();
68 final JPanel pnlFileVideo = new JPanel();
69 final JLabel lblVideoDir = new JLabel();
70 final JLabel lblVideoFileNamepattern = new JLabel();
71 fldVideoDir = new JTextField();
72 fldVideoFileNamePattern = new JTextField();
73 btnVideoDir = new JButton();
74 cbVideoLocal = new JCheckBox();
75 final JPanel pnlFileComment = new JPanel();
76 final JLabel lblCommentDir = new JLabel();
77 final JLabel lblCommentFileNamePattern = new JLabel();
78 fldCommentDir = new JTextField();
79 fldCommentFileNamePattern = new JTextField();
80 btnCommentDir = new JButton();
81 cbCommentLocal = new JCheckBox();
82 final JPanel pnlFileOutput = new JPanel();
83 final JLabel lblOutputDir = new JLabel();
84 final JLabel lblOutputFileNamePattern = new JLabel();
85 fldOutputDir = new JTextField();
86 fldOutputFileNamePattern = new JTextField();
87 btnOutputDir = new JButton();
88 cbOutputEnable = new JCheckBox();
89 cbOutputCommentOverlay = new JCheckBox();
90 cbOutputDisplayProgress = new JCheckBox();
91 final JPanel pnlComment = new JPanel();
92 final JPanel pnlCommentStandard = new JPanel();
93 final JLabel lblCommentSize = new JLabel();
94 cbCommentSizeAuto = new JCheckBox();
95 final JLabel lblCommentSizeManual = new JLabel();
96 fldCommentSizeManual = new JTextField();
97 final JLabel lblCommentMinSize = new JLabel();
98 cbCommentMinSizeAuto = new JCheckBox();
99 fldCommentMinSizeManual = new JTextField();
100 final JLabel lblCommentMinSizeManual = new JLabel();
101 final JLabel lblCommentDisplayMax = new JLabel();
102 cbCommentDisplaySizeDefault = new JCheckBox();
103 final JLabel lblCommentDisplayMaxManual = new JLabel();
104 fldCommentDisplaySizeManual = new JTextField();
105 final JPanel pnlCommentAdvanced = new JPanel();
106 final JLabel lblFontPath = new JLabel();
107 cbFontSizeArrangeDisable = new JCheckBox();
108 cbCommentOpaque = new JCheckBox();
109 fldFontPath = new JTextField();
110 btnFontPath = new JButton();
111 final JLabel lblFontIndex = new JLabel();
112 final JLabel lblFontShadow = new JLabel();
113 fldFontIndex = new JTextField();
114 final JPanel pnlFfmpeg = new JPanel();
115 final JPanel jPanel10 = new JPanel();
116 final JLabel lblFfmpegPath = new JLabel();
117 final JLabel lblFfmpegDllPath = new JLabel();
118 fldFfmpegPath = new JTextField();
119 fldFfmpegDllPath = new JTextField();
120 btnFfmpegPath = new JButton();
121 btnFfmpegDllPath = new JButton();
122 final JPanel pnlFfmpegParam = new JPanel();
123 rbFfmpegOptionFile = new JRadioButton();
124 rbFfmpegOptionDirectInput = new JRadioButton();
125 cmbFfmpegOptionFile = new JComboBox();
126 final JPanel pnlFfmpegParamOption = new JPanel();
127 final JLabel lblFfmpegOptionExtension = new JLabel();
128 final JLabel lblFfmpegOptionMain = new JLabel();
129 final JLabel lblFfmpegOptionIn = new JLabel();
130 final JLabel lblFfmpegOptionOut = new JLabel();
131 final JLabel lblFfmpegOptionAvfilter = new JLabel();
132 cbFfmpegOptionResize = new JCheckBox();
133 final JLabel lblFfmpegOptionResizeWidth = new JLabel();
134 fldFfmpegOptionResizeWidth = new JTextField();
135 final JLabel lblFfmpegOptionResizeHeight = new JLabel();
136 fldFfmpegOptionResizeHeight = new JTextField();
137 cbFfmpegOptionKeepAspect = new JCheckBox();
138 fldFfmpegOptionExtension = new JTextField();
139 fldFfmpegOptionMain = new JTextField();
140 fldFfmpegOptionIn = new JTextField();
141 fldFfmpegOptionOut = new JTextField();
142 fldFfmpegOptionAv = new JTextField();
143 final JPanel pnlNgSetting = new JPanel();
144 final JPanel pnlNgWord = new JPanel();
145 final JScrollPane scrNgWord = new JScrollPane();
146 lstNgWord = new JList<>();
147 fldNgWord = new JTextField();
148 btnNgWordAdd = new JButton();
149 btnNgWordDel = new JButton();
150 final JPanel pnlNgId = new JPanel();
151 final JScrollPane scrNgId = new JScrollPane();
152 lstNgId = new JList<>();
153 fldNgId = new JTextField();
154 btnNgIdAdd = new JButton();
155 btnNgIdDel = new JButton();
156 final JPanel pnlSearch = new JPanel();
157 final JPanel pnlSearchVideo = new JPanel();
158 final JScrollPane srcSearchVideo = new JScrollPane();
159 lstSearchVideo = new JList<>();
160 btnSearchVideoAdd = new JButton();
161 btnSearchVideoDel = new JButton();
162 final JPanel pnlSearchComment = new JPanel();
163 final JScrollPane srcSearchComment = new JScrollPane();
164 lstSearchComment = new JList<>();
165 btnSearchCommentAdd = new JButton();
166 btnSearchCommentDel = new JButton();
167 final JPanel pnlSearchCache = new JPanel();
168 final JLabel lblSearchCache = new JLabel();
169 fldSearchCache = new JTextField();
171 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
173 pnlNetwork.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
175 pnlAccount.setBorder(BorderFactory.createTitledBorder("アカウント"));
177 lblMail.setText("ID(メールアドレス)");
179 lblPassword.setText("パスワード");
181 GroupLayout gl_pnlAccount = new GroupLayout(pnlAccount);
182 pnlAccount.setLayout(gl_pnlAccount);
183 gl_pnlAccount.setHorizontalGroup(
184 gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
185 .addGroup(gl_pnlAccount.createSequentialGroup()
187 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
188 .addComponent(lblMail)
189 .addComponent(lblPassword))
190 .addPreferredGap(ComponentPlacement.RELATED)
191 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
192 .addComponent(fldPassword, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
193 .addComponent(fldMail, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE))
196 gl_pnlAccount.setVerticalGroup(
197 gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
198 .addGroup(gl_pnlAccount.createSequentialGroup()
200 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
201 .addComponent(lblMail)
202 .addComponent(fldMail, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
203 .addPreferredGap(ComponentPlacement.RELATED)
204 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
205 .addComponent(lblPassword)
206 .addComponent(fldPassword, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
207 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
210 pnlProxy.setBorder(BorderFactory.createTitledBorder("プロキシ"));
212 cbProxyUse.setText("プロキシを使用する");
214 lblProxyHost.setText("ホスト名");
216 lblProxyPort.setText("ポート番号");
218 GroupLayout gl_pnlProxy = new GroupLayout(pnlProxy);
219 pnlProxy.setLayout(gl_pnlProxy);
220 gl_pnlProxy.setHorizontalGroup(
221 gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
222 .addGroup(gl_pnlProxy.createSequentialGroup()
224 .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
225 .addComponent(cbProxyUse)
226 .addGroup(gl_pnlProxy.createSequentialGroup()
227 .addComponent(lblProxyHost)
229 .addComponent(fldProxyHost, GroupLayout.PREFERRED_SIZE, 168, GroupLayout.PREFERRED_SIZE))
230 .addGroup(gl_pnlProxy.createSequentialGroup()
231 .addComponent(lblProxyPort)
232 .addPreferredGap(ComponentPlacement.RELATED)
233 .addComponent(fldProxyPort, GroupLayout.PREFERRED_SIZE, 76, GroupLayout.PREFERRED_SIZE)))
234 .addContainerGap(181, Short.MAX_VALUE))
236 gl_pnlProxy.setVerticalGroup(
237 gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.LEADING)
238 .addGroup(gl_pnlProxy.createSequentialGroup()
240 .addComponent(cbProxyUse)
241 .addPreferredGap(ComponentPlacement.RELATED)
242 .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.BASELINE)
243 .addComponent(lblProxyHost)
244 .addComponent(fldProxyHost, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
245 .addPreferredGap(ComponentPlacement.RELATED)
246 .addGroup(gl_pnlProxy.createParallelGroup(GroupLayout.Alignment.BASELINE)
247 .addComponent(lblProxyPort)
248 .addComponent(fldProxyPort, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
249 .addContainerGap(39, Short.MAX_VALUE))
252 GroupLayout gl_pnlNetwork = new GroupLayout(pnlNetwork);
253 pnlNetwork.setLayout(gl_pnlNetwork);
254 gl_pnlNetwork.setHorizontalGroup(
255 gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.LEADING)
256 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNetwork.createSequentialGroup()
258 .addGroup(gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.TRAILING)
259 .addComponent(pnlProxy, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
260 .addComponent(pnlAccount, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
263 gl_pnlNetwork.setVerticalGroup(
264 gl_pnlNetwork.createParallelGroup(GroupLayout.Alignment.LEADING)
265 .addGroup(gl_pnlNetwork.createSequentialGroup()
267 .addComponent(pnlAccount, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
268 .addPreferredGap(ComponentPlacement.RELATED)
269 .addComponent(pnlProxy, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
270 .addContainerGap(178, Short.MAX_VALUE))
273 tabbedPane.addTab("ネットワーク", pnlNetwork);
275 pnlFileVideo.setBorder(BorderFactory.createTitledBorder("動画"));
277 lblVideoDir.setText("保存フォルダ");
279 lblVideoFileNamepattern.setText("ファイル名規則");
281 btnVideoDir.setText("...");
283 cbVideoLocal.setText("local");
285 GroupLayout gl_pnlFileVideo = new GroupLayout(pnlFileVideo);
286 pnlFileVideo.setLayout(gl_pnlFileVideo);
287 gl_pnlFileVideo.setHorizontalGroup(
288 gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
289 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
291 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
292 .addComponent(lblVideoFileNamepattern)
293 .addComponent(lblVideoDir))
294 .addPreferredGap(ComponentPlacement.RELATED)
295 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
296 .addGroup(gl_pnlFileVideo.createSequentialGroup()
297 .addComponent(fldVideoDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
298 .addPreferredGap(ComponentPlacement.RELATED)
299 .addComponent(btnVideoDir))
300 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
301 .addComponent(fldVideoFileNamePattern, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)
302 .addPreferredGap(ComponentPlacement.RELATED, 94, Short.MAX_VALUE)
303 .addComponent(cbVideoLocal)))
306 gl_pnlFileVideo.setVerticalGroup(
307 gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
308 .addGroup(gl_pnlFileVideo.createSequentialGroup()
309 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
310 .addComponent(lblVideoDir)
311 .addComponent(fldVideoDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
312 .addComponent(btnVideoDir))
313 .addPreferredGap(ComponentPlacement.RELATED)
314 .addGroup(gl_pnlFileVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
315 .addComponent(lblVideoFileNamepattern)
316 .addComponent(fldVideoFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
317 .addComponent(cbVideoLocal))
318 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
321 pnlFileComment.setBorder(BorderFactory.createTitledBorder("コメント"));
323 lblCommentDir.setText("保存フォルダ");
325 lblCommentFileNamePattern.setText("ファイル名規則");
327 btnCommentDir.setText("...");
329 cbCommentLocal.setText("local");
331 GroupLayout gl_pnlFileComment = new GroupLayout(pnlFileComment);
332 pnlFileComment.setLayout(gl_pnlFileComment);
333 gl_pnlFileComment.setHorizontalGroup(
334 gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
335 .addGroup(gl_pnlFileComment.createSequentialGroup()
337 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
338 .addComponent(lblCommentFileNamePattern)
339 .addComponent(lblCommentDir))
340 .addPreferredGap(ComponentPlacement.RELATED)
341 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
342 .addGroup(gl_pnlFileComment.createSequentialGroup()
343 .addComponent(fldCommentFileNamePattern, GroupLayout.PREFERRED_SIZE, 166, GroupLayout.PREFERRED_SIZE)
344 .addPreferredGap(ComponentPlacement.RELATED, 93, Short.MAX_VALUE)
345 .addComponent(cbCommentLocal))
346 .addGroup(gl_pnlFileComment.createSequentialGroup()
347 .addComponent(fldCommentDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
348 .addPreferredGap(ComponentPlacement.RELATED)
349 .addComponent(btnCommentDir)))
352 gl_pnlFileComment.setVerticalGroup(
353 gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.LEADING)
354 .addGroup(gl_pnlFileComment.createSequentialGroup()
355 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
356 .addComponent(lblCommentDir)
357 .addComponent(fldCommentDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
358 .addComponent(btnCommentDir))
359 .addPreferredGap(ComponentPlacement.RELATED)
360 .addGroup(gl_pnlFileComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
361 .addComponent(lblCommentFileNamePattern)
362 .addComponent(fldCommentFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
363 .addComponent(cbCommentLocal))
364 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
367 pnlFileOutput.setBorder(BorderFactory.createTitledBorder("変換動画"));
369 lblOutputDir.setText("保存フォルダ");
371 lblOutputFileNamePattern.setText("ファイル名規則");
373 btnOutputDir.setText("...");
375 cbOutputEnable.setText("変換");
377 cbOutputCommentOverlay.setText("コメント付与");
379 cbOutputDisplayProgress.setText("変換中動画表示");
381 GroupLayout gl_pnlFileOutput = new GroupLayout(pnlFileOutput);
382 pnlFileOutput.setLayout(gl_pnlFileOutput);
383 gl_pnlFileOutput.setHorizontalGroup(
384 gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
385 .addGroup(gl_pnlFileOutput.createSequentialGroup()
387 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
388 .addComponent(lblOutputFileNamePattern)
389 .addComponent(lblOutputDir))
390 .addPreferredGap(ComponentPlacement.RELATED)
391 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
392 .addGroup(gl_pnlFileOutput.createSequentialGroup()
393 .addComponent(fldOutputDir, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
394 .addPreferredGap(ComponentPlacement.RELATED)
395 .addComponent(btnOutputDir)
397 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFileOutput.createSequentialGroup()
398 .addComponent(fldOutputFileNamePattern, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE)
399 .addPreferredGap(ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
400 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
401 .addComponent(cbOutputDisplayProgress)
402 .addGroup(gl_pnlFileOutput.createSequentialGroup()
403 .addComponent(cbOutputEnable)
404 .addPreferredGap(ComponentPlacement.RELATED)
405 .addComponent(cbOutputCommentOverlay))))))
407 gl_pnlFileOutput.setVerticalGroup(
408 gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.LEADING)
409 .addGroup(gl_pnlFileOutput.createSequentialGroup()
410 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.BASELINE)
411 .addComponent(lblOutputDir)
412 .addComponent(fldOutputDir, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
413 .addComponent(btnOutputDir))
414 .addPreferredGap(ComponentPlacement.RELATED)
415 .addGroup(gl_pnlFileOutput.createParallelGroup(GroupLayout.Alignment.BASELINE)
416 .addComponent(lblOutputFileNamePattern)
417 .addComponent(fldOutputFileNamePattern, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
418 .addComponent(cbOutputCommentOverlay)
419 .addComponent(cbOutputEnable))
420 .addPreferredGap(ComponentPlacement.RELATED)
421 .addComponent(cbOutputDisplayProgress)
422 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
425 final JPanel pnlFileProhibit = new JPanel();
426 pnlFileProhibit.setBorder(BorderFactory.createTitledBorder("禁則文字"));
427 final JLabel lblReplaceFrom = new JLabel("置換対象文字");
428 final JLabel lblReplaceTo = new JLabel("置換後文字");
430 final GroupLayout glProhibit = new GroupLayout(pnlFileProhibit);
431 glProhibit.setAutoCreateContainerGaps(true);
432 glProhibit.setAutoCreateGaps(true);
433 pnlFileProhibit.setLayout(glProhibit);
435 glProhibit.setHorizontalGroup(glProhibit.createSequentialGroup()
436 .addGroup(glProhibit.createParallelGroup()
437 .addComponent(lblReplaceFrom)
438 .addComponent(lblReplaceTo)
440 .addGroup(glProhibit.createParallelGroup()
441 .addComponent(fldReplaceFrom)
442 .addComponent(fldReplaceTo)
446 glProhibit.setVerticalGroup(glProhibit.createSequentialGroup()
447 .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
448 .addComponent(lblReplaceFrom)
449 .addComponent(fldReplaceFrom)
451 .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
452 .addComponent(lblReplaceTo)
453 .addComponent(fldReplaceTo)
457 GroupLayout gl_pnlFile = new GroupLayout(pnlFile);
458 pnlFile.setLayout(gl_pnlFile);
459 gl_pnlFile.setHorizontalGroup(
460 gl_pnlFile.createParallelGroup(GroupLayout.Alignment.LEADING)
461 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFile.createSequentialGroup()
463 .addGroup(gl_pnlFile.createParallelGroup(GroupLayout.Alignment.TRAILING)
464 .addComponent(pnlFileOutput, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
465 .addComponent(pnlFileVideo, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
466 .addComponent(pnlFileComment, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
467 .addComponent(pnlFileProhibit, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
471 gl_pnlFile.setVerticalGroup(
472 gl_pnlFile.createParallelGroup(GroupLayout.Alignment.LEADING)
473 .addGroup(gl_pnlFile.createSequentialGroup()
475 .addComponent(pnlFileVideo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
476 .addPreferredGap(ComponentPlacement.RELATED)
477 .addComponent(pnlFileComment, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
478 .addPreferredGap(ComponentPlacement.RELATED)
479 .addComponent(pnlFileOutput, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
480 .addPreferredGap(ComponentPlacement.RELATED)
481 .addComponent(pnlFileProhibit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
485 tabbedPane.addTab("ファイル", pnlFile);
487 pnlCommentStandard.setBorder(BorderFactory.createTitledBorder(""));
489 lblCommentSize.setText("再生時間に応じたコメントの取得数");
491 cbCommentSizeAuto.setText("自動調整");
493 lblCommentSizeManual.setText("手動取得");
495 lblCommentMinSize.setText("1分当たりのコメント取得数");
497 cbCommentMinSizeAuto.setText("自動調整");
499 lblCommentMinSizeManual.setText("手動取得");
501 lblCommentDisplayMax.setText("1画面に表示する最大コメント数");
503 cbCommentDisplaySizeDefault.setText("標準(30)");
505 lblCommentDisplayMaxManual.setText("手動設定");
507 GroupLayout gl_pnlCommentStandard = new GroupLayout(pnlCommentStandard);
508 pnlCommentStandard.setLayout(gl_pnlCommentStandard);
509 gl_pnlCommentStandard.setAutoCreateContainerGaps(true);
510 gl_pnlCommentStandard.setAutoCreateGaps(true);
511 gl_pnlCommentStandard.setHorizontalGroup(
512 gl_pnlCommentStandard.createSequentialGroup()
513 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
514 .addComponent(lblCommentSize)
515 .addComponent(lblCommentMinSize)
516 .addComponent(lblCommentDisplayMax))
517 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
518 .addComponent(cbCommentSizeAuto)
519 .addComponent(cbCommentMinSizeAuto)
520 .addComponent(cbCommentDisplaySizeDefault))
521 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
522 .addComponent(lblCommentSizeManual)
523 .addComponent(lblCommentMinSizeManual)
524 .addComponent(lblCommentDisplayMaxManual))
525 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
526 .addComponent(fldCommentSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
527 .addComponent(fldCommentMinSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
528 .addComponent(fldCommentDisplaySizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
530 gl_pnlCommentStandard.setVerticalGroup(
531 gl_pnlCommentStandard.createSequentialGroup()
532 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
533 .addComponent(lblCommentSize)
534 .addComponent(cbCommentSizeAuto)
535 .addComponent(lblCommentSizeManual)
536 .addComponent(fldCommentSizeManual))
537 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
538 .addComponent(lblCommentMinSize)
539 .addComponent(cbCommentMinSizeAuto)
540 .addComponent(lblCommentMinSizeManual)
541 .addComponent(fldCommentMinSizeManual))
542 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
543 .addComponent(lblCommentDisplayMax)
544 .addComponent(cbCommentDisplaySizeDefault)
545 .addComponent(lblCommentDisplayMaxManual)
546 .addComponent(fldCommentDisplaySizeManual))
549 pnlCommentAdvanced.setBorder(BorderFactory.createTitledBorder("高度な設定"));
551 lblFontPath.setText("フォントパス");
553 cbFontSizeArrangeDisable.setText("フォントサイズ調整を行わない");
555 cbCommentOpaque.setText("コメント透明化を行わない");
557 btnFontPath.setText("...");
559 lblFontIndex.setText("フォント番号");
561 lblFontShadow.setText("影の種類");
562 final ComboBoxModel<String> cbmFontShadow
563 = new DefaultComboBoxModel<>(new String[]{"0:なし", "1:ニコニコ動画風", "2:右下", "3:囲い込み"});
564 cmbFontShadow.setModel(cbmFontShadow);
566 GroupLayout gl_pnlCommentAdvanced = new GroupLayout(pnlCommentAdvanced);
567 pnlCommentAdvanced.setLayout(gl_pnlCommentAdvanced);
568 gl_pnlCommentAdvanced.setHorizontalGroup(
569 gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
570 .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
572 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
573 .addComponent(cbCommentOpaque)
574 .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
575 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
576 .addComponent(lblFontPath)
577 .addComponent(lblFontIndex)
578 .addComponent(lblFontShadow))
580 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
581 .addComponent(fldFontPath, GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)
582 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
583 .addComponent(cmbFontShadow, GroupLayout.Alignment.LEADING)
584 .addComponent(fldFontIndex, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)))
585 .addPreferredGap(ComponentPlacement.RELATED)
586 .addComponent(btnFontPath))
587 .addComponent(cbFontSizeArrangeDisable))
590 gl_pnlCommentAdvanced.setVerticalGroup(
591 gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.LEADING)
592 .addGroup(gl_pnlCommentAdvanced.createSequentialGroup()
593 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
594 .addComponent(lblFontPath)
595 .addComponent(fldFontPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
596 .addComponent(btnFontPath))
597 .addPreferredGap(ComponentPlacement.RELATED)
598 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
599 .addComponent(lblFontIndex)
600 .addComponent(fldFontIndex, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
601 .addPreferredGap(ComponentPlacement.RELATED)
602 .addGroup(gl_pnlCommentAdvanced.createParallelGroup(GroupLayout.Alignment.BASELINE)
603 .addComponent(lblFontShadow)
604 .addComponent(cmbFontShadow, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
605 .addPreferredGap(ComponentPlacement.RELATED)
606 .addComponent(cbFontSizeArrangeDisable)
607 .addPreferredGap(ComponentPlacement.RELATED)
608 .addComponent(cbCommentOpaque)
609 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
612 GroupLayout gl_pnlComment = new GroupLayout(pnlComment);
613 pnlComment.setLayout(gl_pnlComment);
614 gl_pnlComment.setHorizontalGroup(
615 gl_pnlComment.createParallelGroup(GroupLayout.Alignment.LEADING)
616 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlComment.createSequentialGroup()
618 .addGroup(gl_pnlComment.createParallelGroup(GroupLayout.Alignment.TRAILING)
619 .addComponent(pnlCommentAdvanced, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
620 .addComponent(pnlCommentStandard, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
623 gl_pnlComment.setVerticalGroup(
624 gl_pnlComment.createParallelGroup(GroupLayout.Alignment.LEADING)
625 .addGroup(gl_pnlComment.createSequentialGroup()
627 .addComponent(pnlCommentStandard, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
628 .addPreferredGap(ComponentPlacement.RELATED)
629 .addComponent(pnlCommentAdvanced, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
630 .addContainerGap(168, Short.MAX_VALUE))
633 tabbedPane.addTab("コメント", pnlComment);
635 jPanel10.setBorder(BorderFactory.createTitledBorder("ファイルパス"));
637 lblFfmpegPath.setText("ffmpeg");
639 lblFfmpegDllPath.setText("拡張ライブラリ");
641 btnFfmpegPath.setText("...");
643 btnFfmpegDllPath.setText("...");
645 GroupLayout gl_jPanel10 = new GroupLayout(jPanel10);
646 jPanel10.setLayout(gl_jPanel10);
647 gl_jPanel10.setHorizontalGroup(
648 gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
649 .addGroup(gl_jPanel10.createSequentialGroup()
651 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
652 .addComponent(lblFfmpegDllPath)
653 .addComponent(lblFfmpegPath))
654 .addPreferredGap(ComponentPlacement.RELATED)
655 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
656 .addComponent(fldFfmpegDllPath, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
657 .addComponent(fldFfmpegPath, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
658 .addPreferredGap(ComponentPlacement.RELATED)
659 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
660 .addComponent(btnFfmpegPath, GroupLayout.Alignment.TRAILING)
661 .addComponent(btnFfmpegDllPath, GroupLayout.Alignment.TRAILING))
664 gl_jPanel10.setVerticalGroup(
665 gl_jPanel10.createParallelGroup(GroupLayout.Alignment.LEADING)
666 .addGroup(gl_jPanel10.createSequentialGroup()
667 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.BASELINE)
668 .addComponent(lblFfmpegPath)
669 .addComponent(fldFfmpegPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
670 .addComponent(btnFfmpegPath))
671 .addPreferredGap(ComponentPlacement.RELATED)
672 .addGroup(gl_jPanel10.createParallelGroup(GroupLayout.Alignment.BASELINE)
673 .addComponent(lblFfmpegDllPath)
674 .addComponent(fldFfmpegDllPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
675 .addComponent(btnFfmpegDllPath))
676 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
679 pnlFfmpegParam.setBorder(BorderFactory.createTitledBorder("ffmpegパラメータ"));
681 buttonGroup1.add(rbFfmpegOptionFile);
682 rbFfmpegOptionFile.setText("オプションファイル");
684 buttonGroup1.add(rbFfmpegOptionDirectInput);
685 rbFfmpegOptionDirectInput.setText("直接入力");
687 cmbFfmpegOptionFile.setModel(new DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
689 pnlFfmpegParamOption.setBorder(BorderFactory.createEtchedBorder());
691 lblFfmpegOptionExtension.setText("出力動画の拡張子");
693 lblFfmpegOptionMain.setText("メインオプション");
695 lblFfmpegOptionIn.setText("入力オプション");
697 lblFfmpegOptionOut.setText("出力オプション");
699 lblFfmpegOptionAvfilter.setText("avfilterオプション");
701 cbFfmpegOptionResize.setText("次のサイズに収まるよう縮小(-s)");
703 lblFfmpegOptionResizeWidth.setText("横");
705 lblFfmpegOptionResizeHeight.setText("縦");
707 cbFfmpegOptionKeepAspect.setText("アスペクト比を維持");
709 GroupLayout gl_pnlFfmpegParamOption = new GroupLayout(pnlFfmpegParamOption);
710 pnlFfmpegParamOption.setLayout(gl_pnlFfmpegParamOption);
711 gl_pnlFfmpegParamOption.setHorizontalGroup(
712 gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
713 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
714 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
715 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
717 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
718 .addComponent(lblFfmpegOptionAvfilter)
719 .addComponent(lblFfmpegOptionExtension)
720 .addComponent(lblFfmpegOptionMain)
721 .addComponent(lblFfmpegOptionIn)
722 .addComponent(lblFfmpegOptionOut))
723 .addPreferredGap(ComponentPlacement.RELATED)
724 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
725 .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE)
726 .addComponent(fldFfmpegOptionMain, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
727 .addComponent(fldFfmpegOptionIn, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
728 .addComponent(fldFfmpegOptionOut, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
729 .addComponent(fldFfmpegOptionAv, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)))
730 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
732 .addComponent(cbFfmpegOptionResize)
733 .addPreferredGap(ComponentPlacement.UNRELATED)
734 .addComponent(lblFfmpegOptionResizeWidth)
735 .addPreferredGap(ComponentPlacement.RELATED)
736 .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE)
738 .addComponent(lblFfmpegOptionResizeHeight)
739 .addPreferredGap(ComponentPlacement.RELATED)
740 .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, 48, GroupLayout.PREFERRED_SIZE))
741 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
743 .addComponent(cbFfmpegOptionKeepAspect)))
746 gl_pnlFfmpegParamOption.setVerticalGroup(
747 gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.LEADING)
748 .addGroup(gl_pnlFfmpegParamOption.createSequentialGroup()
750 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
751 .addComponent(lblFfmpegOptionExtension)
752 .addComponent(fldFfmpegOptionExtension, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
753 .addPreferredGap(ComponentPlacement.RELATED)
754 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
755 .addComponent(lblFfmpegOptionMain)
756 .addComponent(fldFfmpegOptionMain, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
757 .addPreferredGap(ComponentPlacement.RELATED)
758 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
759 .addComponent(lblFfmpegOptionIn)
760 .addComponent(fldFfmpegOptionIn, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
761 .addPreferredGap(ComponentPlacement.RELATED)
762 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
763 .addComponent(lblFfmpegOptionOut)
764 .addComponent(fldFfmpegOptionOut, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
765 .addPreferredGap(ComponentPlacement.RELATED)
766 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
767 .addComponent(lblFfmpegOptionAvfilter)
768 .addComponent(fldFfmpegOptionAv, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
769 .addPreferredGap(ComponentPlacement.RELATED)
770 .addGroup(gl_pnlFfmpegParamOption.createParallelGroup(GroupLayout.Alignment.BASELINE)
771 .addComponent(cbFfmpegOptionResize)
772 .addComponent(lblFfmpegOptionResizeWidth)
773 .addComponent(fldFfmpegOptionResizeWidth, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
774 .addComponent(lblFfmpegOptionResizeHeight)
775 .addComponent(fldFfmpegOptionResizeHeight, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
776 .addPreferredGap(ComponentPlacement.RELATED)
777 .addComponent(cbFfmpegOptionKeepAspect)
781 GroupLayout gl_pnlFfmpegParam = new GroupLayout(pnlFfmpegParam);
782 pnlFfmpegParam.setLayout(gl_pnlFfmpegParam);
783 gl_pnlFfmpegParam.setHorizontalGroup(
784 gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
785 .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
787 .addGroup(gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
788 .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
789 .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
790 .addComponent(rbFfmpegOptionFile)
791 .addPreferredGap(ComponentPlacement.RELATED)
792 .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
793 .addComponent(rbFfmpegOptionDirectInput))
796 gl_pnlFfmpegParam.setVerticalGroup(
797 gl_pnlFfmpegParam.createParallelGroup(Alignment.LEADING)
798 .addGroup(gl_pnlFfmpegParam.createSequentialGroup()
800 .addGroup(gl_pnlFfmpegParam.createParallelGroup(Alignment.BASELINE)
801 .addComponent(rbFfmpegOptionFile)
802 .addComponent(cmbFfmpegOptionFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
803 .addPreferredGap(ComponentPlacement.RELATED)
804 .addComponent(rbFfmpegOptionDirectInput)
805 .addPreferredGap(ComponentPlacement.RELATED)
806 .addComponent(pnlFfmpegParamOption, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
810 GroupLayout gl_pnlFfmpeg = new GroupLayout(pnlFfmpeg);
811 pnlFfmpeg.setLayout(gl_pnlFfmpeg);
812 gl_pnlFfmpeg.setHorizontalGroup(
813 gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.LEADING)
814 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlFfmpeg.createSequentialGroup()
816 .addGroup(gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.TRAILING)
817 .addComponent(pnlFfmpegParam, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
818 .addComponent(jPanel10, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
821 gl_pnlFfmpeg.setVerticalGroup(
822 gl_pnlFfmpeg.createParallelGroup(GroupLayout.Alignment.LEADING)
823 .addGroup(gl_pnlFfmpeg.createSequentialGroup()
825 .addComponent(jPanel10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
826 .addPreferredGap(ComponentPlacement.RELATED)
827 .addComponent(pnlFfmpegParam, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
831 tabbedPane.addTab("ffmpeg", pnlFfmpeg);
833 pnlNgWord.setBorder(BorderFactory.createTitledBorder("NGワード"));
835 lstNgWord.setModel(mdlNgWord);
836 scrNgWord.setViewportView(lstNgWord);
838 btnNgWordAdd.setText("追加");
840 btnNgWordDel.setText("削除");
842 GroupLayout gl_pnlNgWord = new GroupLayout(pnlNgWord);
843 pnlNgWord.setLayout(gl_pnlNgWord);
844 gl_pnlNgWord.setHorizontalGroup(
845 gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
846 .addGroup(gl_pnlNgWord.createSequentialGroup()
848 .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
849 .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
850 .addGroup(gl_pnlNgWord.createSequentialGroup()
851 .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
852 .addPreferredGap(ComponentPlacement.RELATED)
853 .addComponent(btnNgWordAdd)
855 .addComponent(btnNgWordDel)))
858 gl_pnlNgWord.setVerticalGroup(
859 gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
860 .addGroup(gl_pnlNgWord.createSequentialGroup()
861 .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
862 .addPreferredGap(ComponentPlacement.RELATED)
863 .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE)
864 .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
865 .addComponent(btnNgWordDel)
866 .addComponent(btnNgWordAdd))
867 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
870 pnlNgId.setBorder(BorderFactory.createTitledBorder("NGID"));
872 lstNgId.setModel(mdlNgId);
873 scrNgId.setViewportView(lstNgId);
875 btnNgIdAdd.setText("追加");
877 btnNgIdDel.setText("削除");
879 GroupLayout gl_pnlNgId = new GroupLayout(pnlNgId);
880 pnlNgId.setLayout(gl_pnlNgId);
881 gl_pnlNgId.setHorizontalGroup(
882 gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
883 .addGroup(gl_pnlNgId.createSequentialGroup()
885 .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
886 .addComponent(scrNgId, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
887 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNgId.createSequentialGroup()
888 .addComponent(fldNgId, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
889 .addPreferredGap(ComponentPlacement.RELATED)
890 .addComponent(btnNgIdAdd)
892 .addComponent(btnNgIdDel)))
895 gl_pnlNgId.setVerticalGroup(
896 gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.LEADING)
897 .addGroup(gl_pnlNgId.createSequentialGroup()
898 .addComponent(scrNgId, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
899 .addPreferredGap(ComponentPlacement.RELATED)
900 .addGroup(gl_pnlNgId.createParallelGroup(GroupLayout.Alignment.BASELINE)
901 .addComponent(fldNgId, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
902 .addComponent(btnNgIdDel)
903 .addComponent(btnNgIdAdd))
904 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
907 GroupLayout gl_pnlNgSetting = new GroupLayout(pnlNgSetting);
908 pnlNgSetting.setLayout(gl_pnlNgSetting);
909 gl_pnlNgSetting.setHorizontalGroup(
910 gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.LEADING)
911 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlNgSetting.createSequentialGroup()
913 .addGroup(gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.TRAILING)
914 .addComponent(pnlNgId, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
915 .addComponent(pnlNgWord, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
918 gl_pnlNgSetting.setVerticalGroup(
919 gl_pnlNgSetting.createParallelGroup(GroupLayout.Alignment.LEADING)
920 .addGroup(gl_pnlNgSetting.createSequentialGroup()
922 .addComponent(pnlNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
923 .addPreferredGap(ComponentPlacement.RELATED)
924 .addComponent(pnlNgId, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
925 .addContainerGap(82, Short.MAX_VALUE))
928 tabbedPane.addTab("NG設定", pnlNgSetting);
930 pnlSearchVideo.setBorder(BorderFactory.createTitledBorder("動画検索対象フォルダ"));
932 lstSearchVideo.setModel(mdlSearchVideo);
933 srcSearchVideo.setViewportView(lstSearchVideo);
935 btnSearchVideoAdd.setText("追加...");
937 btnSearchVideoDel.setText("削除");
939 GroupLayout gl_pnlSearchVideo = new GroupLayout(pnlSearchVideo);
940 pnlSearchVideo.setLayout(gl_pnlSearchVideo);
941 gl_pnlSearchVideo.setHorizontalGroup(
942 gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
943 .addComponent(srcSearchVideo, GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
944 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearchVideo.createSequentialGroup()
945 .addContainerGap(269, Short.MAX_VALUE)
946 .addComponent(btnSearchVideoAdd)
948 .addComponent(btnSearchVideoDel)
951 gl_pnlSearchVideo.setVerticalGroup(
952 gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.LEADING)
953 .addGroup(gl_pnlSearchVideo.createSequentialGroup()
954 .addComponent(srcSearchVideo, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
955 .addPreferredGap(ComponentPlacement.RELATED)
956 .addGroup(gl_pnlSearchVideo.createParallelGroup(GroupLayout.Alignment.BASELINE)
957 .addComponent(btnSearchVideoDel)
958 .addComponent(btnSearchVideoAdd))
959 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
962 pnlSearchComment.setBorder(BorderFactory.createTitledBorder("コメント検索対象フォルダ"));
964 lstSearchComment.setModel(mdlSearchComment);
965 srcSearchComment.setViewportView(lstSearchComment);
967 btnSearchCommentAdd.setText("追加...");
969 btnSearchCommentDel.setText("削除");
971 GroupLayout gl_pnlSearchComment = new GroupLayout(pnlSearchComment);
972 pnlSearchComment.setLayout(gl_pnlSearchComment);
973 gl_pnlSearchComment.setHorizontalGroup(
974 gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.LEADING)
975 .addComponent(srcSearchComment, GroupLayout.DEFAULT_SIZE, 419, Short.MAX_VALUE)
976 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearchComment.createSequentialGroup()
977 .addContainerGap(269, Short.MAX_VALUE)
978 .addComponent(btnSearchCommentAdd)
980 .addComponent(btnSearchCommentDel)
983 gl_pnlSearchComment.setVerticalGroup(
984 gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.LEADING)
985 .addGroup(gl_pnlSearchComment.createSequentialGroup()
986 .addComponent(srcSearchComment, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
987 .addPreferredGap(ComponentPlacement.RELATED)
988 .addGroup(gl_pnlSearchComment.createParallelGroup(GroupLayout.Alignment.BASELINE)
989 .addComponent(btnSearchCommentDel)
990 .addComponent(btnSearchCommentAdd))
991 .addContainerGap(16, Short.MAX_VALUE))
994 pnlSearchCache.setBorder(BorderFactory.createEtchedBorder());
996 lblSearchCache.setText("キャッシュ更新(秒)");
998 GroupLayout gl_pnlSearchCache = new GroupLayout(pnlSearchCache);
999 pnlSearchCache.setLayout(gl_pnlSearchCache);
1000 gl_pnlSearchCache.setHorizontalGroup(
1001 gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.LEADING)
1002 .addGroup(gl_pnlSearchCache.createSequentialGroup()
1004 .addComponent(lblSearchCache)
1005 .addPreferredGap(ComponentPlacement.RELATED)
1006 .addComponent(fldSearchCache, GroupLayout.PREFERRED_SIZE, 55, GroupLayout.PREFERRED_SIZE)
1007 .addContainerGap(269, Short.MAX_VALUE))
1009 gl_pnlSearchCache.setVerticalGroup(
1010 gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.LEADING)
1011 .addGroup(gl_pnlSearchCache.createSequentialGroup()
1013 .addGroup(gl_pnlSearchCache.createParallelGroup(GroupLayout.Alignment.BASELINE)
1014 .addComponent(lblSearchCache)
1015 .addComponent(fldSearchCache, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
1016 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
1019 GroupLayout gl_pnlSearch = new GroupLayout(pnlSearch);
1020 pnlSearch.setLayout(gl_pnlSearch);
1021 gl_pnlSearch.setHorizontalGroup(
1022 gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.LEADING)
1023 .addGroup(GroupLayout.Alignment.TRAILING, gl_pnlSearch.createSequentialGroup()
1025 .addGroup(gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.TRAILING)
1026 .addComponent(pnlSearchCache, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1027 .addComponent(pnlSearchComment, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1028 .addComponent(pnlSearchVideo, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
1031 gl_pnlSearch.setVerticalGroup(
1032 gl_pnlSearch.createParallelGroup(GroupLayout.Alignment.LEADING)
1033 .addGroup(gl_pnlSearch.createSequentialGroup()
1035 .addComponent(pnlSearchVideo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
1036 .addPreferredGap(ComponentPlacement.RELATED)
1037 .addComponent(pnlSearchComment, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
1038 .addPreferredGap(ComponentPlacement.RELATED)
1039 .addComponent(pnlSearchCache, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
1040 .addContainerGap(27, Short.MAX_VALUE))
1043 tabbedPane.addTab("検索", pnlSearch);
1045 final JPanel pnlButton = new JPanel();
1046 final JButton btnOk = new JButton("OK");
1047 btnOk.addActionListener(new ActionListener() {
1050 public void actionPerformed(ActionEvent e) {
1055 final JButton btnCancel = new JButton("Cancel");
1056 pnlButton.add(btnOk);
1057 pnlButton.add(btnCancel);
1059 GroupLayout layout = new GroupLayout(getContentPane());
1060 getContentPane().setLayout(layout);
1061 layout.setHorizontalGroup(
1062 layout.createParallelGroup(GroupLayout.Alignment.LEADING)
1063 .addComponent(tabbedPane, GroupLayout.DEFAULT_SIZE, 460, Short.MAX_VALUE)
1064 .addComponent(pnlButton)
1066 layout.setVerticalGroup(
1067 layout.createSequentialGroup()
1068 .addComponent(tabbedPane,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
1069 .addComponent(pnlButton)
1073 setResizable(false);
1078 * @param args the command line arguments
1080 public static void main(String args[]) {
1081 /* Set the Nimbus look and feel */
1082 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
1083 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
1084 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
1087 for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
1088 if ("Nimbus".equals(info.getName())) {
1089 UIManager.setLookAndFeel(info.getClassName());
1093 } catch (ClassNotFoundException ex) {
1094 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1095 } catch (InstantiationException ex) {
1096 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1097 } catch (IllegalAccessException ex) {
1098 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1099 } catch (UnsupportedLookAndFeelException ex) {
1100 java.util.logging.Logger.getLogger(ConfigDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1104 /* Create and display the form */
1105 java.awt.EventQueue.invokeLater(new Runnable() {
1109 new ConfigDialog().setVisible(true);
1113 // Variables declaration - do not modify//GEN-BEGIN:variables
1117 private final JTextField fldMail;
1118 private final JTextField fldPassword;
1120 private final JCheckBox cbProxyUse;
1121 private final JTextField fldProxyHost;
1122 private final JTextField fldProxyPort;
1125 private final JTextField fldVideoDir;
1126 private final JButton btnVideoDir;
1127 private final JTextField fldVideoFileNamePattern;
1128 private final JCheckBox cbVideoLocal;
1130 private final JTextField fldCommentDir;
1131 private final JButton btnCommentDir;
1132 private final JTextField fldCommentFileNamePattern;
1133 private final JCheckBox cbCommentLocal;
1135 private final JTextField fldOutputDir;
1136 private final JTextField fldOutputFileNamePattern;
1137 private final JButton btnOutputDir;
1138 private final JCheckBox cbOutputEnable;
1139 private final JCheckBox cbOutputCommentOverlay;
1140 private final JCheckBox cbOutputDisplayProgress;
1142 private final JTextField fldReplaceFrom = new JTextField();
1143 private final JTextField fldReplaceTo = new JTextField();
1146 private final JCheckBox cbCommentSizeAuto;
1147 private final JTextField fldCommentSizeManual;
1148 private final JCheckBox cbCommentMinSizeAuto;
1149 private final JTextField fldCommentMinSizeManual;
1150 private final JCheckBox cbCommentDisplaySizeDefault;
1151 private final JTextField fldCommentDisplaySizeManual;
1153 private final JTextField fldFontPath;
1154 private final JButton btnFontPath;
1155 private final JTextField fldFontIndex;
1156 private final JComboBox<String> cmbFontShadow = new JComboBox<>();
1157 private final JCheckBox cbFontSizeArrangeDisable;
1158 private final JCheckBox cbCommentOpaque;
1161 private final JTextField fldFfmpegPath;
1162 private final JButton btnFfmpegPath;
1163 private final JTextField fldFfmpegDllPath;
1164 private final JButton btnFfmpegDllPath;
1165 // ffmpeg - ffmpegパラメータ
1166 private final JRadioButton rbFfmpegOptionFile;
1167 private final JRadioButton rbFfmpegOptionDirectInput;
1168 private final JComboBox cmbFfmpegOptionFile;
1169 private final JTextField fldFfmpegOptionExtension;
1170 private final JTextField fldFfmpegOptionMain;
1171 private final JTextField fldFfmpegOptionIn;
1172 private final JTextField fldFfmpegOptionOut;
1173 private final JTextField fldFfmpegOptionAv;
1174 private final JCheckBox cbFfmpegOptionResize;
1175 private final JTextField fldFfmpegOptionResizeWidth;
1176 private final JTextField fldFfmpegOptionResizeHeight;
1177 private final JCheckBox cbFfmpegOptionKeepAspect;
1180 private final JList<String> lstNgWord;
1181 private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
1182 private final JTextField fldNgWord;
1183 private final JButton btnNgWordAdd;
1184 private final JButton btnNgWordDel;
1186 private final JList<String> lstNgId;
1187 private final DefaultListModel<String> mdlNgId = new DefaultListModel<>();
1188 private final JTextField fldNgId;
1189 private final JButton btnNgIdAdd;
1190 private final JButton btnNgIdDel;
1193 private final JList<String> lstSearchVideo;
1194 private final DefaultListModel<String> mdlSearchVideo = new DefaultListModel<>();
1195 private final JButton btnSearchVideoAdd;
1196 private final JButton btnSearchVideoDel;
1197 // 検索 - コメント検索対象フォルダ
1198 private final JList<String> lstSearchComment;
1199 private final DefaultListModel<String> mdlSearchComment = new DefaultListModel<>();
1200 private final JButton btnSearchCommentAdd;
1201 private final JButton btnSearchCommentDel;
1203 private final JTextField fldSearchCache;
1206 // End of variables declaration//GEN-END:variables
1208 private void loadConfig() {
1209 final Config p = Config.INSTANCE;
1214 fldMail.setText(p.getId());
1215 fldPassword.setText(p.getPassword());
1220 cbProxyUse.setSelected(p.getProxyUse());
1221 fldProxyHost.setText(p.getProxyHost());
1222 fldProxyPort.setText(p.getProxyPort());
1227 fldVideoDir.setText(p.getVideoDir());
1228 fldVideoFileNamePattern.setText(p.getVideoFileNamePattern());
1229 cbVideoLocal.setSelected(p.getVideoUseLocal());
1234 fldCommentDir.setText(p.getCommentDir());
1235 fldCommentFileNamePattern.setText(p.getCommentFileNamePattern());
1236 cbCommentLocal.setSelected(p.getCommentUseLocal());
1241 fldOutputDir.setText(p.getOutputDir());
1242 fldOutputFileNamePattern.setText(p.getOutputFileNamePattern());
1243 cbOutputEnable.setSelected(p.getOutputEnable());
1244 cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
1245 cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
1250 fldReplaceFrom.setText(p.getReplaceFrom());
1251 fldReplaceTo.setText(p.getReplaceTo());
1256 cbCommentSizeAuto.setSelected(p.getCommentSizeAutosize());
1257 fldCommentSizeManual.setText(p.getCommentSizeManual());
1258 cbCommentMinSizeAuto.setSelected(p.getCommentMinSizeAutosize());
1259 fldCommentSizeManual.setText(p.getCommentMinSizeManual());
1260 cbCommentDisplaySizeDefault.setSelected(p.getCommentDisplaySizeDefault());
1261 fldCommentDisplaySizeManual.setText(p.getCommentDisplaySizeManual());
1266 fldFontPath.setText(p.getFontPath());
1267 fldFontIndex.setText(p.getFontIndex());
1268 cmbFontShadow.setSelectedIndex(p.getFontShadow());
1269 cbFontSizeArrangeDisable.setSelected(p.getFontSizeArrangeDisable());
1270 cbCommentOpaque.setSelected(p.getCommentOpaque());
1275 fldFfmpegPath.setText(p.getFfmpegPath());
1276 fldFfmpegDllPath.setText(p.getFfmpegDllPath());
1279 * ffmpeg - ffmpegパラメータ
1281 rbFfmpegOptionFile.setSelected(!p.getFfmpegParamInputDirect());
1282 rbFfmpegOptionDirectInput.setSelected(p.getFfmpegParamInputDirect());
1283 // TODO cmbFfmpegOptionFile
1284 fldFfmpegOptionExtension.setText(p.getFfmpegExtension());
1285 fldFfmpegOptionMain.setText(p.getFfmpegMainOption());
1286 fldFfmpegOptionIn.setText(p.getFfmpegInOption());
1287 fldFfmpegOptionOut.setText(p.getFfmpegOutOption());
1288 fldFfmpegOptionAv.setText(p.getFfmpegAvOption());
1289 cbFfmpegOptionResize.setSelected(p.getFfmpegResizeEnable());
1290 fldFfmpegOptionResizeWidth.setText(p.getFfmpegResizeWidth());
1291 fldFfmpegOptionResizeHeight.setText(p.getFfmpegResizeHeight());
1292 cbFfmpegOptionKeepAspect.setSelected(p.getFfmpegKeepAspect());
1297 final List<String> ngWords = p.getNgWords();
1298 for (String s : ngWords) {
1299 mdlNgWord.addElement(s);
1301 final List<String> ngIds = p.getNgIds();
1302 for (String s : ngIds) {
1303 mdlNgId.addElement(s);
1306 private void saveConfig() {
1307 final Config p = Config.INSTANCE;
1313 p.setId(fldMail.getText());
1314 p.setPassword(fldPassword.getText());
1319 p.setProxyUse(cbProxyUse.isSelected());
1320 p.setProxyHost(fldProxyHost.getText());
1321 p.setProxyPort(fldProxyPort.getText());
1326 p.setVideoDir(fldVideoDir.getText());
1327 p.setVideoFileNamePattern(fldVideoFileNamePattern.getText());
1328 p.setVideoUseLocal(cbVideoLocal.isSelected());
1333 p.setCommentDir(fldCommentDir.getText());
1334 p.setCommentFileNamePattern(fldCommentFileNamePattern.getText());
1335 p.setCommentUseLocal(cbCommentLocal.isSelected());
1340 p.setOutputDir(fldOutputDir.getText());
1341 p.setOutputFileNamePattern(fldOutputFileNamePattern.getText());
1342 p.setOutputEnable(cbOutputEnable.isSelected());
1343 p.setOutputCommentOverlay(cbOutputCommentOverlay.isSelected());
1344 p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
1349 p.setReplaceFrom(fldReplaceFrom.getText());
1350 p.setReplaceTo(fldReplaceTo.getText());
1355 p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());
1356 p.setCommentSizeManual(fldCommentSizeManual.getText());
1357 p.setCommentMinSizeAutosize(cbCommentMinSizeAuto.isSelected());
1358 p.setCommentMinSizeManual(fldCommentSizeManual.getText());
1359 p.setCommentDisplaySizeDefault(cbCommentDisplaySizeDefault.isSelected());
1360 p.setCommentDisplaySizeManual(fldCommentDisplaySizeManual.getText());
1365 p.setFontPath(fldFontPath.getText());
1366 p.setFontIndex(fldFontIndex.getText());
1367 p.setFontShadow(cmbFontShadow.getSelectedIndex());
1368 p.setFontSizeArrangeDisable(cbFontSizeArrangeDisable.isSelected());
1369 p.setCommentOpaque(cbCommentOpaque.isSelected());
1374 p.setFfmpegPath(fldFfmpegPath.getText());
1375 p.setFfmpegDllPath(fldFfmpegDllPath.getText());
1378 * ffmpeg - ffmpegパラメータ
1380 p.setFfmpegParamInputDirect(rbFfmpegOptionDirectInput.isSelected());
1381 // TODO cmbFfmpegOptionFile
1382 p.setFfmpegExtension(fldFfmpegOptionExtension.getText());
1383 p.setFfmpegMainOption(fldFfmpegOptionMain.getText());
1384 p.setFfmpegInOption(fldFfmpegOptionIn.getText());
1385 p.setFfmpegOutOption(fldFfmpegOptionOut.getText());
1386 p.setFfmpegAvOption(fldFfmpegOptionAv.getText());
1387 p.setFfmpegResizeEnable(cbFfmpegOptionResize.isSelected());
1388 p.setFfmpegResizeWidth(fldFfmpegOptionResizeWidth.getText());
1389 p.setFfmpegResizeHeight(fldFfmpegOptionResizeHeight.getText());
1390 p.setFfmpegKeepAspect(cbFfmpegOptionKeepAspect.isSelected());
1395 p.setNgWords(Arrays.asList((String[]) mdlNgWord.toArray()));
1396 p.setNgIds(Arrays.asList((String[])mdlNgId.toArray()));