7 import java.util.ArrayList;
9 import javax.swing.DefaultComboBoxModel;
16 public class OptionComboBoxModel extends DefaultComboBoxModel {
20 private static final long serialVersionUID = -8948187216195366156L;
22 private final ArrayList<FFmpegSelectedItem> List = new ArrayList<FFmpegSelectedItem>(
27 private int Index = 0;
29 public OptionComboBoxModel() {
34 *
\83t
\83@
\83C
\83\8b\93Ç
\82Ý
\8d\9e\82Ý
\82»
\82Ì
\91¼
\82ð
\8ds
\82¤
36 private static final File OPTION_FOLDER = new File(".\\option\\");
38 private static final FFmpegSelectedItem DEFAULT_ITEM = new FFmpegSelectedItem(
39 0, null, "
\8aO
\95\94\83t
\83@
\83C
\83\8b\82ð
\97p
\82¢
\82¸
\81A
\89º
\82É
\92¼
\90Ú
\93ü
\97Í
\82·
\82é
\81B");
41 protected void reload() {
42 File original_file = ((FFmpegSelectedItem) getSelectedItem()).getFile();
43 reload(original_file);
46 protected void reload(File original_file) {
47 int original_index = -1;
49 //
\83\8a\83X
\83g
\83N
\83\8a\83A
51 //
\83t
\83@
\83C
\83\8b\83\8a\83X
\83g
\8dX
\90V
52 File[] file_array = OPTION_FOLDER.listFiles();
53 if(file_array != null){
54 for (int i = 0; i < file_array.length; i++) {
55 File file = file_array[i];
56 if (file.getName().endsWith(".xml")) {
57 List.add(new FFmpegSelectedItem(index, file, null));
58 //
\91O
\89ñ
\8e¦
\82µ
\82Ä
\82¢
\82½
\82Ì
\82Æ
\93¯
\82¶
\83t
\83@
\83C
\83\8b\82ð
\94
\8c©
\81B
59 if (original_index < 0 && file.equals(original_file)) {
60 original_index = index;
67 if (original_index < 0) {
70 Index = original_index;
73 this.fireContentsChanged(this, 0, Size);
77 *
\91I
\82Î
\82ê
\82Ä
\82¢
\82é
\83I
\83u
\83W
\83F
\83N
\83g
\82ð
\95Ô
\82·
79 public Object getSelectedItem() {
80 return getElementAt(Index);
83 public File getSelectedFile() {
87 return List.get(Index - 1).getFile();
92 *
\83I
\83u
\83W
\83F
\83N
\83g
\82©
\82ç
\81A
\83C
\83\93\83f
\83b
\83N
\83X
\82ð
\92T
\82·
\81B
94 public void setSelectedItem(Object anItem) {
99 FFmpegSelectedItem item = (FFmpegSelectedItem) anItem;
100 Index = item.getIndex();
104 *
\83C
\83\93\83f
\83b
\83N
\83X
\82©
\82ç
\83I
\83u
\83W
\83F
\83N
\83g
\82ð
\95Ô
\82·
\81B
106 public Object getElementAt(int index) {
109 } else if (index < Size) {
110 return List.get(index - 1);
117 *
\83T
\83C
\83Y
\82ð
\95Ô
\82·
\81B
120 public int getSize() {
124 public boolean isFile() {
133 class FFmpegSelectedItem {
134 private final int Index;
136 private final File File;
138 private final String Name;
140 protected FFmpegSelectedItem(int index, File file, String name) {
144 String tmp = file.getName();
145 Name = tmp.substring(0, tmp.lastIndexOf("."));
151 public String toString() {
155 protected File getFile() {
160 *
\8e¯
\95Ê
\82É
\8eg
\82¤
164 protected int getIndex() {