【Java標準GUIライブラリ】 JavaFX スレッド

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
JavaFXについてのスレッドです
2デフォルトの名無しさん:2014/07/05(土) 15:28:58.08 ID:ww0v9g/c
MediaPlayerでどの環境でも再生できる音声フォーマットはmp3だけ?
FLACに対応してくれたらいいのに
3デフォルトの名無しさん:2014/07/06(日) 22:11:04.13 ID:05LU/QxA
JavaFXで碁盤のようなものを作りたいと思っています。
碁石には画像を使いたいと思っています。
どんなクラスを使えばよいでしょうか。
4デフォルトの名無しさん:2014/07/21(月) 23:38:51.42 ID:U2gOsErh
Imageクラス
5デフォルトの名無しさん:2014/07/22(火) 00:34:24.75 ID:oB2DrPHP
2週間も長考してたのか
6デフォルトの名無しさん:2014/08/08(金) 03:00:10.42 ID:W/TCi66w
7デフォルトの名無しさん:2014/08/24(日) 22:49:38.18 ID:591dIUnw
ふち付文字など、少し装飾の凝った文字を、Textのインスタンスを2つ使って表現しようと思ってるんですが
どのようにするのがスマートでしょうか

理想としては、Textのサブクラスのように振る舞わせたいのですが、
Textにinterfaceが用意されてないので悩みます

Textにinterfaceがあれば、適当なGroupと共に2つのTextインスタンスを包含して委譲することによって、
Textを操作するのと同じ感覚で、2つのTextを一つのコンポーネント(Nodeというべきかも)として扱えるのですが・・・

それと、Textを継承してメンバにTextを持たせるとした場合、
コンポーネントを2つ描画させたい場合は、eventDispatcherでメンバのも呼び出せばいいんでしょうか?
このあたり、どのように描画をしているのか全く見当がついてません・・
8デフォルトの名無しさん:2014/09/07(日) 21:12:41.44 ID:2nNDq8Bj
ちょっと待ってください

FXってjavaの「標準GUI」なんですか?
9デフォルトの名無しさん:2014/09/07(日) 22:17:01.37 ID:KNwhARCn
現実に使われていないものを標準と呼ぶのは無理があるよ
Javaの標準GUIはHTML
10デフォルトの名無しさん:2014/09/08(月) 08:40:10.42 ID:3+YEeOlZ
最近のJavaに標準搭載、ならOK
11デフォルトの名無しさん:2014/09/08(月) 20:26:32.19 ID:DVO5G7u8
標準でネイティブのラッパーってかなり嬉しいと思うんだけど
流行ってないのは日本語ドキュメントがないから?
12デフォルトの名無しさん:2014/09/09(火) 05:08:57.14 ID:Vi+Y63Qm
JavaFXってシステムのHIDと描画機能だけ使ってフルスクラッチでGUI作ってるんだが
ネイティブのラッパーって何のこと?
流行ってないのはSwingがクソなまま放置されすぎて誰もGUI作るのにJavaを使わなくなったからだよ
13デフォルトの名無しさん:2014/09/09(火) 14:11:13.56 ID:y9OIBMqg
アプレット()と同じでブラウザで気軽に実行できなくなったのも×
14デフォルトの名無しさん:2014/09/13(土) 09:34:09.96 ID:xzDWW8BI
標準だし、盛り上げていきたいね
15デフォルトの名無しさん:2014/09/13(土) 10:02:27.36 ID:DTDaEtud
企業がイントラで使うか組み込みで使うかくらいだね
いずれにせよオラクルに直接お布施してる方達が使うものであって
草の根レベルで盛り上げるようなもんじゃない
16デフォルトの名無しさん:2014/09/15(月) 17:07:53.57 ID:GbCEgEkP
Javaは無料です。
17デフォルトの名無しさん:2014/09/15(月) 18:42:00.16 ID:upNhnkM6
「無料だから」なのか
「無料なのに」なのか
18デフォルトの名無しさん:2014/09/16(火) 21:09:36.64 ID:hzlXvld1
ただほど高いものはない。俺は、Javaでいやって言うほど思い知らされた。

あと、JDK8はWindowsXPでつかえないから嫌だ。
19デフォルトの名無しさん:2014/09/17(水) 19:36:02.84 ID:w5kvYj9G
XPを考慮しないといけない立場に親近感とともに同情を禁じ得ない
そのレベルの相手になるとJavaの扱いも本当にひどいんだよな・・・
20デフォルトの名無しさん:2014/09/17(水) 19:47:18.14 ID:ji0sMMym
Java SEが動くスマホとかあればなぁ
21デフォルトの名無しさん:2014/09/17(水) 21:51:56.17 ID:WDyxrwZ3
>>20
22デフォルトの名無しさん:2014/09/17(水) 21:53:45.13 ID:wMgCBxDy
逆に考えるんだ
歴代のJavaMEを搭載した数々のモバイル端末は
Javaだったから流行らなかったのだと
23デフォルトの名無しさん:2014/09/17(水) 21:58:35.43 ID:2WfHlgOC
Write once, run anywhere という幻想
24デフォルトの名無しさん:2014/09/19(金) 03:11:52.20 ID:7FCDfZaC
JavaFXで2chブラウザ作ったからよかったら使ってみて
感想コメントしてくれるとありがたい
http://www.m9-www.com/
25デフォルトの名無しさん:2014/09/23(火) 02:39:34.93 ID:rMNwwcoj
な〜んか、WPFと同じ道を辿りそうだね・・ というより、むしろWPFの方がましか。。

俺はMSより、Oracleの方が好きだから、頑張れ!Oracle。Swingは趣味でやってたけど
金は稼げませんでしたww
26デフォルトの名無しさん:2014/09/23(火) 02:45:14.98 ID:FixWuaqS
AndroidとiOSで使えたらいいのに
27デフォルトの名無しさん:2014/09/23(火) 18:21:33.62 ID:qxioUyuZ
JVMを仮想マシンじゃなくて実機として搭載したパソコンや携帯が普及すればあるいは…
28デフォルトの名無しさん:2014/09/23(火) 18:28:58.61 ID:21PmSReP
fxやろうとシーンビルだー使ってみたんだけど
これイベントのメソッドを自動で入れてくれないのかね
ないとやる気がでん・・・
29デフォルトの名無しさん:2014/09/24(水) 23:56:55.49 ID:yadyJ4T4
>>27
後発のJVM言語ですらプログラマ的にじれったい言語が多いんで
ここらで新しいVM言語を・・・
30デフォルトの名無しさん:2014/09/25(木) 08:58:26.61 ID:h2imT1PM
>>8-9
世界標準言語エスペラント語、的な。
31デフォルトの名無しさん:2014/10/29(水) 22:16:23.50 ID:PhQIfjta
FX触ってみてるけど
listviewの中身をシーンビルダーで自由に作れるるんだな
自分で描画しなくていいからおもしろくなってきた
けど流行らなそうだな・・・
32デフォルトの名無しさん:2014/10/29(水) 22:19:10.71 ID:haJUSSbe
流行らなそうというより、もう失敗して終わったと言っていいかと
33デフォルトの名無しさん:2014/10/30(木) 23:33:22.38 ID:i7GNsy6Q
でもswingが大失敗したから、awtかFXの二択なのは変わらないと思う
34デフォルトの名無しさん:2014/10/30(木) 23:57:50.66 ID:H02odoB1
なんでawtが出てくるんんだよ?
35デフォルトの名無しさん:2014/10/30(木) 23:59:58.29 ID:i7GNsy6Q
>>34
javaが普及したときに騙されて学習した(させられた)人がたくさんいるから
36デフォルトの名無しさん:2014/10/31(金) 00:39:04.59 ID:Ere5y3pN
スレッド制限するしクライアントアプリの描画ツールとしても弱い
37デフォルトの名無しさん:2014/10/31(金) 06:50:11.62 ID:kWsbvWPF
>>33
2択?
JavaでGUIというとHTMLのことを指すんだよ
38デフォルトの名無しさん:2014/10/31(金) 21:53:14.05 ID:XfLBCb9Z
windowsとlinuxで動いてGUIをタグで記述して作れるってので
JavaFXを選ぼうかと思ったんだけどだめかね
htmlとかjava scriptはやりたくないからなぁ
39デフォルトの名無しさん:2014/10/31(金) 23:30:07.59 ID:hP41p8uD
駄目じゃない
ってかJavaFXが一番真っ当なやり方
40デフォルトの名無しさん:2014/11/01(土) 05:09:36.23 ID:qHHbwuvO
JavaFXで2chブラウザ作ってるやつもいるよ
http://www.m9-www.com/
41デフォルトの名無しさん:2014/11/01(土) 05:19:04.09 ID:/9f2fySD
専ブラでアフィ稼ぎでもやってんの?>>24でもそれの話してるやん
42デフォルトの名無しさん:2014/11/01(土) 08:52:01.38 ID:NzxKzmT+
QtかMonoでいいんじゃないの
43デフォルトの名無しさん:2014/11/01(土) 19:35:57.26 ID:etXlBO/A
名前が金融関係のアドオンのイメージしかない
しかもわざわざjavaを使った間抜け方面の
java関係の名前ってなんで毎回胡散臭いの
44デフォルトの名無しさん:2014/11/01(土) 20:17:08.85 ID:w0Vw1Jlx
MonoでWPFができたら一番いいんだけどな・・・
45デフォルトの名無しさん:2014/11/03(月) 02:57:44.18 ID:dKGJigup
もうQtもMonoもいらんだろ
Javascript + Node.js + webkitでいいだろ
46デフォルトの名無しさん:2014/11/03(月) 08:55:12.90 ID:41ru1FfY
Atom Editorがそうだっけ?成果には期待してる
47デフォルトの名無しさん:2014/11/09(日) 17:07:26.24 ID:JWR8ncyO
Akkaと連携ってできるのかな
単純にFXのスレッド内でやるとフリーズするから
ServiceかTaskか、それともrunLaterでやれいけるのか?
runLayter使うのは英語の文献見つけたけど、結論部分の英語が
読めねぇから結局どーなんだよ!って感じ
48デフォルトの名無しさん:2014/11/10(月) 22:50:19.18 ID:WFh7SgJF
楽しく組んでたんだが問題がおきた
ListViewでスクロールするほどメモリリークする
CellにImageViewとLabelおいてるだけなんだが・・・
updateItemで毎回画像読んでるわけでもないし、どこでリークしてるのやら
試しにメモリ少なくした仮想マシンでやってみたらOutOfMemoryでたわ
49デフォルトの名無しさん:2014/11/11(火) 01:33:45.22 ID:wjsc6BqT
JavaFX ListViewでぐぐった最初のサイトにその原因として疑わしい記述あったで。
そもそもで胡散臭い動きしよるなListViewはんは・・・
50デフォルトの名無しさん:2014/11/12(水) 14:21:30.83 ID:8LYL3KrX
JavaFXのUIは結局WebView主体の設計に落ち着くし、そうしたほうが絶対楽
ベースのノードに小分けしたWebViewオブジェクトをペタペタ貼り付けてそれぞれ独立したHTMLでデザイン作成もできるし、むしろSwingより楽で作りやすい
51デフォルトの名無しさん:2014/11/12(水) 23:51:33.88 ID:U/r2NBKd
>>7の縁付き文字だけど、けっきょく白文字のTextインスタンスの後ろに、
4つの黒文字Textインスタンスを上下左右に1ドットずつズラシて実現したんだけど、
もっとスマートなのありますか?

Textクラスに影エフェクト適用すると薄めた墨汁をシャツにこぼしたみたいになる
52デフォルトの名無しさん:2014/12/06(土) 11:37:42.38 ID:eMa3Kr39
画面間のデータの受け渡しは、どんな感じの作りが一番いいの?
JDK付属のサンプルのログイン画面のやつ、何だか変な作りしてない?
53デフォルトの名無しさん:2014/12/06(土) 23:41:52.30 ID:/nyWZwJ1
>>52
ベストじゃないかもしれないけど、自分はこうやってる

まず、Java FX 8 と Spring 4 を統合して、子画面コントローラを
親画面コントローラから DI する
http://javafx.steveonjava.com/javafx-in-spring-day-2/

要は子画面オブジェクトの管理を Spring に任せる。
たとえば、色々なルートで行ける共通子画面は、singleton スコープ
にしとけば、どこで @Autowired しても同じオブジェクトになる

親→子は、DI されている子画面コントローラのメソッドを呼び出せばいい。
5453:2014/12/06(土) 23:47:05.21 ID:/nyWZwJ1
つづき

子→親は、Observer パターンを使ってる
http://www.techscore.com/tech/DesignPattern/Observer.html

親画面コントローラを Observer、子画面コントローラを Observable にして、
child.addObserver(parent); しておく。
子画面コントローラ側で this.setChanged(); this.notifyObservers() を
実行すると、親画面側の update(Observable o, Object arg) が呼び出される。

良かったら参考にしてください。
55デフォルトの名無しさん:2014/12/07(日) 00:48:14.41 ID:F0IfGecZ
>>53
S2Swingみたいな感じですかね?やはり、DIですか。
参照先のページ少し見てみましたけど、コントローラーとビューの関係をSpringでやる感じですよね?

MVCのモデルからビューへのデータ受け渡し部分って、シンプルかつ綺麗に出来たりするんでしょうか?

コントローラー、モデル、ビュー、どうしても何かしらお互いに依存する作りになりませんか?
一人で開発する分にはいいですけど、複数人、大勢で分業して開発するとなると、
この人にビューだけの実装を、あの人にモデルだけの実装、この人にコントローラーだけの実装みたいに、きれいな分業での開発を考えるのは、無理がありますか?
56デフォルトの名無しさん:2014/12/08(月) 04:44:47.14 ID:vDft0UX9
>>55
MVCの要約
■コントローラクラスの仕事
1.すべてのインスタンスの作成はこのコントローラで行われる。
2.各インスタンス(モデルクラス)の操作(加工・参照・削除など)を行う
3.viewに操作後のインスタンスを渡す
4.viewクラスから必要とされるであろうアクションメソッドを提供する
5.アプリケーションの初期化処理やmainメソッド、などもここに配置する

■ビュークラスの仕事
1.ビュークラスはインターフェースを通してコントローラクラスを保持できるようにしておく
2.コントローラから渡されたインスタンスにもとずいて画面にデータ描画する
3.ボタン押下等の何らかのActionごとにコントローラクラスで用意された
  アクションメソッドを実行するだけ

■モデルクラスの仕事
1.データベース、ファイル、またはネットーワーク上からのデータ入出力機能と、そのデータの保持
2.保持しているデータ加工、参照、削除などのメソッドのみの提供を行う

って感じで設計しておくと
view担当の人は渡されるインスタンスの仕様と、各アクションごとのコントローラのメソッドだけわかっていればコードが書ける
アプリケーション全体のことを知る必要はない。

モデルロジック担当の人はデータベースのテーブル構成や、ファイルデータの形式、ネットワーク上から送られてくるデータの形式のみわかっていればコードが書ける
何のアプリケーションかすら知る必要がない

なので分担が可能になる
57デフォルトの名無しさん:2014/12/08(月) 06:43:56.41 ID:BxzL08Yl
MVPだな
5853:2014/12/08(月) 22:37:27.23 ID:l0FIqSWq
>>56 さんどうもありがとう。全くその通りです

補足として、Java FX の具体的な話をすると、アプリ構成は

[FXML=Controller]--[Transaction script]--[Model] ===> (REST API etc)
--@FXML--|--@Autowired--------------------|

みたいな感じにしてる。
それぞれ DI で連携しているので、自然と疎結合になります。
Transaction 以降には JFX を持ち込みません。目安は JUnit で単体テストできるように

そんなに大規模アプリを作っているわけじゃないけど、
まぁ数人で git を挟んでうまく回ってます
59デフォルトの名無しさん:2014/12/22(月) 00:33:29.19 ID:8m0zw8di
「HTML5に対応したWebベースのビューをアプリケーションに組み込んだり、
3Dのハードウェア・アクセラレータを活用(中略)
SwingのコントロールをJavaFXアプリケーションに組み込めるようになった(中略)
Modenaは、従来のCaspianテーマに代わり、JavaFX 8からデフォルトとなったテーマです。
最新のOSデザインとの適合性を考慮して、クリーンでエレガントなデザインを採用しています。
このテーマもCSSでカスタマイズすることができます」

JavaFX 8──Web/3D/Embedded対応強化など、大きく進化したJava SEの標準GUIフレームワークを概観する
- builder by ZDNet Japan
http://builder.japan.zdnet.com/sp_oracle/weblogic/35058040/
2014-12-19 16:00:00
60デフォルトの名無しさん:2014/12/22(月) 08:23:43.21 ID:1JxRKZUV
>>59
だったら、最初からSwingでいいじゃんww
61デフォルトの名無しさん:2014/12/22(月) 08:28:48.62 ID:JbUWZTgk
これほど全く魅力を感じない発表も珍しいなw
ずっと前からHTMLや.NETでできてることを今更…
62デフォルトの名無しさん:2014/12/22(月) 10:33:17.41 ID:Kj8Ds363
どうしてもJavaじゃないとだめってひとには朗報なんかね
63デフォルトの名無しさん:2014/12/22(月) 20:49:39.09 ID:qnnji8rr
Javaの汎用性はハンパない
Javaじゃないとだめっていうよりwebアプリ勉強でJava勉強してたらクライアント系も結構作り込めるしAndroidもいけるし最高だわって。感じ
64デフォルトの名無しさん:2014/12/23(火) 00:00:00.79 ID:DDCr3b13
俺はswingしらないからfxでいいかって感じで触ってる
65デフォルトの名無しさん:2014/12/23(火) 01:01:02.64 ID:W3IZ0f+k
Java,JVMに関係する言語も多い

Scala,Python,Ruby,Processing
66デフォルトの名無しさん:2015/01/04(日) 20:20:39.99 ID:yv1tIfWd
androidでデスクトップアプリを作れるようにすればいいのに。
67デフォルトの名無しさん:2015/01/20(火) 15:49:23.88 ID:PtgproT1
縦書きの文章を巻物みたいに右から左にスクロールさせるためにHBoxにLabelを貼りそのHBoxをScrollPaneに放り込んで
scrollPane.setHvalue(scrollPane.getHmax());
としてやれば画面初期表示時にスクロールバーが右端に行くと思ったらできませんでした
どなたか解決方法わかる方お教え願えませんか?
68デフォルトの名無しさん:2015/02/12(木) 16:09:37.11 ID:P3YJ5hM/
JavaFXでモーダルウインドウを作成した際に、そのウインドウをタスクバーに表示しないようにしたいのですが、どうすれば良いのでしょうか?
69デフォルトの名無しさん:2015/02/13(金) 03:07:04.80 ID:98q9vW+g
javaでオフラインのゲーム作るとしたら
fxで開発したほうがいいのかねえ

難しいねえ
70デフォルトの名無しさん:2015/02/26(木) 08:23:34.90 ID:hX7Dvl3+
どうもJavaFXは実装の詳細がかなり隠蔽されている印象でまどろっこしく感じた。
prism描画エンジン自体を直にたたきたい場合はどうすればいいのだろう?
SwingのGraphics2Dみたいな、描画はこのクラスが受け持っています、
みたいのはないのだろうか?
71デフォルトの名無しさん:2015/02/26(木) 08:35:40.90 ID:Zl1401DB
それが嫌ならJavaなんか使うな
72デフォルトの名無しさん:2015/02/26(木) 12:14:29.90 ID:qy6PVI1X
Prismのソース見たけどいかにも内部だけで使う用の薄くて雑なラッパーで、
とてもじゃないけどパブリックAPIとして公開できるような代物じゃないね
73デフォルトの名無しさん:2015/02/27(金) 12:10:38.03 ID:QIUGNdFR
3Dはハードウェアアクセラレーションが効かない場合は
自前のアルゴリズムで描画するのかな?
それともそんな機能はついていない?
74デフォルトの名無しさん:2015/02/27(金) 12:41:43.81 ID:EZLwV1tk
3D+ソフトウェアレンダリングはサポートされてないし予定もないんだとさ
RORA(笑)
75デフォルトの名無しさん:2015/03/01(日) 21:59:56.08 ID:YPGv4zkT
Swingに、今風の丸っこいスキンを付ければそれで良かったのに…。
76デフォルトの名無しさん:2015/03/02(月) 00:01:51.78 ID:q0P+yjDk
windows mobileにしろ、携帯javaアプリ全盛期にしろ、舵取りに大失敗したツケはでかいのさ。
77デフォルトの名無しさん:2015/03/03(火) 03:50:17.22 ID:gJ8ospYO
2DでLook And Feelを洗練してくれればそれで良かったのになぁ
3DやるならFXの方向性でいいんだけど、3D必要なクライアントアプリって普通の業務じゃあ無いよな
ゲームに特化するならそれはそれで需要ありそうだが
78デフォルトの名無しさん:2015/03/03(火) 08:08:08.21 ID:dNmnY3Tb
>>77
ハッキリ言って、swing以外、使う気にもなれないゴミ

事実殆ど使われてもいない。
空気未満の存在だわ、FXなんて。
79デフォルトの名無しさん
swingですら製品として一切のバグが無くても苦情が来るレベル