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

1デフォルトの名無しさん2014/07/05(土) 01:27:45.85ID:SKNQTnLZ
JavaFXについてのスレッドです

2デフォルトの名無しさん2014/07/05(土) 15:28:58.08ID:ww0v9g/c
MediaPlayerでどの環境でも再生できる音声フォーマットはmp3だけ?
FLACに対応してくれたらいいのに

3デフォルトの名無しさん2014/07/06(日) 22:11:04.13ID:05LU/QxA
JavaFXで碁盤のようなものを作りたいと思っています。
碁石には画像を使いたいと思っています。
どんなクラスを使えばよいでしょうか。

4デフォルトの名無しさん2014/07/21(月) 23:38:51.42ID:U2gOsErh
Imageクラス

5デフォルトの名無しさん2014/07/22(火) 00:34:24.75ID:oB2DrPHP
2週間も長考してたのか

6デフォルトの名無しさん2014/08/08(金) 03:00:10.42ID:W/TCi66w

7デフォルトの名無しさん2014/08/24(日) 22:49:38.18ID: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.44ID:2nNDq8Bj
ちょっと待ってください

FXってjavaの「標準GUI」なんですか?

9デフォルトの名無しさん2014/09/07(日) 22:17:01.37ID:KNwhARCn
現実に使われていないものを標準と呼ぶのは無理があるよ
Javaの標準GUIはHTML

10デフォルトの名無しさん2014/09/08(月) 08:40:10.42ID:3+YEeOlZ
最近のJavaに標準搭載、ならOK

11デフォルトの名無しさん2014/09/08(月) 20:26:32.19ID:DVO5G7u8
標準でネイティブのラッパーってかなり嬉しいと思うんだけど
流行ってないのは日本語ドキュメントがないから?

12デフォルトの名無しさん2014/09/09(火) 05:08:57.14ID:Vi+Y63Qm
JavaFXってシステムのHIDと描画機能だけ使ってフルスクラッチでGUI作ってるんだが
ネイティブのラッパーって何のこと?
流行ってないのはSwingがクソなまま放置されすぎて誰もGUI作るのにJavaを使わなくなったからだよ

13デフォルトの名無しさん2014/09/09(火) 14:11:13.56ID:y9OIBMqg
アプレット()と同じでブラウザで気軽に実行できなくなったのも×

14デフォルトの名無しさん2014/09/13(土) 09:34:09.96ID:xzDWW8BI
標準だし、盛り上げていきたいね

15デフォルトの名無しさん2014/09/13(土) 10:02:27.36ID:DTDaEtud
企業がイントラで使うか組み込みで使うかくらいだね
いずれにせよオラクルに直接お布施してる方達が使うものであって
草の根レベルで盛り上げるようなもんじゃない

16デフォルトの名無しさん2014/09/15(月) 17:07:53.57ID:GbCEgEkP
Javaは無料です。

17デフォルトの名無しさん2014/09/15(月) 18:42:00.16ID:upNhnkM6
「無料だから」なのか
「無料なのに」なのか

18デフォルトの名無しさん2014/09/16(火) 21:09:36.64ID:hzlXvld1
ただほど高いものはない。俺は、Javaでいやって言うほど思い知らされた。

あと、JDK8はWindowsXPでつかえないから嫌だ。

19デフォルトの名無しさん2014/09/17(水) 19:36:02.84ID:w5kvYj9G
XPを考慮しないといけない立場に親近感とともに同情を禁じ得ない
そのレベルの相手になるとJavaの扱いも本当にひどいんだよな・・・

20デフォルトの名無しさん2014/09/17(水) 19:47:18.14ID:ji0sMMym
Java SEが動くスマホとかあればなぁ

21デフォルトの名無しさん2014/09/17(水) 21:51:56.17ID:WDyxrwZ3
>>20

22デフォルトの名無しさん2014/09/17(水) 21:53:45.13ID:wMgCBxDy
逆に考えるんだ
歴代のJavaMEを搭載した数々のモバイル端末は
Javaだったから流行らなかったのだと

23デフォルトの名無しさん2014/09/17(水) 21:58:35.43ID:2WfHlgOC
Write once, run anywhere という幻想

24デフォルトの名無しさん2014/09/19(金) 03:11:52.20ID:7FCDfZaC
JavaFXで2chブラウザ作ったからよかったら使ってみて
感想コメントしてくれるとありがたい
http://www.m9-www.com/

25デフォルトの名無しさん2014/09/23(火) 02:39:34.93ID:rMNwwcoj
な〜んか、WPFと同じ道を辿りそうだね・・ というより、むしろWPFの方がましか。。

俺はMSより、Oracleの方が好きだから、頑張れ!Oracle。Swingは趣味でやってたけど
金は稼げませんでしたww

26デフォルトの名無しさん2014/09/23(火) 02:45:14.98ID:FixWuaqS
AndroidとiOSで使えたらいいのに

27デフォルトの名無しさん2014/09/23(火) 18:21:33.62ID:qxioUyuZ
JVMを仮想マシンじゃなくて実機として搭載したパソコンや携帯が普及すればあるいは…

28デフォルトの名無しさん2014/09/23(火) 18:28:58.61ID:21PmSReP
fxやろうとシーンビルだー使ってみたんだけど
これイベントのメソッドを自動で入れてくれないのかね
ないとやる気がでん・・・

29デフォルトの名無しさん2014/09/24(水) 23:56:55.49ID:yadyJ4T4
>>27
後発のJVM言語ですらプログラマ的にじれったい言語が多いんで
ここらで新しいVM言語を・・・

30デフォルトの名無しさん2014/09/25(木) 08:58:26.61ID:h2imT1PM
>>8-9
世界標準言語エスペラント語、的な。

31デフォルトの名無しさん2014/10/29(水) 22:16:23.50ID:PhQIfjta
FX触ってみてるけど
listviewの中身をシーンビルダーで自由に作れるるんだな
自分で描画しなくていいからおもしろくなってきた
けど流行らなそうだな・・・

32デフォルトの名無しさん2014/10/29(水) 22:19:10.71ID:haJUSSbe
流行らなそうというより、もう失敗して終わったと言っていいかと

33デフォルトの名無しさん2014/10/30(木) 23:33:22.38ID:i7GNsy6Q
でもswingが大失敗したから、awtかFXの二択なのは変わらないと思う

34デフォルトの名無しさん2014/10/30(木) 23:57:50.66ID:H02odoB1
なんでawtが出てくるんんだよ?

35デフォルトの名無しさん2014/10/30(木) 23:59:58.29ID:i7GNsy6Q
>>34
javaが普及したときに騙されて学習した(させられた)人がたくさんいるから

36デフォルトの名無しさん2014/10/31(金) 00:39:04.59ID:Ere5y3pN
スレッド制限するしクライアントアプリの描画ツールとしても弱い

37デフォルトの名無しさん2014/10/31(金) 06:50:11.62ID:kWsbvWPF
>>33
2択?
JavaでGUIというとHTMLのことを指すんだよ

38デフォルトの名無しさん2014/10/31(金) 21:53:14.05ID:XfLBCb9Z
windowsとlinuxで動いてGUIをタグで記述して作れるってので
JavaFXを選ぼうかと思ったんだけどだめかね
htmlとかjava scriptはやりたくないからなぁ

39デフォルトの名無しさん2014/10/31(金) 23:30:07.59ID:hP41p8uD
駄目じゃない
ってかJavaFXが一番真っ当なやり方

40デフォルトの名無しさん2014/11/01(土) 05:09:36.23ID:qHHbwuvO
JavaFXで2chブラウザ作ってるやつもいるよ
http://www.m9-www.com/

41デフォルトの名無しさん2014/11/01(土) 05:19:04.09ID:/9f2fySD
専ブラでアフィ稼ぎでもやってんの?>>24でもそれの話してるやん

42デフォルトの名無しさん2014/11/01(土) 08:52:01.38ID:NzxKzmT+
QtかMonoでいいんじゃないの

43デフォルトの名無しさん2014/11/01(土) 19:35:57.26ID:etXlBO/A
名前が金融関係のアドオンのイメージしかない
しかもわざわざjavaを使った間抜け方面の
java関係の名前ってなんで毎回胡散臭いの

44デフォルトの名無しさん2014/11/01(土) 20:17:08.85ID:w0Vw1Jlx
MonoでWPFができたら一番いいんだけどな・・・

45デフォルトの名無しさん2014/11/03(月) 02:57:44.18ID:dKGJigup
もうQtもMonoもいらんだろ
Javascript + Node.js + webkitでいいだろ

46デフォルトの名無しさん2014/11/03(月) 08:55:12.90ID:41ru1FfY
Atom Editorがそうだっけ?成果には期待してる

47デフォルトの名無しさん2014/11/09(日) 17:07:26.24ID:JWR8ncyO
Akkaと連携ってできるのかな
単純にFXのスレッド内でやるとフリーズするから
ServiceかTaskか、それともrunLaterでやれいけるのか?
runLayter使うのは英語の文献見つけたけど、結論部分の英語が
読めねぇから結局どーなんだよ!って感じ

48デフォルトの名無しさん2014/11/10(月) 22:50:19.18ID:WFh7SgJF
楽しく組んでたんだが問題がおきた
ListViewでスクロールするほどメモリリークする
CellにImageViewとLabelおいてるだけなんだが・・・
updateItemで毎回画像読んでるわけでもないし、どこでリークしてるのやら
試しにメモリ少なくした仮想マシンでやってみたらOutOfMemoryでたわ

49デフォルトの名無しさん2014/11/11(火) 01:33:45.22ID:wjsc6BqT
JavaFX ListViewでぐぐった最初のサイトにその原因として疑わしい記述あったで。
そもそもで胡散臭い動きしよるなListViewはんは・・・

50デフォルトの名無しさん2014/11/12(水) 14:21:30.83ID:8LYL3KrX
JavaFXのUIは結局WebView主体の設計に落ち着くし、そうしたほうが絶対楽
ベースのノードに小分けしたWebViewオブジェクトをペタペタ貼り付けてそれぞれ独立したHTMLでデザイン作成もできるし、むしろSwingより楽で作りやすい

51デフォルトの名無しさん2014/11/12(水) 23:51:33.88ID:U/r2NBKd
>>7の縁付き文字だけど、けっきょく白文字のTextインスタンスの後ろに、
4つの黒文字Textインスタンスを上下左右に1ドットずつズラシて実現したんだけど、
もっとスマートなのありますか?

Textクラスに影エフェクト適用すると薄めた墨汁をシャツにこぼしたみたいになる

52デフォルトの名無しさん2014/12/06(土) 11:37:42.38ID:eMa3Kr39
画面間のデータの受け渡しは、どんな感じの作りが一番いいの?
JDK付属のサンプルのログイン画面のやつ、何だか変な作りしてない?

53デフォルトの名無しさん2014/12/06(土) 23:41:52.30ID:/nyWZwJ1
>>52
ベストじゃないかもしれないけど、自分はこうやってる

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

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

親→子は、DI されている子画面コントローラのメソッドを呼び出せばいい。

54532014/12/06(土) 23:47:05.21ID:/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.41ID:F0IfGecZ
>>53
S2Swingみたいな感じですかね?やはり、DIですか。
参照先のページ少し見てみましたけど、コントローラーとビューの関係をSpringでやる感じですよね?

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

コントローラー、モデル、ビュー、どうしても何かしらお互いに依存する作りになりませんか?
一人で開発する分にはいいですけど、複数人、大勢で分業して開発するとなると、
この人にビューだけの実装を、あの人にモデルだけの実装、この人にコントローラーだけの実装みたいに、きれいな分業での開発を考えるのは、無理がありますか?

56デフォルトの名無しさん2014/12/08(月) 04:44:47.14ID: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.41ID:BxzL08Yl
MVPだな

58532014/12/08(月) 22:37:27.23ID: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.19ID: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.21ID:1JxRKZUV
>>59
だったら、最初からSwingでいいじゃんww

61デフォルトの名無しさん2014/12/22(月) 08:28:48.62ID:JbUWZTgk
これほど全く魅力を感じない発表も珍しいなw
ずっと前からHTMLや.NETでできてることを今更…

62デフォルトの名無しさん2014/12/22(月) 10:33:17.41ID:Kj8Ds363
どうしてもJavaじゃないとだめってひとには朗報なんかね

63デフォルトの名無しさん2014/12/22(月) 20:49:39.09ID:qnnji8rr
Javaの汎用性はハンパない
Javaじゃないとだめっていうよりwebアプリ勉強でJava勉強してたらクライアント系も結構作り込めるしAndroidもいけるし最高だわって。感じ

64デフォルトの名無しさん2014/12/23(火) 00:00:00.79ID:DDCr3b13
俺はswingしらないからfxでいいかって感じで触ってる

65デフォルトの名無しさん2014/12/23(火) 01:01:02.64ID:W3IZ0f+k
Java,JVMに関係する言語も多い

Scala,Python,Ruby,Processing

66デフォルトの名無しさん2015/01/04(日) 20:20:39.99ID:yv1tIfWd
androidでデスクトップアプリを作れるようにすればいいのに。

67デフォルトの名無しさん2015/01/20(火) 15:49:23.88ID:PtgproT1
縦書きの文章を巻物みたいに右から左にスクロールさせるためにHBoxにLabelを貼りそのHBoxをScrollPaneに放り込んで
scrollPane.setHvalue(scrollPane.getHmax());
としてやれば画面初期表示時にスクロールバーが右端に行くと思ったらできませんでした
どなたか解決方法わかる方お教え願えませんか?

68デフォルトの名無しさん2015/02/12(木) 16:09:37.11ID:P3YJ5hM/
JavaFXでモーダルウインドウを作成した際に、そのウインドウをタスクバーに表示しないようにしたいのですが、どうすれば良いのでしょうか?

69デフォルトの名無しさん2015/02/13(金) 03:07:04.80ID:98q9vW+g
javaでオフラインのゲーム作るとしたら
fxで開発したほうがいいのかねえ

難しいねえ

70デフォルトの名無しさん2015/02/26(木) 08:23:34.90ID:hX7Dvl3+
どうもJavaFXは実装の詳細がかなり隠蔽されている印象でまどろっこしく感じた。
prism描画エンジン自体を直にたたきたい場合はどうすればいいのだろう?
SwingのGraphics2Dみたいな、描画はこのクラスが受け持っています、
みたいのはないのだろうか?

71デフォルトの名無しさん2015/02/26(木) 08:35:40.90ID:Zl1401DB
それが嫌ならJavaなんか使うな

72デフォルトの名無しさん2015/02/26(木) 12:14:29.90ID:qy6PVI1X
Prismのソース見たけどいかにも内部だけで使う用の薄くて雑なラッパーで、
とてもじゃないけどパブリックAPIとして公開できるような代物じゃないね

73デフォルトの名無しさん2015/02/27(金) 12:10:38.03ID:QIUGNdFR
3Dはハードウェアアクセラレーションが効かない場合は
自前のアルゴリズムで描画するのかな?
それともそんな機能はついていない?

74デフォルトの名無しさん2015/02/27(金) 12:41:43.81ID:EZLwV1tk
3D+ソフトウェアレンダリングはサポートされてないし予定もないんだとさ
RORA(笑)

75デフォルトの名無しさん2015/03/01(日) 21:59:56.08ID:YPGv4zkT
Swingに、今風の丸っこいスキンを付ければそれで良かったのに…。

76デフォルトの名無しさん2015/03/02(月) 00:01:51.78ID:q0P+yjDk
windows mobileにしろ、携帯javaアプリ全盛期にしろ、舵取りに大失敗したツケはでかいのさ。

77デフォルトの名無しさん2015/03/03(火) 03:50:17.22ID:gJ8ospYO
2DでLook And Feelを洗練してくれればそれで良かったのになぁ
3DやるならFXの方向性でいいんだけど、3D必要なクライアントアプリって普通の業務じゃあ無いよな
ゲームに特化するならそれはそれで需要ありそうだが

78デフォルトの名無しさん2015/03/03(火) 08:08:08.21ID:dNmnY3Tb
>>77
ハッキリ言って、swing以外、使う気にもなれないゴミ

事実殆ど使われてもいない。
空気未満の存在だわ、FXなんて。

79デフォルトの名無しさん2015/03/03(火) 16:10:17.93ID:68X/j5zu
swingですら製品として一切のバグが無くても苦情が来るレベル

80デフォルトの名無しさん2015/03/27(金) 20:28:26.39ID:WapOSE77
最早無償のWindowBuilderでswtが現状通りこの先も作られ続けてる予感が。

81デフォルトの名無しさん2015/03/30(月) 19:28:32.52ID:ws7CA7Ye
音楽制作畑のソフトでFinaleやLiveっていう
有名なやつはどうやらJAVAでSwing?FX?で作られてるっぽい。
アプデするとJAVAのインストール要求されたし入力エラーのMsgがJAVAまんまのExcepionでわろた

82デフォルトの名無しさん2015/04/16(木) 10:38:29.30ID:KZ0eqbTB
どなたか助けてください。
JavaFX8のWebViewにて大量の画像があるHTMLを読み込むと、一度にページ全体分の画像が読み込まれ、メモリを圧迫します。
※全て異なる画像ファイルの場合
WebkitでもChromeは可視領域の画像を随時読み込み、キャッシュしていないように思います。
WebViewだと全体がキャッシュされちゃうのかな。
初歩的やスレ違いならすみません。

83デフォルトの名無しさん2015/04/16(木) 11:47:22.99ID:PkMvowGQ
標準なんだからこれからはJavaFXを使って行ったほうがいいっていうのが初心者の俺の意見なんだけどどうしてJavaFXはだめなんですか?
ちなみにパソコンのスペックが低いのでeclipseが重すぎて今は勉強してない

84デフォルトの名無しさん2015/04/16(木) 20:00:17.46ID:w2CLpnfg
>>82
低スペノートでchrome使ってるけどまとめサイト見る時画像がたくさんあると固まるので違うと思う

85デフォルトの名無しさん2015/04/16(木) 22:27:59.90ID:n/Sv94h6
>>83
JavaFXがどうというより、JavaでGUI自体もう絶滅に近いから

86デフォルトの名無しさん2015/04/17(金) 19:48:15.15ID:TBjJovNo
JavaFX Scene Builder 1.1
の頃にちょこちょこ触って今後のバージョンアップに期待と放置してたら、
いつのまにかOracleからのバイナリ配布無くなってるのね
オープンソースに任せたから欲しけりゃ自分でビルドしーやw
ってか?
OracleもうJavaFXに飽きちゃったん?

87デフォルトの名無しさん2015/04/17(金) 21:42:26.03ID:vRmsAur5
FXはもとから正式にOracleとライセンス契約してる法人向けという色が強い

88デフォルトの名無しさん2015/04/18(土) 00:19:16.39ID:g4wbtPHm
>>82
まだ、実装もこなれてない可能性が。
webviewだとすると、画面上に表示されてない部分をjsから操作して隠すstyle="display:none;"ことはできるのかな?

89デフォルトの名無しさん2015/04/19(日) 11:46:19.34ID:P2fhL6qH
<?import javafx.scene.shape.*?>
<?import javafx.scene.paint.*?>
<?import javafx.geometry.*?>

<Box fx:id="box" depth="60" height="50" layoutX="214.0" layoutY="158.0" width="50">
<material>
<PhongMaterial diffuseColor="red" />
</material>
<rotationAxis><Point3D x="1.0" y="1.0" z="0.0"/></rotationAxis>
<rotate>30.0</rotate>
</Box>

こんな3DシェイプのBoxがありまして...

90デフォルトの名無しさん2015/04/19(日) 11:51:20.46ID:P2fhL6qH
Parent fxml = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(fxml);
// Scene scene = new Scene(fxml, 600,600, true, SceneAntialiasing.BALANCED);
stage.setScene(scene);
stage.show();

そのままだと Boxの輪郭がジャギーなので、
Scene生成時に SceneAntialiasing.BALANCED を指定してみたのですが、
それをすると ButtonやListViewやらが反応しなくなってしまいます。
3DのShapeにアンチエイリアスがかかるようにするにはどうするのが正解なんでしょうか?

91デフォルトの名無しさん2015/04/19(日) 18:40:38.25ID:P2fhL6qH
3Dシェイプ組に関しては fxmlを分離してみたら表面上は期待通りになりました。
ただ、Controllerクラスはfxml毎に生成されるので
classのstaticフィールドを介してコントロールしてみたりと、ちょっと気持ち悪い感じです。

// class JavaFXApplication
public void start(Stage stage) throws Exception {
SubScene sub1 = new SubScene(
(Parent) FXMLLoader.load(getClass().getResource("FXMLDocument1.fxml")),
600, 600, true, SceneAntialiasing.BALANCED);
Parent sub2 = FXMLLoader.load(getClass().getResource("FXMLDocument2.fxml"));

Group root = new Group();
root.getChildren().addAll(sub1, sub2);
Scene scene = new Scene(root,600,600);
stage.setScene(scene);
stage.show();
}

// class FXMLDocumentController ...
@FXML
private Box box;
static Box _box;
...

public void initialize(URL url, ResourceBundle rb) {
System.out.println("Hi: " + this.toString() );
if (label!=null) _label = label;
if (box!=null) _box = box;
}

92デフォルトの名無しさん2015/04/20(月) 02:00:29.72ID:9Ogc4IaC
> ただ、Controllerクラスはfxml毎に生成されるので〜
この件に関しては解決しました。

FXMLDocumentController controller = new FXMLDocumentController();
FXMLLoader loader;
loader = new FXMLLoader(getClass().getResource("FXMLDocument1.fxml"));
loader.setController(controller);
SubScene sub1 = new SubScene(loader.load(), 600, 600, true, SceneAntialiasing.BALANCED);

loader = new FXMLLoader(getClass().getResource("FXMLDocument2.fxml"));
loader.setController(controller);
Parent sub2 = loader.load();


この場合、fxml側では fx:controller 属性を指定してはいけないとの事

93デフォルトの名無しさん2015/05/18(月) 16:15:54.22ID:ODeJ8ObC
ChromeのNPAPIサポートが終わったらJavaFXも終了?

94デフォルトの名無しさん2015/05/18(月) 20:11:51.06ID:4bXcOge2
そもそも始まったことがないだろ
Oracleに大金を献上してる天上界の方々が組み込みに使ってるくらいで

95デフォルトの名無しさん2015/07/22(水) 18:41:29.94ID:HlNO1OSu
しかし個人レベルなら決して使い勝手悪くはないと思うんだよな

96デフォルトの名無しさん2015/07/23(木) 08:20:34.05ID:0SALeEZV
俺もそう思う

97デフォルトの名無しさん2015/08/18(火) 13:19:37.94ID:g/qLQ8af
ボタン押して、処理を実行する場合
処理が終わるまでボタンを使用不可にしたいけどどうやって書くの?

98デフォルトの名無しさん2015/08/18(火) 17:22:51.64ID:wAgTK3R7
>>97
onActionでButtonをdisableにして処理スレッドを呼び出して、
処理の最後でイベントなりrunLaterなりでButtonをenableにすれば良いのではなく?

99デフォルトの名無しさん2015/08/18(火) 23:07:21.10ID:g/qLQ8af
>>98
ありがとう。できました!このような感じに書きました。
private void ボタン_onClick(final MouseEvent aEvent) {
ボタン.setDisable(true);
Task<Void> task = new Task<Void>() {
@Override
public Void call() {
ボタンの処理();
ボタン.setDisable(false);
return null;
}
};
Executor executor = Executors.newSingleThreadExecutor();
executor.execute(task);
}

100デフォルトの名無しさん2015/09/05(土) 09:06:37.00ID:XHbh3OBS
Stageが最大化したことを取得するイベントが見当たらなかったのですが、どのように実装すれば良いのでしょうか?

101デフォルトの名無しさん2015/09/08(火) 17:48:08.43ID:VZxIJmd1
fxだとwebブラウザ作れるって言うから、マジかと思って今作ってる
マジで作れてるからfxって神だと思ってるよ
タブの入れ替えが出来ないっぽいのが難点だ

102デフォルトの名無しさん2015/09/08(火) 22:11:15.38ID:sosFruyq
そんなもん.NETでもQtでも昔から作れるよ
Swingがゴミすぎただけ

103デフォルトの名無しさん2015/09/08(火) 22:14:40.96ID:oK5RMRHa
へー

104デフォルトの名無しさん2015/09/08(火) 22:28:33.26ID:VZxIJmd1
swingで作れたら良かったのにと思ってる
何とかタブブラウザっぽくなってきたけど検索が問題のようだ
マウスジェスチャーは別ツールに頼る

105デフォルトの名無しさん2015/09/10(木) 19:33:53.32ID:q6SXiyXu
今はSwingからFXのコンポーネント使えた筈…

106デフォルトの名無しさん2015/09/10(木) 19:49:54.20ID:yxh9znUn
FXって8で終わりそうなの?
開発続くなら触るが・・・

107デフォルトの名無しさん2015/09/10(木) 21:18:52.74ID:5OHKsqUt
レンダリングエンジンもってるのか

108デフォルトの名無しさん2015/09/10(木) 22:31:26.96ID:NaQAaAQJ
JREの一般提供がいつ打ち切られてもおかしくないレベルで
クライアントJavaは消滅しつつある

109デフォルトの名無しさん2015/09/10(木) 22:34:45.49ID:etHqWsfS
MSの工作員乙

110デフォルトの名無しさん2015/09/10(木) 22:37:34.49ID:VXtvD0Vx
残念ながらクライアントJavaを一番葬りたがってるのは他でもないオラクル様だよ

111デフォルトの名無しさん2015/09/11(金) 00:16:15.14ID:c63AsPh3
flashはセキュリティ面で、silverlightは新規開発終了で終わりが近づいて、javafx登場する間も無くhtml5に変わってくタイミングなのかね。
java appletはセキュリティ強化とfxの進化も続いて出番あるかなと思ったけど、applet自体がセキュリティ強化で既存のappletが動かなくなって馴染みがなくなってる感じがする。
せめてホワイトリストで動けばと思うのだけど、証明書の問題が回避出来ないようで。

112デフォルトの名無しさん2015/09/16(水) 05:21:49.92ID:5bHXrW5J
Fxでタブブラウザを作ってます
「ハイパーリンクをホイールクリックで新規タブにページをロード」が実装できないです
色々参考にしながら、ハイパーリンクのDOM取得してgetAttribute("href")で
href属性を見るようにしたのですが、普通のサイトは取れてもgoogleの次へリンクとかはnullが取れてしまいます
WebViewでハイパーリンクから、正しい遷移先URLを取得する方法ってありますかね?

113デフォルトの名無しさん2015/09/18(金) 14:34:13.76ID:K0k1zzGm
Scene Builderで多角形を作る方法が判りません。
デフォルトで三角形ができますが、そっからそういう操作で角を増やすのかが謎です。
知っているかた教えてください。

114デフォルトの名無しさん2015/09/18(金) 14:35:00.53ID:K0k1zzGm
×そっからそういう操作
○そっからどういう操作

115デフォルトの名無しさん2015/10/05(月) 16:31:34.39ID:ABZW4IbC
JDKを8u31から8u40に変えたらcanUndoメソッドとcanRedoメソッドが使えなくなった。

116デフォルトの名無しさん2015/10/05(月) 17:31:27.31ID:ABZW4IbC
ちなみにJavaFXでのこと。

117デフォルトの名無しさん2015/10/05(月) 18:26:21.89ID:ABZW4IbC
ここ、JavaFXのスレッドだったか。

118デフォルトの名無しさん2015/10/05(月) 20:13:50.49ID:8GS14qep
FXMLで簡単に似た目変えれるから好きなんだけどなぁ
ほんと趣味の領域だわ・・・

119デフォルトの名無しさん2015/10/05(月) 23:14:39.90ID:olU7fFY4
各種要因でCanvasの再描画を行っていて、
これらがいっぺんに発生したときには、
再描画をまとめてやりたいんだけど、
アイドル時間に呼ばれる処理って定義できるんですか?

120デフォルトの名無しさん2015/10/20(火) 08:33:29.05ID:xYr22qd8
少しずつだけど日本語のドキュメントが増えてるね。

ttp://docs.oracle.com/javase/jp/8/javafx/api/index.html
ttp://docs.oracle.com/javase/jp/8/javafx/get-started-tutorial/
ttp://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/
ttp://docs.oracle.com/javase/jp/8/javafx/fxml-tutorial/
ttp://docs.oracle.com/javase/jp/8/javafx/properties-binding-tutorial/
ttp://docs.oracle.com/javase/jp/8/javafx/events-tutorial/
ttp://docs.oracle.com/javase/jp/8/javafx/graphics-tutorial/

121デフォルトの名無しさん2015/10/20(火) 19:20:53.48ID:oM+8zZ4h

見ながらやってみるか

122デフォルトの名無しさん2015/10/26(月) 18:18:21.82ID:dhOM9I0V
ListViewをstaticで定義できないんだけど他のクラスからいじりたい場合どうすればいいの?

123デフォルトの名無しさん2015/10/30(金) 13:13:19.00ID:hAaoa/hc
もっと早く出てたら色々状況も変わっていたのかもしれないけど
後出しだから出せたものだろうからなあ

124デフォルトの名無しさん2015/11/07(土) 22:42:58.14ID:j9yLVDix
ListViewメモリ食い過ぎ

125デフォルトの名無しさん2015/11/21(土) 05:34:06.30ID:1N1F4ORO
JavaFX propertyと組み込み関数インタフェースの相性はなかなかいいな
XY座標を取るBiPredicateをチェーンさせてフィルタとしてプロパティに設定とか別の言語触ってる感覚

126デフォルトの名無しさん2015/11/24(火) 17:51:24.39ID:E6WyfuLQ
古いGPUだと実行できないようなんですが、GPUのチェックを回避する(?)とかして実行する方法はないでしょうか。

127デフォルトの名無しさん2015/11/30(月) 15:26:00.55ID:XdLPFdTm
テキストを印刷する時にフォントを強制的にパス化する方法ってあるかな?
システムにインストールされていないフォントを印刷する場合はこれをやってくれるのだけど
システムにインストールされているフォントでも同じようにパス化してくれると可搬性が高くて助かるのだけど

128デフォルトの名無しさん2015/11/30(月) 19:33:29.31ID:XdLPFdTm
jfxtrans-labsに以下の一行を発見して無事解決。地味に凄いなJavaFX

Path path = (Path) Shape.subtract(text, new Rectangle(0, 0));

129デフォルトの名無しさん2015/12/14(月) 00:40:04.08ID:TBvoHfDM
俺が始めたからアゲ

130デフォルトの名無しさん2015/12/15(火) 22:28:36.32ID:7A5/Ndls
よし
盛り上げてくれ

131デフォルトの名無しさん2015/12/15(火) 22:38:20.68ID:QtUVTFLl
よし、ハゲてくれ

132デフォルトの名無しさん2016/01/10(日) 09:57:50.79ID:YJX3CxHj
オラクルってなんで Scene Builder のインストーラ配布やめたの?
なんかソースコードで配布してるみたいだが

133デフォルトの名無しさん2016/01/10(日) 10:11:21.10ID:jKn5h2Is
誰も使わないからでしょ
フェードアウトさせていきたいんだよ

134デフォルトの名無しさん2016/01/10(日) 12:14:14.26ID:e/6zdqSA
>>126
-Dprism.order=j2d

135デフォルトの名無しさん2016/01/10(日) 12:59:13.04ID:1ZDRgoMO
FXMLのリファレンスが無い時点でやる気ないの見え見え。
もうGUIはHTMLで、クライアントをFXのブラウザコントロールで作ろうと思ったら、ブラウザコントロール自体が旧式だったでござる。

136デフォルトの名無しさん2016/01/10(日) 17:36:25.59ID:YJX3CxHj
WebKit って旧式なん?
新式になるためには何サポートしてればいいの?

137デフォルトの名無しさん2016/02/23(火) 23:31:24.22ID:MBXrRoTm
MediaPlayerのチュートリアル試してみたんだが、最後まで再生した後の挙動が変だね

再生終わった状態で再生ボタン押しても反応なし
スライダー少し戻してから再生ボタン押すと一時停止して
更に二度押すと先頭から再生を始める
http://docs.oracle.com/javase/8/javafx/media-tutorial/playercontrol.htm

138デフォルトの名無しさん2016/06/12(日) 19:13:58.23ID:PA50JpJO
TreeViewでcellFactoryをnullに設定した時の既定のTreeCellの定義はどこで確認すればいいでしょうか?
APIは追いきれなかったのですが、単純にTreeCell<T>()を使用している訳では無いようなのです
解りづらい質問で申し訳ないです

139デフォルトの名無しさん2016/06/13(月) 21:34:59.89ID:xZcBDkZ+
java dayの資料見てみたけど
まだjava fxやる気はあるんだね

140デフォルトの名無しさん2016/06/14(火) 21:23:30.06ID:9Cxqkr8S
tooltipが表示されたところにちょうどカーソルあったら表示と非表示繰り返してしまいます
回避方法ありませんか?

141デフォルトの名無しさん2016/07/03(日) 22:26:35.55ID:AzA8asek
まじ使ってるひといなそうだな・・・

142デフォルトの名無しさん2016/07/08(金) 07:30:13.22ID:jZEWBpdO
開発終了しないのが不思議なレベル
オラクルのSI部門や大口顧客が使ってるんだろうな

143デフォルトの名無しさん2016/07/09(土) 17:56:01.05ID:amqmKLxV
>>142
国際宇宙ステーションの管理ソフトは
JavaFXらしい

144名無しさん@そうだ選挙に行こう! Go to vote!2016/07/10(日) 13:23:08.12ID:Pu5zhpFc
飛行機がJavaなんか使ってたら、その飛行機には絶対に乗らないけどな
それとも、業務向けのJava環境とか作って内緒で使ってるのかな

145名無しさん@そうだ選挙に行こう! Go to vote!2016/07/10(日) 17:01:14.16ID:Pg8qYW3c
何れ飛行機も計器類が全部まとめられてタブレットに表示されてそれで操縦するようになるんだろうなあ

146名無しさん@そうだ選挙に行こう! Go to vote!2016/07/10(日) 19:35:44.78ID:vClNR34Z
そして飛行機に乗る時にタブレットやケータイを全員取り上げられる

147デフォルトの名無しさん2016/07/17(日) 21:18:54.43ID:35UaP9b8
>>144
スペースシャトルの航空管理システムもJavaだぞ

148デフォルトの名無しさん2016/07/25(月) 21:18:13.23ID:Oy0UZRX6
>>147
OracleのJDKじゃなくて、何千万円もするようなjava開発環境つかってるんだろうな…

149デフォルトの名無しさん2016/08/20(土) 23:54:37.12ID:caLOsDcn
>>148
ところがどっこいOracleのJDKなんだよなぁ・・・

150デフォルトの名無しさん2016/08/22(月) 02:10:07.72ID:KXXznEJ6
外からハッキングされて落ちるわけだ

151デフォルトの名無しさん2016/10/01(土) 17:20:54.04ID:ptS7sjp8
>>132
超亀だけどアーカイブの中にあるな

リンクはちゃんと直して欲しい

152デフォルトの名無しさん2016/10/01(土) 22:13:08.40ID:ptS7sjp8

153デフォルトの名無しさん2016/10/02(日) 07:53:45.10ID:M4e1p4R9
最新版のビルドはここか
http://gluonhq.com/labs/scene-builder/

154デフォルトの名無しさん2016/10/02(日) 08:15:35.10ID:M4e1p4R9
最新版落としてみたけどどうも挙動が変だな
アーカイブの2.0に戻した

155デフォルトの名無しさん2017/01/14(土) 21:21:51.36ID:Z4YPx582
TextFieldでアンドゥがキャレットの移動まで記録しちゃうんだけど、
文字列の更新だけ記録させることって出来ますか?

156デフォルトの名無しさん2017/01/14(土) 21:26:31.37ID:Z4YPx582
Ctrl+ZやCtrl+Yを押したときに、文字列が更新されるまでundo()やredo()を繰り返し呼ぶとかやってみたけど、
適当にアンドゥ→キャレット移動→リドゥしようとして出来ずに(´・ω・`)

157デフォルトの名無しさん2017/01/18(水) 10:48:47.25ID:A+XqqRn6
ある程度使ってみたけどよく出来てると思う
ウインドウもかなり低レベルで描いてて本気を感じる

>>156
アンドゥ実装あるけど貧弱だよな
継承もできないし

158デフォルトの名無しさん2017/01/20(金) 22:27:38.74ID:YYVwGK9Y
Linuxでも動かしたいためにJavaFXやってみるわ

159デフォルトの名無しさん2017/01/21(土) 15:51:04.86ID:IpoNsIX7
久しぶりにTornadoFXのサイト見たらドキュメント含めて以前より充実してたので、
IntelliJでサンプル動かしてみたけど、これすごくいいね。
scalafxからこっちに乗り換えることにした。

160デフォルトの名無しさん2017/01/21(土) 17:14:31.53ID:LFvCw0cQ
宣伝乙

161デフォルトの名無しさん2017/01/24(火) 01:15:21.00ID:LaS/fHVF
いまいち流行らないね

162デフォルトの名無しさん2017/01/24(火) 14:04:28.78ID:Hze+AB3k
そこそこ好きなんだけどな

163デフォルトの名無しさん2017/01/27(金) 19:09:28.14ID:9J/zbc1M
みんなどうやってテストしてる?

164デフォルトの名無しさん2017/03/04(土) 02:49:33.74ID:D3aEnBv5
printf

165デフォルトの名無しさん2017/03/04(土) 02:52:23.51ID:xxL575qx
ボタンを押す

166デフォルトの名無しさん2017/03/04(土) 08:35:41.98ID:IIB6SCJa
guiのテストは手動、目視だわな

167デフォルトの名無しさん2017/03/04(土) 09:21:23.24ID:mnWA8+jF
新人に押し付ける

168デフォルトの名無しさん2017/03/17(金) 13:44:52.11ID:pN7rjSre
Spinnerを使おうとしたら、ユーザーがEnter押すまで値が代入されなくて困ってます。
Spinnerでユーザーが値を変更したら動的にそれを受け取る方法ってありますか?

169デフォルトの名無しさん2017/03/17(金) 17:18:41.08ID:91LKoVYa
SpinnerのvaluePropertyを適当なものにバインドすりゃええんとちゃうん?

170デフォルトの名無しさん2017/03/24(金) 05:10:17.89ID:P+Gq0AUT
javafx.scene.image.WritableImage に文字を書く方法を知りたいです。

下記のように BufferedImage に対して Graphics2D を用いて行うようなことを、javafx.scene.image.WritableImage に対して行いたいのです。

BufferedImage image = new BufferedImage(1024,1024,BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics = image.createGraphics();
graphics.drawString("Hello, World!", 0, 512);

javafx.scene.canvas.GraphicsContext に Graphics2D と似たような機能があるは分かったのですが、Canvas ではなく、WritableImage に直接文字を書く方法が知りたいです。

なんらかの代替案でもかまいませんので、教えていただけると助かります。

171デフォルトの名無しさん2017/04/04(火) 22:18:07.16ID:AXNnTF9c
PrinterJob.createPrinterJob().showPageSetupDialog(new Popup());
でキャンセルボタンを押した時の戻り値が、
Linuxではfalseだけど、Windowsだとtrueになるみたいなんだけど、自分だけ?
それとも誰もこんなもの使っていないから、気づかないだけ?

172デフォルトの名無しさん2017/04/05(水) 17:27:24.83ID:aON2fmDg
そういやPrinterJob使ったことないな…

173デフォルトの名無しさん2017/05/03(水) 20:29:13.06ID:TnqFB826
NetBeansからFXML開くのにSceneBuilderがエラー吐いてて悩んでたけど
Desktopにプロジェクト置いていたのが問題だと言うことが分かった
なんでやねん・・・
FXなかなかいいと思うんだがなぁ・・・

174デフォルトの名無しさん2017/05/03(水) 23:37:57.16ID:zkWNfzXl
誰も使ってないんだから開発環境が糞なのは仕方ない

175デフォルトの名無しさん2017/05/06(土) 00:51:26.28ID:WjpUlC2z
覚えるためにWPFで作ったのを移植してるけど
なんというか逐一躓く
WPFの方が作りやりやすいわ
まぁjavaの仕様が分かってないのもある・・・

176デフォルトの名無しさん2017/05/08(月) 18:58:57.66ID:naSGcbWP
Windowを画像で切り抜いてて驚いたけど
Windowsならデスクトップ解像度以上の画像で切り抜きできるね
LinuxのUbuntuだとデスクトップ解像度までになった

177デフォルトの名無しさん2017/05/08(月) 20:01:57.15ID:zqCx33pk
そんなことはない

1781762017/05/09(火) 14:51:02.23ID:hTTaxzLo
Linux詳しくないからよく分からないんだけど
起動時だとウィンドウをデスクトップ外にはみ出すことができない(マウスドラッグでウィンドウ移動できるようにしてる)
このままだと画像がデスクトップ内に切り取られる
Alt押しながらでウィンドウを移動してデスクトップからはみ出る状態にしてるときに画像をセットし直すと切り取られない
ウィンドウマネージャの仕様なのかいな
解決方法あるんだろうか・・・
transparentしないタイトル付きのウィンドウならそんなことはならないけど・・・

179デフォルトの名無しさん2017/05/09(火) 15:13:50.32ID:fjUlBZmQ
xwdでもはみ出してるとだめなんか?

180デフォルトの名無しさん2017/05/12(金) 21:18:01.55ID:sM1A0EGQ
TableViewの指定行のTableCellってとる方法ありますか?

181デフォルトの名無しさん2017/05/16(火) 14:11:29.04ID:PJHVD3ti
>>179
xwdしても切れたままですね
Alt押しながらでウィンドウを移動してもはみ出してた部分はなくて切れたままです、これをxwdしても切れたまま
そのあとFileChooser表示してキャンセルで戻ったりすると表示される・・・

182デフォルトの名無しさん2017/05/16(火) 14:42:40.34ID:jHwvBExt
Videoカードのバグじゃね

新着レスの表示
レスを投稿する