Java8

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

リンク: [Java8] JavaFXでファイル選択ダイアログ

リンク先についでに書いとけばよかったんだが・・・

ファイル選択ダイアログは、javafx.stage.DirectoryChooserを使用します。

こんな感じで

DirectoryChooser dirChooser = new DirectoryChooser();
         
dirChooser.setTitle("ディレクトリ選択");
// 初期ディレクトリをホームにする
dirChooser.setInitialDirectory(new File(System.getProperty("user.home")));
         
File file = dirChooser.showDialog(mStage);
if(file != null) {
	System.out.println(file.getPath());
}

このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

ファイル選択ダイアログは、javafx.stage.FileChooserを使用します。

次のような感じ。

FileChooser fileChooser = new FileChooser();
        
fileChooser.setTitle("ファイル選択");
// 拡張子フィルタを設定
fileChooser.getExtensionFilters().add(
	new FileChooser.ExtensionFilter("イメージファイル", "*.jpg", "*.png")
);
fileChooser.getExtensionFilters().add(
	new FileChooser.ExtensionFilter("すべてのファイル", "*.*")
);
// 初期ディレクトリをホームにする。
fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));

// ファイル選択
File file = fileChooser.showOpenDialog(mStage);
if(file != null) {
	System.out.println(file.getPath());
}

複数ファイル選択は、showOpenDialogの代わりにshowOpenMultipleDialogを呼びます。

List<File> files = fileChooser.showOpenMultipleDialog(mStage);
if(files != null) {
	for(File f : files) {
		System.out.println(f.getPath());
	}
}

ファイル保存は、初期ファイル名をsetInitialFileNameで設定してshowOpenDialogの代わりにshowSaveDialogを呼びます。

fileChooser.setInitialFileName("hoge.jpg");
File file = fileChooser.showSaveDialog(mStage);
if(file != null) {
	System.out.println(file.getPath());
}

このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

JavaFXにメッセージボックスがなさそうなんで簡単なのを作ってみた。

とりあえず、OKボタン一個とメッセージを表示するラベルしかないのだけど。

ソース:TestMessageBox.zip

ソース内の
FXMLMessageBox.fxml
MessageBoxController.java
MessageBox.java
がメッセージボックス本体。
それ以外が呼び出しているところやなんやら。

MessageBoxを使うのにStageが必要になるんだけどControllerクラス内で取得する必要があるけどスマートに取得する方法がないんでApplicationを継承したクラスでControllerクラスに渡すようにしている。




このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

たいがいのウィンドウシステムではワーカースレッドから直接GUI部品を操作することができない。Java+JavaFXでもできません。

JavaFXの場合、JavaFX Application Threadが動いていてそこでしかできない。
Platform.runLaterを使うとそのスレッドで処理することができる。

次のような感じ。logTextはTextArea。

private void AddMessage(String msg) {
	Platform.runLater(() -> {
		logText.appendText(msg);
		logText.appendText("\n");
	});
}


このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

リンク: OpenCLでノイズ除去作ってみたが・・・(2): ときどき日記4.0.

で作ったやつをJava8で作り直してみた。単にJava8(てか、JavaFX8)でなんか
作ってみようと思って、これが丁度手頃なサイズなんでこれを選んだ。
当然、目的からしてOpenCLを呼ぶようなところは移植していない。

MedianTestFX.zip

ついでにC#でもノイズ除去するのを上のリンク先のソースに追加もした。
もともと、.Net 4.0以降のParallel.Forを使っていたので、
それをThreadPoolを使うように書き直している。
(公開しているソースはVS2008のコードなもんで(^^;))

ということで、測定。Java8、C#での結果を追加した。

Core2 Quad Q9400 Atom Z3740 Core i7 2620M
OpenCL OpenMP C# Java8 OpenCL OpenMP C# Java8 OpenMP C# Java8
001.jpg 0.3068 0.503 0.8498 0.4409 7.99577952 0.88127284 1.61415786 1.4767 0.48360084 0.74568131 0.5579
002.jpg 0.1804 0.3168 0.6712 0.2817 7.34302774 0.75004404 1.4016307 1.2794 0.32448058 0.56004098 0.3448
003.jpg 4.6952 0.5056 0.7354 0.4164 2.90403514 0.82185144 1.48132308 1.4183 0.43056076 0.81900144 0.448
004.jpg 0.3222 0.5096 0.7656 0.443 7.57648828 0.85317542 1.51101251 1.3729 0.45864082 0.84864149 0.4901
005.jpg 0.3282 0.519 0.7658 0.4426 7.55618022 0.85627354 1.50788813 1.4303 0.46800082 0.85176149 0.5267
006.jpg 0.3292 0.5238 0.7765 0.4371 7.6182202 0.86250938 1.51726157 1.3811 0.46488082 0.87360154 0.5195
007.jpg 0.3242 0.5176 0.7686 0.4393 7.46120562 0.85002122 1.51102694 1.3936 0.45864082 0.88466381 0.5171
008.jpg 0.329 0.5164 0.7715 0.4419 7.47796678 0.87192582 1.52507566 1.369 0.48360086 0.90168159 0.5305
009.jpg 0.365 0.5202 0.7986 0.4508 7.5596978 0.84685846 1.5157 1.377 0.47736084 0.91260161 0.5401
010.jpg 2.2004 0.514 0.7772 0.4382 2.7020981 0.8594254 1.49538439 1.3958 0.48360084 0.89076156 0.533

Javaけっこー速い。

このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

↑このページのトップヘ