Java Developer Connection のプログラマチャレンジ

Java JavaFX

Java Developer Connection テクニカルティップって覚えている人っていますよね?

そこでプログラマチャレンジってのがあって当時私もチャレンジしてみたのですが

簡単そうで難しかった思い出があります。

そもそも当時の Java はタブにコンポーネントを貼れないため閉じるボタンをタブじゃないところに置かなくてはいけませんでした。

非常にダサかったです。

現在リリースされている Java8 では次世代 UI の JavaFX8 が使えますので最新の Java8 を使って作ってみました。

ちょっと予定していた機能を実装できなかったり、Java8 の Files.wark メソッドでの探索処理ではまったりでたくさん泣きました。

結局、完成には至りませんでしたがそこそこできたので良しとします。(ヲヒ

大文字、小文字を区別するかしないか

サブディレクトリも検索するかどうかをチェックボックス付きのメニューアイテムで選択できるようにしました。

ディレクトリチューザーを開くようにして容易に検索場所を指定できるようにしました。

1

 

PathMatcher を使っているのでエディタブルな ComboBox を利用して複数の拡張子を指定できるようにしました。

検索対象のファイルのリストをタブにまとめました。

そしてリストビューにファイルのパスを表示するようにしました。

2

 

リストビューのパスを選択するとそのファイルの表示をするようにしました。

swing では検索ワードを色をつけて太字とすることが可能だったのですが JavaFX ではどうしたらいいか解りませんでした。

TextFlow を使えばなんとかなるのかなって思ってみたのですがちょっと解決方法が思いつきませんでした。(残念!

3

 

そこで、それならば代わりに印刷機能を付けちゃおうって思ってやってみたのですが・・・

これまた、頭がドッカーン!!

何故か印刷ダイアログのキャンセルボタン、もしくはウィンドゥの閉じるボタンを押しても印刷してくれるという・・・

凄すぎるよ!JavaFX8 の PrintAPI

おまけに一枚分しか印刷できない。(たぶんこれは私の理解不足です。

4

 

あと、以前のエントリーで Java8 の Files.wark メソッドが便利だと書いたのですが訂正します。

使いづらいです!

java.nio.file.AccessDeniedException で仕事放棄します。(;´Д`)

しかたないので Java7 の古い API でグルグルまわしました。

基本的な機能はだいたいできたので良しとします。

あとは音とかアラートダイアログとかアバウトとか細かい作業なのでどうでもいいです。

どうせ自分専用だしね! (^_^)

あれから12,3年くらい経つのかな?

ずいぶん良くなった!

Java 最高!

Hatena タグ: ,