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

2014/07/05(土) 01:27:45.85ID:SKNQTnLZ
JavaFXについてのスレッドです
305デフォルトの名無しさん
垢版 |
2018/11/10(土) 16:06:08.57ID:XE+BpAI8
scene builder最初使おうとしたけど結局コード直接書く方が楽だな
細かい事やろうとしたらコード書かなきゃならんし、全部コードでやる方が良い
306デフォルトの名無しさん
垢版 |
2018/11/10(土) 16:35:27.27ID:XE+BpAI8
mavenでfxを入れると
開発環境のプラットフォーム用のライブラリがDLされる?
ここではwinライブラリしか出てきていない。
https://skrb.hatenablog.com/entry/2018/07/25/220530

ここもwinライブラリしか出てこない。
https://seraphy.hatenablog.com/entry/2018/07/27/175105
>maven-dependency-plugin で依存jarをmodsフォルダに出力するようにしているので、
この処理で依存ライブラリだけを見てるからか?

開発環境と異なるビルドをする方法はあるんだろうか。
2018/11/10(土) 19:44:58.73ID:ibzuo7gO
>>304
OCAにサインしてOracleに無償の献身を誓った個人開発者、だぞ
今の体制のままならOracleが完全に手を引いたら絶対に確実に間違いなくJavaFXは消滅する
308デフォルトの名無しさん
垢版 |
2018/11/10(土) 19:57:35.54ID:XE+BpAI8
https://aoe-tk.hatenablog.com/entry/2018/03/18/185144

この記事によると今後も大丈夫みたいに書いてあるけど

どうせどの言語もライブラリもプロジェクト消滅とか停滞のリスクはあるんだし
俺は今後も使うよ
309デフォルトの名無しさん
垢版 |
2018/11/10(土) 20:23:43.23ID:JVjCprWq
フリーなのが救いだな。誰もメンテナンスしなくなっても最悪自分でなんとかできる。できなくてもできる人にやらせる事が可能かも知れない。金掛かるかも知れないがな。
ブロブライエタリだど握りしめられたまま死なれたら終わりだ。本当に二度と使えなくなる。
2018/11/11(日) 15:02:28.34ID:wM/j3zKs
>>307
Oracle完全撤退後は、もはや何もコミットしてないOracleに対して何故かソースを寄贈し続けなければならない謎プロジェクトになるんだぞ
そんなものに進んで協力する奴がいたらよほどのドMだな
OCAを廃止しない限り、OpenJFXはどう転んでもコミュニティプロジェクトとして成立し得ないよ
2018/11/12(月) 22:48:59.70ID:JKEbmYKN
openjfx本家死んでもgluonのhard forkに開発者移るだけだろう。
サポートされるデバイスが増えるだけ。
2018/11/13(火) 06:17:45.59ID:Z98NzD8v
>>311
そのGluonの収入基盤がまた不安なんだよね。Gluon Mobileで開発なんて話まったく聞かないし。
表に出てこないだけで、それなりに売り上げているんだろうか。
2018/11/13(火) 08:44:59.29ID:rYgVTNK6
Gluonは囲い込んで金取ることばかり考えてて時代錯誤な印象だわ
元々JavaFXにタダ乗りしてXamarinの劣化コピーを作ろうとしてただけで自分達で積極的にJavaFXコアの開発を推進する気はなさそうだし
現状のまま売り逃げして終わりだろうな
こんなものに期待するくらいならJava to .NETコンパイラでも作ってXamarin使ったほうが遥かにマシだな
2018/11/25(日) 10:34:22.08ID:lgpRNpQu
>>313
Gluon はどうやって収入を得ればよかったんだろうか。
2018/11/25(日) 11:14:37.59ID:UFgNd70E
そもそもビジネスモデルが間違っているからどうやってもダメだよ
モバイル向けの開発ツールキットはあくまでプラットフォームビジネスの付属品であり、単独では商売として成立しない
この手の最大手であったXamarinですらダメだったのに、なぜそれよりあらゆる面で劣るオモチャで儲けられると思ったのか
2018/11/25(日) 11:37:10.53ID:lgpRNpQu
>>315
JavaFXにはどうあがいても絶望しか残されていなかったということか。
得をしたのは開発中止という格好悪い方法を避けて体よくJavaFXを捨てることが出来たOracleだけか...
317デフォルトの名無しさん
垢版 |
2018/11/25(日) 15:24:07.23ID:vfhmRXQZ
クライアントサイドもできたほうがJavaユーザー増えると思うんだけど
JavaFX自体は良い感じ
2018/11/25(日) 15:49:56.84ID:mH6GThxQ
反例 : 過去20年のJava
まあ、よく頑張ったよ
もう楽にさせてやろう
319デフォルトの名無しさん
垢版 |
2018/11/26(月) 06:18:29.70ID:L0aVCXkP
でもクライアントサイドが作れませんとなったら
新たにプログラミングを学ぶ人が選ばないと思う
2018/11/26(月) 06:42:07.93ID:AJ1J19WZ
>>319
プログラミング必修化で、業務でなく趣味でプログラミングする人も増えるだろうけど、
確かに趣味でやるにはWebフレームワークでGUIというのは負担が重すぎる。
かくいう自分も趣味でJavaFXから入ったくち。
2018/11/26(月) 11:13:55.60ID:SVaivieI
確かに趣味でやるのにGUIがやりにくいでは
選ばれにくくなるだろうな

やっぱWindowだしてやりたいもんなあ
2018/11/26(月) 21:40:59.64ID:m6hl4oCS
FXもやってくぞー
2018/11/27(火) 01:10:49.38ID:nQRtrRhV
xamarinxamarin言ってるやつは何しに来たんだ?xamarinが最大手?馬鹿抜かせ。
日本以外の世界の水道・ガス・パーキングメーター類、ハンディPOS、中身組み込み向けjavaだぞ。
BD-Jもjavaだしxamarinどこにあるんだよ。

gluonに間違ってるところがあるとしたら組み込みにjava seベースとその上で動くjavafxを選んだことだろ。
組み込みじゃフットプリントでかすぎるし、リソース食い過ぎるし、
組み込みにRIAみたいないちいちアニメーションするguiも必要ない。
そういうのは富豪環境のエンドユーザー向けでやればいい。
xamarinと被る領域なら最近は組み込みまでnodeじゃん。
2018/12/01(土) 06:57:32.19ID:NLPExknq
>gluonに間違ってるところがあるとしたら組み込みにjava seベースとその上で動くjavafxを選んだことだろ。
GluonはJavaFXするための会社だから、存在を全否定するのはやめて差し上げろ。
2018/12/01(土) 07:49:15.91ID:YxxZ2HxT
FXやりたいんじゃなくて、やりたいのは金儲けでしょ
そもそもGluonってJavaFXにタダ乗りしてXamarinモデルで一儲けしようとしてただけで、
JavaFXの本体の開発を進めるなんて全く言ってないし実際やってもいないのに的外れもいいとこ
2018/12/01(土) 08:39:40.60ID:NLPExknq
>>325
一応JavaFXに関する貢献でDukes Choice Award を2015年に取っているから
何もしていないということはないと思うが、
GluonにJavaFXの開発をする体力はないだろうという点には同意する。
2018/12/01(土) 09:04:01.42ID:YxxZ2HxT
筋違いの期待をしてる人には気の毒だが、そもそもGluonは本体はオープンソースですらない
別にGluonを非難する意図はないぞ
そこらへんのたかが一中小企業に対して、どう頑張っても自社の独占資産にならないGPLソフトウェアに全力投資しろというのは無茶な話だ
2018/12/01(土) 17:51:44.63ID:NLPExknq
話題にしたいのはGluonが金儲けをするためにはどうするべきだったかではなくて、
JavaFXが安定して発展するにはGluonがどうすればよかったかなのだが、
>>316で言ったように最初から無理ゲーだったということでおk?
2018/12/13(木) 18:43:00.51ID:kyCKGOHR
ニコニコ大百科での暗躍も実を結ばなかったな
2018/12/13(木) 18:43:26.32ID:kyCKGOHR
JavaFX
https://dic.nicovideo.jp/a/javafx
2018/12/13(木) 19:03:43.75ID:6H85Th3Y
>>329
ごめん、言いたいことがわからない。
2019/01/17(木) 20:38:34.91ID:WEpm3cy1
ニコニコ大百科見てないなら黙ってりゃいいのにでしゃばりかw
2019/01/17(木) 20:40:57.32ID:WEpm3cy1
>>331
言いたいことわからないとか本気でいってんのかよ
そんなんだから普及しないんだよバカ
2019/01/18(金) 10:53:22.72ID:DxWbWMHw
>>333
>>331>>329の言いたいことがわからないことと、JavaFXが普及しないことに因果関係はないと思うんだけど。
>>333の頭の中身は大丈夫なのでしょうか。
2019/01/18(金) 23:19:24.49ID:MiuiRmHo
何かと戦ってるんだろうなぁ
336デフォルトの名無しさん
垢版 |
2019/01/21(月) 10:54:21.77ID:chW+Guj1
いや>>333のバカってのはいわゆるツンデレというやつだろう。
337デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:01:58.84ID:eFECFW/X
>>334
言いたいことがわからないっていってるんだから因果関係もない
お前の頭が大丈夫なのか
そもそもJavaFXの関係ある話なの?
338デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:02:31.24ID:eFECFW/X
JavaFXのスレでなに期待してんだろうなこのバカ
339デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:03:29.26ID:eFECFW/X
>>336
ごめん、言いたいことがわからない。
340デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:05:16.91ID:eFECFW/X
>>334
わかったから
ニコニコ大百科での暗躍も実を結ばなかったな
JavaFX
https://dic.nicovideo.jp/a/javafx



何がいいたいかくらいわかれバカ
341デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:06:08.10ID:eFECFW/X
ニコニコ大百科での暗躍も実を結ばなかったな
JavaFX
https://dic.nicovideo.jp/a/javafx
342デフォルトの名無しさん
垢版 |
2019/01/23(水) 09:38:21.37ID:gQZD+vR+
暗躍?
2019/01/23(水) 18:32:57.39ID:Pa8D4EMx
>>337-341
うわぁ…
344デフォルトの名無しさん
垢版 |
2019/01/30(水) 12:40:06.37ID:7/OtnzJ3
>>343
うわああ・・・やばこいつwww
2019/01/30(水) 12:40:25.00ID:7/OtnzJ3
>>342
暗躍じゃなきゃなんだよ
346デフォルトの名無しさん
垢版 |
2019/01/30(水) 12:40:45.17ID:7/OtnzJ3
>>342
ごめん、言いたいことがわからない。
347デフォルトの名無しさん
垢版 |
2019/01/30(水) 12:41:13.38ID:7/OtnzJ3
>>335
ごめん、言いたいことがわからない。
348デフォルトの名無しさん
垢版 |
2019/01/30(水) 12:42:08.59ID:7/OtnzJ3
>>343
ごめん、言いたいことがわからない。
349デフォルトの名無しさん
垢版 |
2019/01/30(水) 12:48:50.40ID:q6ysaJqg
煽りだけは一人前なんだから嫌なんだよ
クズが!
2019/02/04(月) 18:14:04.34ID:oP8ZHhsh
スレ伸びてるやん!
351デフォルトの名無しさん
垢版 |
2019/02/05(火) 09:40:56.91ID:NCwCR2JI
JavaFXの人気に嫉妬
2019/02/05(火) 22:09:37.36ID:wvgxDuIH
>>350
言いたいことあるなら言ってみろ?オラ
ゴミレスしやがって
2019/02/05(火) 22:09:56.80ID:wvgxDuIH
>>351
マジレスするけどJavaFXの人気ないでしょ
2019/02/05(火) 23:26:20.93ID:3O/xpj+w
そもそも次スレ立つかどうかもわからんけど
次は標準が外れるんだな(´・ω・`)
2019/02/06(水) 06:46:34.91ID:VTHgUXBY
>>354
JDK11からなので、もう外れているとも言える。
2019/02/06(水) 08:38:39.25ID:VTHgUXBY
誤解した。スレタイから標準の文字が外れるという意味か。
357デフォルトの名無しさん
垢版 |
2019/02/06(水) 15:16:17.92ID:Zn5BTEOa
俺の心の中では永遠に標準
2019/02/09(土) 14:39:10.08ID:RL/Bbdb+
伸びてるから期待してみたら・・・
まったくぅ
359デフォルトの名無しさん
垢版 |
2019/02/09(土) 15:50:05.38ID:6/bHpQ6m
流行らせれば良いんだよ。そうすればデファクトスタンダードになってやがてISOとかに登録されて標準化される。
2019/02/10(日) 23:17:53.46ID:vNdDSNLL
JDK8のJavaFX使うのむっちゃ楽だったのにな〜
2019/02/19(火) 05:10:46.16ID:t1twOrTq
>>360
まったくだ。
JDK11だとどうすれば使えるのかすらよくわからん。
362デフォルトの名無しさん
垢版 |
2019/02/25(月) 21:42:40.83ID:7ak6Hn/u
ちょっとスレチだけどいい?もしかして、Java標準のGUIってSwing?
363デフォルトの名無しさん
垢版 |
2019/02/26(火) 09:56:24.17ID:E0EMtjG2
まあ、最初からライブラリに含まれているので標準と言えば標準かな。
2019/03/02(土) 15:41:40.44ID:8coTWFNt
Amazon CorrettoがJavaFXをサポートしていると聞いて入れてみたが、だめだった。
色々ないものがあるらしい。
https://stackoverflow.com/questions/53876524/is-javafx-media-supported-by-corretto
2019/03/31(日) 04:43:09.25ID:Q6aOJn8t
openjfx12からscenebuilder削除されたからgluonのハードフォークが名実ともにscenebuilderになったな。
プロパティファイル化けてんの直してほしいけど、今openjfxのスポンサーgluonだし、
openjfxの公式サイトがgluonでそこからダウンロード出来るのがgluonのビルドだし、
ただのミラーのはずだったgluonのportingのgithub issuesにopenjfx関連のissueあるしこのままjavafx乗っ取られたりしてなw

>>360,361,364
9以降にopenjfxの適当なdistroのモジュールパス通すだけよ。
gluonのsdkでも自分でビルドしてもビルドツール使ってもjavafxバンドルしたjre作っても何でも良いよ。
非モジュールのjavafxアプリをhogehogeするよりモジュール化した方が簡単。
366デフォルトの名無しさん
垢版 |
2019/05/14(火) 04:11:54.09ID:Ojzt4xl5
corretto8入れて解決
足りないものがあるなら言えば入れてくれるだろ
367デフォルトの名無しさん
垢版 |
2019/05/28(火) 12:52:24.67ID:HGTlDNNW
>>365が言ってるのは自己完結型だな
>>366はOS共通のJDKでJavaFXやる方法
2019/06/21(金) 06:10:10.33ID:wZzfYUF4
>>366
言っても入れてもらえなかったぽい。代わりに
https://bell-sw.com/pages/java-8u212
なんてものがあるらしいが、問題は
BellSoftがマイナーすぎてOracleやAmazonほどに世間の検証を受けていないことか。
2019/08/29(木) 00:33:37.84ID:Sh9HUjcS
gluonのjavafxバイナリがマイナーチェンジする気まったくないな。
SceneBuilderは自分でビルドすればいいとしてopenjfxめんどくさいのがな。
Liberica JDKはopenjfxは12みたい。11の新しいリビジョンはソースからビルドするしかなさそう。
2019/09/25(水) 02:33:18.22ID:sYvLX1uW
>>365 >>366
あのさあ・・・
JDK8時代と比べて何も違わんとか言いたげなのは明らかにおかしいだろ
そりゃ過疎るわ
371デフォルトの名無しさん
垢版 |
2019/10/23(水) 16:53:10.00ID:CMyZiMBA
FXML使う価値ある?直接コード書いたほうが楽なんだけど
2019/10/24(木) 21:46:16.93ID:lsrm2Iki
>>371
SceneBuilderを使ってGUI上でFXMLを作成できるのが売り。
生FXMLを書くくらいならコードを書いた方が楽なのには同意する。
373デフォルトの名無しさん
垢版 |
2019/10/25(金) 15:42:06.38ID:RuWUXZ3V
でもSceneBuilderだとすぐに限界に到達するんだが・・・。
JavaFXってのは迷走してるおかしなプロジェクトなのでは。
初期の頃何か独自スクリプトがあって廃止されて、FXMLとかSceneBuilderも微妙・・・。
性能もコード資産の量もSwingのほうが上だと言われてる。
374デフォルトの名無しさん
垢版 |
2019/10/25(金) 15:43:13.24ID:RuWUXZ3V
そもそもなんでOracleはSwingを続けるんじゃなくJavaFXを始めたのか?
JavaFXはモバイル対応してるというけどSwingをモバイル対応させればよかったのでは
2019/10/25(金) 21:36:02.66ID:h86JIRQS
>>374
どこまで本当か知らないけど、SceneBuilderみたいなGUIツールでデザインしてから
Swingのコードを生成するのは難しかった(実際にそういうツールはあるが不安定)
ので、XMLを導入することにしたとか聞いたことがある。
また、SwingにはBindingとかのReactive Programmingのような仕組みがない。

Swingもそれほど使われていなかったから、この際パラダイムごと更新してしまおうと思ったら
Swing以上に使われなかったというオチがついてしまった。
376デフォルトの名無しさん
垢版 |
2019/10/26(土) 08:24:20.30ID:eCInqrX9
プロパティバインド使うとモデル側コードにStringPropertyとかの
JavaFX関連コードが出てきて嫌なんだけど?
どこがモデルとビューの分離なの?
それでどうやってビューを別のGUIフレームワークに自由に切り替えれるの?
2019/10/26(土) 13:30:57.74ID:mwZChXqj
それはモデルじゃなくてライブラリが受け持つ話では?
378デフォルトの名無しさん
垢版 |
2019/10/26(土) 13:44:16.28ID:eCInqrX9
例えば。
https://qiita.com/kenji-yokoi/items/5cd5f74865de7617cfb5
>public class Model {
>private StringProperty valueProperty = null;

https://docs.oracle.com/javase/jp/8/javafx/properties-binding-tutorial/binding.htm
>class Bill {
> private DoubleProperty amountDue = new SimpleDoubleProperty();

https://gist.github.com/aoetk/4363405
>public class Person {
> private StringProperty name = new SimpleStringProperty();

これらはすべてモデルにProperty系クラスが表れている。
でもPropertyはjavafxパッケージに含まれている。
モデルとビューの分離というなら、モデルをほかのGUIフレームワークでも使いまわせるように
クラス依存関係自体が分離されるべきだと思う。
2019/10/26(土) 15:44:51.28ID:NTFfefVw
>>376
自分も同じことを感じたことがあるので、言いたいことは概ねわかるつもり。

あるClass AModelの、あるフィールドAModel#fieldについて、Javaのお作法通りにしていれば
AModel#getField, AModel#setFieldをObjectPropertyを使って書けば、
AModelを継承したObserveableなModelクラスが出来上がるということなのかなと
解釈してそれ以上は考えないようにしている。

多分GUIフレームワークをJavaFXに一本化することを目標に開発されたので
他のGUIフレームワークでModelを使いまわすことは考えられてない。
Model作成の段階で最初からPropertyを用いるという前提だろうとは思う。
最初にも書いたように、他のライブラリやフレームワークと組み合わせようとすると
障害が大きいことには同意する。
380デフォルトの名無しさん
垢版 |
2019/10/26(土) 15:57:08.47ID:eCInqrX9
JDKを作ってる人達なら
任意のオブジェクトの状態変更を監視するように作ることもできたんじゃないか?
オブジェクトの状態が更新されたらGUIも更新、
更新頻度が激しすぎるといけないから最速でも1秒に1回、とか。

それにしたってDB上で更新が発生したらどうするのかと思うけど。
2019/10/26(土) 17:16:43.97ID:NTFfefVw
>>380
できたとは思うけど、OptionalをObjectのスーパークラスにしなかったくらいだから、
そんな変更はできたとしても言語コンセプト的にもしなかっただろうと思う。
JavaFXがOptional以上に大事なものであればあるいいは...ないか....

DB上で更新検出はJavaFX以外でも難しそう。
382デフォルトの名無しさん
垢版 |
2019/10/26(土) 17:24:54.18ID:eCInqrX9
プロパティバインドというアイデアは永続化されないモデルでだけ有効。
ゲームアプリならありそうだけど普通のアプリでは無さそうな気がする。

DBからオブジェクトを読み出す場合、読み出した時点のデータのまま変化しないし。
変化を検出できるのはもう一度DBから読み出した時だ。

最初独自スクリプトがあって廃止されて、プロパティバインドも微妙。
SceneBuilderやFXMLは一部の人達は使ってるのか知らんが俺には良さそうなものに思えないし。
JavaFXを設計してる人達の構想力まで怪しく思えてくる。

でもなぜかJavaFX好きではあるんだけど。
2019/10/27(日) 05:06:45.01ID:jUeL6+6v
>>382
SceneBuilderはとっつきやすくて配置の微調整をやりながら構成するのに便利だったけど、
FXML内で反復(及び分岐)をしようとしたときと、動的に数値を変更しようとした時には絶望しか無いことには同意する。
まあ、コントローラー側と組み合わせてなんとかした。

プロパティバインドは、自分はゲームじゃないけどMVCで使っているうちにMVVMを再発明したw
2019/10/27(日) 23:17:14.16ID:75iAjjaT
mvvmfxというライブラリなかったっけ?
2019/10/27(日) 23:29:18.97ID:jUeL6+6v
>>384
ありがとう。でもまだそれが存在しない頃の話だったんだ....
2019/10/29(火) 22:17:46.91ID:go5Q4PaW
JavaFXが分離されてしまった今
JavaのGUIアプリは何を使うのが正解なのだろうか
387デフォルトの名無しさん
垢版 |
2019/10/30(水) 09:33:41.93ID:fC2unZiH
awt
2019/11/03(日) 22:40:42.80ID:fQZr3wKn
時代はswt
2019/11/06(水) 21:42:11.63ID:jW29Sdid
javaFXじゃなきゃやだぁ
390デフォルトの名無しさん
垢版 |
2019/11/07(木) 11:48:57.39ID:wJeAdMrJ
遠慮なくどんどん使ってください
2020/02/25(火) 02:51:55.03ID:zG0qK6rK
JavaSEから外したのは残念
392◆JAVA/drQNg
垢版 |
2020/02/25(火) 02:52:38.11ID:zG0qK6rK
>>388 swtてPureJavaでしたっけ?
393デフォルトの名無しさん
垢版 |
2020/02/26(水) 01:35:11.58ID:+8ew93/H
自分で配布するjarファイルとかにはJavaFX含めても良いんだよな?
まあ多分俺はしないと思うが。
2020/02/29(土) 21:47:18.51ID:+VWqAFkh
>>386
Swingがあるじゃないか
2020/05/04(月) 23:29:15.43ID:2sOGqSF7
気晴らしに昔の話にレスしよう。

>>373
>性能もコード資産の量もSwingのほうが上だと言われてる。
newt並に低レベルなウィンドウ周りとレンダラのパイプラインが一段少ないからそれはないと思う。
ハードウェアもPS世代と固定機能世代だし。

>>374
>Swingをモバイル対応させればよかったのでは
初めからjava meで動く。CDC+AGUIでswing含む。

>>375
>また、SwingにはBindingとかのReactive Programmingのような仕組みがない。
SwingLabが開発しててJSRもあったけどsunがjavafxに注力するから全部白紙になっただけ。
SwingApp framework, beans binding, timing framework, SwingX, JMediaは白紙後全部javafxで同じアイディア実現したよ。
swing teamが協力したし。
swingにないのはコレクションベースのプロパティくらいかな。
2020/05/08(金) 05:37:03.88ID:AH+JUa9W
JavaFXすごいなUIスレッドと別に描画スレッドがあるのか(WPFと同じ)
Swingでは描画もUIスレッドで行われていたから独自描画とか重いことするとキーイベントやマウスイベントが遅延してた
これがアプリが重いと言われる原因になることも多かったと思う

JavaFXでは描画スレッドが分離したおかげでUIスレッドが軽くなった
ただし中途半端な状態が描画されることもあるので実装には注意が必要
・スタイルクラス.blueを外す
・スタイルクラス.redを付ける
これだと色が青から赤に変わる前に一瞬デフォルトカラーが見えてしまうことがある(もちろん変更はUIスレッドでやってる)
・スタイルクラス.redを付ける
・スタイルクラス.blueを外す
といった工夫が必要
2020/05/08(金) 05:43:58.65ID:AH+JUa9W
トランジション・アニメーションが描画スレッドだけで完結できないのが残念
プロパティ更新自体はUIスレッドで行われるから
マウスイベントハンドラなんかで重い処理をするとアニメーションがガタつく
結局、プログラマーが適切に非同期処理を実装しないといけないんだなあ
2020/05/08(金) 11:12:02.25ID:B14wRjHX
SwingでもEDTで重い処理すんなってのは常識だと思ってたけど……
SwingUtilities#invokeLater(Runnable) とか……
2020/05/08(金) 12:21:07.75ID:AH+JUa9W
ビジネスロジックをワーカースレッドで実行するのは当然分かってるよ
それでもUIスレッドでしかできないことってあるのよ
400デフォルトの名無しさん
垢版 |
2020/05/30(土) 02:21:06.70ID:8qnzRz3O
描画スレッド=UIスレッド=FXスレッドじゃないの?
描画スレッドとUIスレッドを別のものとして喋ってるのが良く分からん。

https://docs.oracle.com/javase/jp/8/javafx/interoperability-tutorial/concurrency.htm

トランジションあたりは良く調べてないけど、
その辺がスムーズに動かないならJavaFXベースのゲームエンジンは無謀なのかな。
2020/05/30(土) 06:53:55.51ID:9NYPs0Wl
JavaFXではUIスレッドとは別に描画スレッドがあるのよ
これがSwingとの大きな違い
UIスレッド=FXスレッド
描画スレッド=Prismスレッド

WPFも同様にUIスレッドと描画スレッドを持つGUIツールキットだ
2020/05/30(土) 08:14:38.00ID:I1WXKADU
javafx+3dで描画軽くする方法ありますか?
大量にshape3dを表示すると重くて重くて
オクルージョンカリングなるものを実装しようにもjavaでの実例が見つからず厳しい
2020/05/30(土) 08:47:50.17ID:I1WXKADU
やりたいことはこのように複数のBoxを組み合わせていきたい
https://imgur.com/p1mGbkc.png
ただ通常のBoxでは枠線が表示されないため現状1つのBoxにCylinderを12本くっつけて枠線として表示してる
他にはRectangleを6つ組み合わせて面表示しない方法
テクスチャ―を張り付けてそれっぽく見せる方法を試したけど今のところ一番良かったのがCylinderの手法
普通のBoxとワイヤーフレームを合体させる方法が一番軽量なんだけどTriangleMesh(三角形メッシュ)になってしまって見栄えが悪いのでNG
https://imgur.com/X6VrMC7

現状解決方法としてTriangleMesy→RectanleMeshにする
オクルージョンカリングを実装する
の2つが解決方法として考えられるがどっちも参考例がなくて厳しい

他の案でこんなのしたら解決できるのでは?とかこの案はこうすれば実装できる!とかあったら教えてほしい
質問スレチだったらすまん
404デフォルトの名無しさん
垢版 |
2020/05/30(土) 10:36:51.70ID:8qnzRz3O
swing vs javafx自分の理解

メリット
・CSS
・prism。UIスレッドと分けられていて描画が停止しない。GPUが活用される。
・ラムダベースのAPI
・Scene Builderがある(個人的に便利と思わない)

デメリット
・バグが多い
・モデルとビューの分離がし辛い。StringPropertyとか使わない方が良さそう

その他
・ゲームエンジンも通常のGUIもjavafxで一本化できるかも
・標準から分離されたが、JDKと同じ範囲でサポートされるのか?
レスを投稿する