* @author Account01
*
*/
-public class OptionComboBoxModel extends DefaultComboBoxModel {
+public final class OptionComboBoxModel extends DefaultComboBoxModel<FFmpegSelectedItem> {
/**
*
*/
private static final long serialVersionUID = -8948187216195366156L;
- private final ArrayList<FFmpegSelectedItem> List = new ArrayList<FFmpegSelectedItem>(
+ private final ArrayList<FFmpegSelectedItem> List = new ArrayList<>(
20);
private int Size = 0;
private int Index = 0;
public OptionComboBoxModel() {
- reload();
+ File original_file = getSelectedItem().getFile();
+ reload(original_file);
}
/**
private static final FFmpegSelectedItem DEFAULT_ITEM = new FFmpegSelectedItem(
0, null, "外部ファイルを用いず、下に直接入力する。");
- protected void reload() {
- File original_file = ((FFmpegSelectedItem) getSelectedItem()).getFile();
+ public void reload() {
+ final File original_file = getSelectedItem().getFile();
reload(original_file);
}
- protected void reload(File original_file) {
+ public void reload(File original_file) {
int original_index = -1;
int index = 1;
// リストクリア
/**
* 選ばれているオブジェクトを返す
*/
- public Object getSelectedItem() {
+ @Override
+ public FFmpegSelectedItem getSelectedItem() {
return getElementAt(Index);
}
/**
* オブジェクトから、インデックスを探す。
*/
+ @Override
public void setSelectedItem(Object anItem) {
if (anItem == null) {
Index = 0;
/**
* インデックスからオブジェクトを返す。
*/
- public Object getElementAt(int index) {
+ @Override
+ public FFmpegSelectedItem getElementAt(int index) {
if (index == 0) {
return DEFAULT_ITEM;
} else if (index < Size) {
* サイズを返す。
*/
+ @Override
public int getSize() {
return Size;
}
}
}
-class FFmpegSelectedItem {
- private final int Index;
-
- private final File File;
-
- private final String Name;
-
- protected FFmpegSelectedItem(int index, File file, String name) {
- Index = index;
- File = file;
- if (name == null) {
- String tmp = file.getName();
- Name = tmp.substring(0, tmp.lastIndexOf("."));
- } else {
- Name = name;
- }
- }
-
- public String toString() {
- return Name;
- }
-
- protected File getFile() {
- return File;
- }
-
- /**
- * 識別に使う
- *
- * @return
- */
- protected int getIndex() {
- return Index;
- }
-}