7 import java.util.ArrayList;
9 import javax.swing.DefaultComboBoxModel;
16 public final class OptionComboBoxModel extends DefaultComboBoxModel<FFmpegSelectedItem> {
20 private static final long serialVersionUID = -8948187216195366156L;
22 private final ArrayList<FFmpegSelectedItem> List = new ArrayList<FFmpegSelectedItem>(
27 private int Index = 0;
29 public OptionComboBoxModel() {
30 File original_file = getSelectedItem().getFile();
31 reload(original_file);
37 private static final File OPTION_FOLDER = new File("option");
39 private static final FFmpegSelectedItem DEFAULT_ITEM = new FFmpegSelectedItem(
40 0, null, "外部ファイルを用いず、下に直接入力する。");
42 public void reload(File original_file) {
43 int original_index = -1;
48 File[] file_array = OPTION_FOLDER.listFiles();
49 if(file_array != null){
50 for (int i = 0; i < file_array.length; i++) {
51 File file = file_array[i];
52 if (file.getName().endsWith(".xml")) {
53 List.add(new FFmpegSelectedItem(index, file, null));
54 // 前回示していたのと同じファイルを発見。
55 if (original_index < 0 && file.equals(original_file)) {
56 original_index = index;
63 if (original_index < 0) {
66 Index = original_index;
69 this.fireContentsChanged(this, 0, Size);
76 public FFmpegSelectedItem getSelectedItem() {
77 return getElementAt(Index);
80 public File getSelectedFile() {
84 return List.get(Index - 1).getFile();
92 public void setSelectedItem(Object anItem) {
97 FFmpegSelectedItem item = (FFmpegSelectedItem) anItem;
98 Index = item.getIndex();
105 public FFmpegSelectedItem getElementAt(int index) {
108 } else if (index < Size) {
109 return List.get(index - 1);
120 public int getSize() {
124 public boolean isFile() {