今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

ポリテクカレッジでの講義メモ

Arrays.sort()を使う例題として、Fileのソートを実施。ベースにしたプログラムはここに書いたやつ。
ポリモーフィズム
メニューバーに「ソート」を追加して、「名前」・「サイズ」・「日付」・「種類」を選択する。
メニューに追加するメニュー項目は、AbstractActionを継承して実装。

public class SortByNameAction extends AbstractAction {
    private JList list;
    public SortByNameAction(JList list) {
        super("名前");
        this.list = list;
    }
    public void actionPerformed(ActionEvent e) {
        // 要素の配列を取得
        Arrays.sort(elements, new FileNameComparator());
        // ソートした結果をJListに反映
    }
}
public class FileNameComparator implements Comparator {
    public int compare(File f1, File f2) {
        return f1.compareTo(f2);
    }
}

とか。
あと、FileSizeComparator、FileDateComparator、FileTypeComparatorを作成。
FileTypeComparatorはけっこうめんどい。ディレクトリ<拡張子なし<拡張子比較なので。
あと、SimpleDateFormatを使ったStringとDateの相互変換とか。ファイルの更新時刻をDate#toString()で表示するのも味気ないので。
Collections.sort()で、Listをソートするのもやりたかったけど、時間が足りなかった。

今日はスレッドとJDBCのさわり。
このサイトを参照しながら講義する予定。
スレッドマルチスレッドプログラミング-TECHSCORE-