【Java標準GUIライブラリ】 JavaFX スレッド
MediaPlayerでどの環境でも再生できる音声フォーマットはmp3だけ?
FLACに対応してくれたらいいのに JavaFXで碁盤のようなものを作りたいと思っています。
碁石には画像を使いたいと思っています。
どんなクラスを使えばよいでしょうか。 ふち付文字など、少し装飾の凝った文字を、Textのインスタンスを2つ使って表現しようと思ってるんですが
どのようにするのがスマートでしょうか
理想としては、Textのサブクラスのように振る舞わせたいのですが、
Textにinterfaceが用意されてないので悩みます
Textにinterfaceがあれば、適当なGroupと共に2つのTextインスタンスを包含して委譲することによって、
Textを操作するのと同じ感覚で、2つのTextを一つのコンポーネント(Nodeというべきかも)として扱えるのですが・・・
それと、Textを継承してメンバにTextを持たせるとした場合、
コンポーネントを2つ描画させたい場合は、eventDispatcherでメンバのも呼び出せばいいんでしょうか?
このあたり、どのように描画をしているのか全く見当がついてません・・ ちょっと待ってください
FXってjavaの「標準GUI」なんですか? 現実に使われていないものを標準と呼ぶのは無理があるよ
Javaの標準GUIはHTML 標準でネイティブのラッパーってかなり嬉しいと思うんだけど
流行ってないのは日本語ドキュメントがないから? JavaFXってシステムのHIDと描画機能だけ使ってフルスクラッチでGUI作ってるんだが
ネイティブのラッパーって何のこと?
流行ってないのはSwingがクソなまま放置されすぎて誰もGUI作るのにJavaを使わなくなったからだよ アプレット()と同じでブラウザで気軽に実行できなくなったのも× 企業がイントラで使うか組み込みで使うかくらいだね
いずれにせよオラクルに直接お布施してる方達が使うものであって
草の根レベルで盛り上げるようなもんじゃない ただほど高いものはない。俺は、Javaでいやって言うほど思い知らされた。
あと、JDK8はWindowsXPでつかえないから嫌だ。 XPを考慮しないといけない立場に親近感とともに同情を禁じ得ない
そのレベルの相手になるとJavaの扱いも本当にひどいんだよな・・・ 逆に考えるんだ
歴代のJavaMEを搭載した数々のモバイル端末は
Javaだったから流行らなかったのだと Write once, run anywhere という幻想 JavaFXで2chブラウザ作ったからよかったら使ってみて
感想コメントしてくれるとありがたい
http://www.m9-www.com/ な〜んか、WPFと同じ道を辿りそうだね・・ というより、むしろWPFの方がましか。。
俺はMSより、Oracleの方が好きだから、頑張れ!Oracle。Swingは趣味でやってたけど
金は稼げませんでしたww JVMを仮想マシンじゃなくて実機として搭載したパソコンや携帯が普及すればあるいは… fxやろうとシーンビルだー使ってみたんだけど
これイベントのメソッドを自動で入れてくれないのかね
ないとやる気がでん・・・ >>27
後発のJVM言語ですらプログラマ的にじれったい言語が多いんで
ここらで新しいVM言語を・・・ FX触ってみてるけど
listviewの中身をシーンビルダーで自由に作れるるんだな
自分で描画しなくていいからおもしろくなってきた
けど流行らなそうだな・・・ 流行らなそうというより、もう失敗して終わったと言っていいかと でもswingが大失敗したから、awtかFXの二択なのは変わらないと思う >>34
javaが普及したときに騙されて学習した(させられた)人がたくさんいるから スレッド制限するしクライアントアプリの描画ツールとしても弱い >>33
2択?
JavaでGUIというとHTMLのことを指すんだよ windowsとlinuxで動いてGUIをタグで記述して作れるってので
JavaFXを選ぼうかと思ったんだけどだめかね
htmlとかjava scriptはやりたくないからなぁ 駄目じゃない
ってかJavaFXが一番真っ当なやり方 JavaFXで2chブラウザ作ってるやつもいるよ
http://www.m9-www.com/ 専ブラでアフィ稼ぎでもやってんの?>>24でもそれの話してるやん 名前が金融関係のアドオンのイメージしかない
しかもわざわざjavaを使った間抜け方面の
java関係の名前ってなんで毎回胡散臭いの MonoでWPFができたら一番いいんだけどな・・・ もうQtもMonoもいらんだろ
Javascript + Node.js + webkitでいいだろ Atom Editorがそうだっけ?成果には期待してる Akkaと連携ってできるのかな
単純にFXのスレッド内でやるとフリーズするから
ServiceかTaskか、それともrunLaterでやれいけるのか?
runLayter使うのは英語の文献見つけたけど、結論部分の英語が
読めねぇから結局どーなんだよ!って感じ 楽しく組んでたんだが問題がおきた
ListViewでスクロールするほどメモリリークする
CellにImageViewとLabelおいてるだけなんだが・・・
updateItemで毎回画像読んでるわけでもないし、どこでリークしてるのやら
試しにメモリ少なくした仮想マシンでやってみたらOutOfMemoryでたわ JavaFX ListViewでぐぐった最初のサイトにその原因として疑わしい記述あったで。
そもそもで胡散臭い動きしよるなListViewはんは・・・ JavaFXのUIは結局WebView主体の設計に落ち着くし、そうしたほうが絶対楽
ベースのノードに小分けしたWebViewオブジェクトをペタペタ貼り付けてそれぞれ独立したHTMLでデザイン作成もできるし、むしろSwingより楽で作りやすい >>7の縁付き文字だけど、けっきょく白文字のTextインスタンスの後ろに、
4つの黒文字Textインスタンスを上下左右に1ドットずつズラシて実現したんだけど、
もっとスマートなのありますか?
Textクラスに影エフェクト適用すると薄めた墨汁をシャツにこぼしたみたいになる 画面間のデータの受け渡しは、どんな感じの作りが一番いいの?
JDK付属のサンプルのログイン画面のやつ、何だか変な作りしてない? >>52
ベストじゃないかもしれないけど、自分はこうやってる
まず、Java FX 8 と Spring 4 を統合して、子画面コントローラを
親画面コントローラから DI する
http://javafx.steveonjava.com/javafx-in-spring-day-2/
要は子画面オブジェクトの管理を Spring に任せる。
たとえば、色々なルートで行ける共通子画面は、singleton スコープ
にしとけば、どこで @Autowired しても同じオブジェクトになる
親→子は、DI されている子画面コントローラのメソッドを呼び出せばいい。 つづき
子→親は、Observer パターンを使ってる
http://www.techscore.com/tech/DesignPattern/Observer.html
親画面コントローラを Observer、子画面コントローラを Observable にして、
child.addObserver(parent); しておく。
子画面コントローラ側で this.setChanged(); this.notifyObservers() を
実行すると、親画面側の update(Observable o, Object arg) が呼び出される。
良かったら参考にしてください。 >>53
S2Swingみたいな感じですかね?やはり、DIですか。
参照先のページ少し見てみましたけど、コントローラーとビューの関係をSpringでやる感じですよね?
MVCのモデルからビューへのデータ受け渡し部分って、シンプルかつ綺麗に出来たりするんでしょうか?
コントローラー、モデル、ビュー、どうしても何かしらお互いに依存する作りになりませんか?
一人で開発する分にはいいですけど、複数人、大勢で分業して開発するとなると、
この人にビューだけの実装を、あの人にモデルだけの実装、この人にコントローラーだけの実装みたいに、きれいな分業での開発を考えるのは、無理がありますか? >>55
MVCの要約
■コントローラクラスの仕事
1.すべてのインスタンスの作成はこのコントローラで行われる。
2.各インスタンス(モデルクラス)の操作(加工・参照・削除など)を行う
3.viewに操作後のインスタンスを渡す
4.viewクラスから必要とされるであろうアクションメソッドを提供する
5.アプリケーションの初期化処理やmainメソッド、などもここに配置する
■ビュークラスの仕事
1.ビュークラスはインターフェースを通してコントローラクラスを保持できるようにしておく
2.コントローラから渡されたインスタンスにもとずいて画面にデータ描画する
3.ボタン押下等の何らかのActionごとにコントローラクラスで用意された
アクションメソッドを実行するだけ
■モデルクラスの仕事
1.データベース、ファイル、またはネットーワーク上からのデータ入出力機能と、そのデータの保持
2.保持しているデータ加工、参照、削除などのメソッドのみの提供を行う
って感じで設計しておくと
view担当の人は渡されるインスタンスの仕様と、各アクションごとのコントローラのメソッドだけわかっていればコードが書ける
アプリケーション全体のことを知る必要はない。
モデルロジック担当の人はデータベースのテーブル構成や、ファイルデータの形式、ネットワーク上から送られてくるデータの形式のみわかっていればコードが書ける
何のアプリケーションかすら知る必要がない
なので分担が可能になる >>56 さんどうもありがとう。全くその通りです
補足として、Java FX の具体的な話をすると、アプリ構成は
[FXML=Controller]--[Transaction script]--[Model] ===> (REST API etc)
--@FXML--|--@Autowired--------------------|
みたいな感じにしてる。
それぞれ DI で連携しているので、自然と疎結合になります。
Transaction 以降には JFX を持ち込みません。目安は JUnit で単体テストできるように
そんなに大規模アプリを作っているわけじゃないけど、
まぁ数人で git を挟んでうまく回ってます 「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 >>59
だったら、最初からSwingでいいじゃんww これほど全く魅力を感じない発表も珍しいなw
ずっと前からHTMLや.NETでできてることを今更… どうしてもJavaじゃないとだめってひとには朗報なんかね Javaの汎用性はハンパない
Javaじゃないとだめっていうよりwebアプリ勉強でJava勉強してたらクライアント系も結構作り込めるしAndroidもいけるし最高だわって。感じ 俺はswingしらないからfxでいいかって感じで触ってる Java,JVMに関係する言語も多い
Scala,Python,Ruby,Processing androidでデスクトップアプリを作れるようにすればいいのに。 縦書きの文章を巻物みたいに右から左にスクロールさせるためにHBoxにLabelを貼りそのHBoxをScrollPaneに放り込んで
scrollPane.setHvalue(scrollPane.getHmax());
としてやれば画面初期表示時にスクロールバーが右端に行くと思ったらできませんでした
どなたか解決方法わかる方お教え願えませんか? JavaFXでモーダルウインドウを作成した際に、そのウインドウをタスクバーに表示しないようにしたいのですが、どうすれば良いのでしょうか? javaでオフラインのゲーム作るとしたら
fxで開発したほうがいいのかねえ
難しいねえ どうもJavaFXは実装の詳細がかなり隠蔽されている印象でまどろっこしく感じた。
prism描画エンジン自体を直にたたきたい場合はどうすればいいのだろう?
SwingのGraphics2Dみたいな、描画はこのクラスが受け持っています、
みたいのはないのだろうか? Prismのソース見たけどいかにも内部だけで使う用の薄くて雑なラッパーで、
とてもじゃないけどパブリックAPIとして公開できるような代物じゃないね 3Dはハードウェアアクセラレーションが効かない場合は
自前のアルゴリズムで描画するのかな?
それともそんな機能はついていない? 3D+ソフトウェアレンダリングはサポートされてないし予定もないんだとさ
RORA(笑) Swingに、今風の丸っこいスキンを付ければそれで良かったのに…。 windows mobileにしろ、携帯javaアプリ全盛期にしろ、舵取りに大失敗したツケはでかいのさ。 2DでLook And Feelを洗練してくれればそれで良かったのになぁ
3DやるならFXの方向性でいいんだけど、3D必要なクライアントアプリって普通の業務じゃあ無いよな
ゲームに特化するならそれはそれで需要ありそうだが >>77
ハッキリ言って、swing以外、使う気にもなれないゴミ
事実殆ど使われてもいない。
空気未満の存在だわ、FXなんて。 swingですら製品として一切のバグが無くても苦情が来るレベル 最早無償のWindowBuilderでswtが現状通りこの先も作られ続けてる予感が。 音楽制作畑のソフトでFinaleやLiveっていう
有名なやつはどうやらJAVAでSwing?FX?で作られてるっぽい。
アプデするとJAVAのインストール要求されたし入力エラーのMsgがJAVAまんまのExcepionでわろた どなたか助けてください。
JavaFX8のWebViewにて大量の画像があるHTMLを読み込むと、一度にページ全体分の画像が読み込まれ、メモリを圧迫します。
※全て異なる画像ファイルの場合
WebkitでもChromeは可視領域の画像を随時読み込み、キャッシュしていないように思います。
WebViewだと全体がキャッシュされちゃうのかな。
初歩的やスレ違いならすみません。 標準なんだからこれからはJavaFXを使って行ったほうがいいっていうのが初心者の俺の意見なんだけどどうしてJavaFXはだめなんですか?
ちなみにパソコンのスペックが低いのでeclipseが重すぎて今は勉強してない >>82
低スペノートでchrome使ってるけどまとめサイト見る時画像がたくさんあると固まるので違うと思う >>83
JavaFXがどうというより、JavaでGUI自体もう絶滅に近いから JavaFX Scene Builder 1.1
の頃にちょこちょこ触って今後のバージョンアップに期待と放置してたら、
いつのまにかOracleからのバイナリ配布無くなってるのね
オープンソースに任せたから欲しけりゃ自分でビルドしーやw
ってか?
OracleもうJavaFXに飽きちゃったん? FXはもとから正式にOracleとライセンス契約してる法人向けという色が強い >>82
まだ、実装もこなれてない可能性が。
webviewだとすると、画面上に表示されてない部分をjsから操作して隠すstyle="display:none;"ことはできるのかな? <?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がありまして... 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にアンチエイリアスがかかるようにするにはどうするのが正解なんでしょうか? 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;
} > ただ、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 属性を指定してはいけないとの事 ChromeのNPAPIサポートが終わったらJavaFXも終了? そもそも始まったことがないだろ
Oracleに大金を献上してる天上界の方々が組み込みに使ってるくらいで しかし個人レベルなら決して使い勝手悪くはないと思うんだよな ボタン押して、処理を実行する場合
処理が終わるまでボタンを使用不可にしたいけどどうやって書くの? >>97
onActionでButtonをdisableにして処理スレッドを呼び出して、
処理の最後でイベントなりrunLaterなりでButtonをenableにすれば良いのではなく? >>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);
} Stageが最大化したことを取得するイベントが見当たらなかったのですが、どのように実装すれば良いのでしょうか? fxだとwebブラウザ作れるって言うから、マジかと思って今作ってる
マジで作れてるからfxって神だと思ってるよ
タブの入れ替えが出来ないっぽいのが難点だ そんなもん.NETでもQtでも昔から作れるよ
Swingがゴミすぎただけ swingで作れたら良かったのにと思ってる
何とかタブブラウザっぽくなってきたけど検索が問題のようだ
マウスジェスチャーは別ツールに頼る FXって8で終わりそうなの?
開発続くなら触るが・・・ JREの一般提供がいつ打ち切られてもおかしくないレベルで
クライアントJavaは消滅しつつある 残念ながらクライアントJavaを一番葬りたがってるのは他でもないオラクル様だよ flashはセキュリティ面で、silverlightは新規開発終了で終わりが近づいて、javafx登場する間も無くhtml5に変わってくタイミングなのかね。
java appletはセキュリティ強化とfxの進化も続いて出番あるかなと思ったけど、applet自体がセキュリティ強化で既存のappletが動かなくなって馴染みがなくなってる感じがする。
せめてホワイトリストで動けばと思うのだけど、証明書の問題が回避出来ないようで。 Fxでタブブラウザを作ってます
「ハイパーリンクをホイールクリックで新規タブにページをロード」が実装できないです
色々参考にしながら、ハイパーリンクのDOM取得してgetAttribute("href")で
href属性を見るようにしたのですが、普通のサイトは取れてもgoogleの次へリンクとかはnullが取れてしまいます
WebViewでハイパーリンクから、正しい遷移先URLを取得する方法ってありますかね? Scene Builderで多角形を作る方法が判りません。
デフォルトで三角形ができますが、そっからそういう操作で角を増やすのかが謎です。
知っているかた教えてください。 JDKを8u31から8u40に変えたらcanUndoメソッドとcanRedoメソッドが使えなくなった。 FXMLで簡単に似た目変えれるから好きなんだけどなぁ
ほんと趣味の領域だわ・・・ 各種要因でCanvasの再描画を行っていて、
これらがいっぺんに発生したときには、
再描画をまとめてやりたいんだけど、
アイドル時間に呼ばれる処理って定義できるんですか? 少しずつだけど日本語のドキュメントが増えてるね。
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/ ListViewをstaticで定義できないんだけど他のクラスからいじりたい場合どうすればいいの? もっと早く出てたら色々状況も変わっていたのかもしれないけど
後出しだから出せたものだろうからなあ JavaFX propertyと組み込み関数インタフェースの相性はなかなかいいな
XY座標を取るBiPredicateをチェーンさせてフィルタとしてプロパティに設定とか別の言語触ってる感覚 古いGPUだと実行できないようなんですが、GPUのチェックを回避する(?)とかして実行する方法はないでしょうか。 テキストを印刷する時にフォントを強制的にパス化する方法ってあるかな?
システムにインストールされていないフォントを印刷する場合はこれをやってくれるのだけど
システムにインストールされているフォントでも同じようにパス化してくれると可搬性が高くて助かるのだけど jfxtrans-labsに以下の一行を発見して無事解決。地味に凄いなJavaFX
Path path = (Path) Shape.subtract(text, new Rectangle(0, 0)); オラクルってなんで Scene Builder のインストーラ配布やめたの?
なんかソースコードで配布してるみたいだが 誰も使わないからでしょ
フェードアウトさせていきたいんだよ FXMLのリファレンスが無い時点でやる気ないの見え見え。
もうGUIはHTMLで、クライアントをFXのブラウザコントロールで作ろうと思ったら、ブラウザコントロール自体が旧式だったでござる。 WebKit って旧式なん?
新式になるためには何サポートしてればいいの? MediaPlayerのチュートリアル試してみたんだが、最後まで再生した後の挙動が変だね
再生終わった状態で再生ボタン押しても反応なし
スライダー少し戻してから再生ボタン押すと一時停止して
更に二度押すと先頭から再生を始める
http://docs.oracle.com/javase/8/javafx/media-tutorial/playercontrol.htm TreeViewでcellFactoryをnullに設定した時の既定のTreeCellの定義はどこで確認すればいいでしょうか?
APIは追いきれなかったのですが、単純にTreeCell<T>()を使用している訳では無いようなのです
解りづらい質問で申し訳ないです java dayの資料見てみたけど
まだjava fxやる気はあるんだね tooltipが表示されたところにちょうどカーソルあったら表示と非表示繰り返してしまいます
回避方法ありませんか? 開発終了しないのが不思議なレベル
オラクルのSI部門や大口顧客が使ってるんだろうな >>142
国際宇宙ステーションの管理ソフトは
JavaFXらしい 飛行機がJavaなんか使ってたら、その飛行機には絶対に乗らないけどな
それとも、業務向けのJava環境とか作って内緒で使ってるのかな 何れ飛行機も計器類が全部まとめられてタブレットに表示されてそれで操縦するようになるんだろうなあ そして飛行機に乗る時にタブレットやケータイを全員取り上げられる >>144
スペースシャトルの航空管理システムもJavaだぞ >>147
OracleのJDKじゃなくて、何千万円もするようなjava開発環境つかってるんだろうな… >>148
ところがどっこいOracleのJDKなんだよなぁ・・・ >>132
超亀だけどアーカイブの中にあるな
リンクはちゃんと直して欲しい 最新版落としてみたけどどうも挙動が変だな
アーカイブの2.0に戻した TextFieldでアンドゥがキャレットの移動まで記録しちゃうんだけど、
文字列の更新だけ記録させることって出来ますか? Ctrl+ZやCtrl+Yを押したときに、文字列が更新されるまでundo()やredo()を繰り返し呼ぶとかやってみたけど、
適当にアンドゥ→キャレット移動→リドゥしようとして出来ずに(´・ω・`) ある程度使ってみたけどよく出来てると思う
ウインドウもかなり低レベルで描いてて本気を感じる
>>156
アンドゥ実装あるけど貧弱だよな
継承もできないし Linuxでも動かしたいためにJavaFXやってみるわ 久しぶりにTornadoFXのサイト見たらドキュメント含めて以前より充実してたので、
IntelliJでサンプル動かしてみたけど、これすごくいいね。
scalafxからこっちに乗り換えることにした。 Spinnerを使おうとしたら、ユーザーがEnter押すまで値が代入されなくて困ってます。
Spinnerでユーザーが値を変更したら動的にそれを受け取る方法ってありますか? SpinnerのvaluePropertyを適当なものにバインドすりゃええんとちゃうん? 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 に直接文字を書く方法が知りたいです。
なんらかの代替案でもかまいませんので、教えていただけると助かります。 PrinterJob.createPrinterJob().showPageSetupDialog(new Popup());
でキャンセルボタンを押した時の戻り値が、
Linuxではfalseだけど、Windowsだとtrueになるみたいなんだけど、自分だけ?
それとも誰もこんなもの使っていないから、気づかないだけ? NetBeansからFXML開くのにSceneBuilderがエラー吐いてて悩んでたけど
Desktopにプロジェクト置いていたのが問題だと言うことが分かった
なんでやねん・・・
FXなかなかいいと思うんだがなぁ・・・ 覚えるためにWPFで作ったのを移植してるけど
なんというか逐一躓く
WPFの方が作りやりやすいわ
まぁjavaの仕様が分かってないのもある・・・ Windowを画像で切り抜いてて驚いたけど
Windowsならデスクトップ解像度以上の画像で切り抜きできるね
LinuxのUbuntuだとデスクトップ解像度までになった Linux詳しくないからよく分からないんだけど
起動時だとウィンドウをデスクトップ外にはみ出すことができない(マウスドラッグでウィンドウ移動できるようにしてる)
このままだと画像がデスクトップ内に切り取られる
Alt押しながらでウィンドウを移動してデスクトップからはみ出る状態にしてるときに画像をセットし直すと切り取られない
ウィンドウマネージャの仕様なのかいな
解決方法あるんだろうか・・・
transparentしないタイトル付きのウィンドウならそんなことはならないけど・・・ TableViewの指定行のTableCellってとる方法ありますか? >>179
xwdしても切れたままですね
Alt押しながらでウィンドウを移動してもはみ出してた部分はなくて切れたままです、これをxwdしても切れたまま
そのあとFileChooser表示してキャンセルで戻ったりすると表示される・・・ FXMLのImageViewでクリック処理しながら
TimelineでGraphicsContextをループさせるには
どういう風に組んだらいいんだろう
group = new Group();
scene = new Scene(group);
stage.setScene(scene);
canvas = new Canvas( WIDTH, HEIGHT );
gc = canvas.getGraphicsContext2D();
fx = FXMLLoader.load(getClass().getResource( ファイル ));
group.getChildren().addAll( canvas, fx );
timeline = new Timeline( new Key〜
handle(ActionEvent e){ 別javaへ(fillRect( x, y, 100, 100 ); x++; など) }
クリックで画面遷移(FXMLの変更)
stage.show();
こんな感じで別クラスに渡そうとするとエラーになるんすよね…
クリック範囲・画面遷移=FXML
細かいループアニメ=Graphicsという発想がそもそもダメなのか… fillRect とか、描画関数は、
canvas・ディスプレイなどの情報(グラフィック・コンテキスト、GC)を持っているだろ
悪い例なら、GC をグローバル変数にすれば、どこからでもアクセスできる
YouTube にある、T Umezawa の動画を参照
【Java】ゲームプログラミング超入門 Part01
https://www.youtube.com/watch?v=FsRHdL_r0pE&list=PLJ86MSrhnFKVQPf-E8y0FZKv7uzR4L4Dt >>184
Umezawa氏はFXに乗り換える前にメチャクチャお世話になりました。
モンストにアレンジしながら勉強してたいい思い出っす。
>>183の書き込みがかなり言葉足らずで申し訳ありませんでした。
表示自体は問題なく、クリック(FXMLの変更)時のエラーが出ているので
遷移時の間違い・インスタンスの生成ミス・
変更時にTimelineやMediaの停止が必要かもしれないなど
少しずつ問題点が見えてきたような気がします。
複合処理の解説ページがなかなか見当たらないので
「出来ない事はない」とのご教授を頂けて少し安心しました。
ありがとうございます。 T Umezawa の動画で、関数化したら、GC が無いから、エラーになって、
ひとまず、GC をグローバル変数にしておくとか、
そういう悪い例を、見たような気がする gra = Graphics g; みたいなのは見ましたが多分違うやつかな
>>183無事解決出来ました、1ヶ月悩んでたのでめちゃ嬉しいっすw
どこを直したのかイマイチ分からなかったですが
Main getInstance(){ return iMain; }する時は
最初にiMain = thisしときなさいよ!ってことだった模様…
やっと中身に突入出来る… 3月から始めてapplet→FXの道は長かった…
>>184さんご教授ありがとうございました scenebuilder8.3.0 をwindows10マシンにインストールしたけど、起動すらしねえ
インストール先をcドライブ直下にすれば起動するけど、デフォルトのままにすると起動すらしない
ユーザー名を2バイト文字にしてるとアウトって言うオチか? 今時ユーザー名やフォルダ名が多バイト文字とかありえん
空白なしのアスキーのみが基本だ
人類は退化している 内部でUNICODEだったりしたら2バイトまたは4バイトかも知れんけどな Win10 の、program files フォルダは、セキュリティが厳しいから、ダメだろ 解決した
ユーザー名を日本語以外にするのはなんかムカついたので、この方法を見習って解決した
日本語パス名でコケる場合の対処法
https://ogacha.wordpress.com/2013/10/22/
外国製ソフトの一部がバクを抱えているというだけで、安易に日本語ユーザー名を捨てられねえな
ちなみにnetbeansとかとの連携で気をつけなきゃいけないのは、scenebuilderに渡すfxmlファイルのパスも日本語を含んでたらアウトってこと あー。シンボリックリンクか。昔からUNIX系OSでは当たり前のように使われてるな。 しつもーん
言語学ぶためにキーボードで動かす「メイン画面とサブ情報画面」というかんたんRPGっぽいゲームを作ってます
2つの画面をBorderPaneの左右で持ってるSceneにonKeyPressedを仕込んで全部のキー入力をとってたのですが
「アイテムウィンドウをListViewでサブ画面に開いてフォーカス渡す」ということをしたところ、アイテムウィンドウで各種キー押すとメイン画面が普段通り反応します
メイン画面のキーイベント取得は止まっていて欲しいのですが、どうするのが普通なのでしょうか もしかして、scenebuilder自身には、fxmlをコード表示する機能ないの? セーブすれば当然出来上がったfxmlファイルの中身がコードになってるのは当然知ってるよ
つか、拡張子「fxml」の中身がコードじゃないワケないじゃん
何を勘違いしてるの? >>199
君の書き込みが曖昧だから伝わらないんじゃね? 197を読んで意味が理解できない人なんているのか
世界は広いな 「テキストで表示」とか書いてあれば通じていたかもね このスレ見てる人いたんだな
JavaFX使ってるの世界で俺だけだと思う位誰も使ってないから
ちょっと安心した kotlinが有名になってからはデスクトップGUI用としてちょっと注目されてると思う
それでも「おっそろしく全然使われてねーな」という感想しか出ないが…
まあJavaでデスクトップアプリケーションなんて修行か苦行のどっちかだからさもありなんって感じではあるが
どうせする苦労ならAndroidでやりたい GoogleがPCで動くAndroidのエミュレータの超高速なやつ作ってくれればそいつと一緒に配布して解決w 俺はGtK+とQtとJavaFXをこよなく愛している。 >>208
遅いのなら既にAndroidの開発ツールに付いている 実際さあ、Linux系統から生まれたGtk+とQtはかなり設計が洗練されてスマートだよね。
で、JavaFXもオープンソース系とOracleが組み合ったからいい感じになってる。
真面目にVisualBasicとC#は嫌いだよw scenebuilder9.0って、java9に対応した以外に進化した点ある? 見栄えの指定はCSSでやれってのはよくわかるのですが、見栄えの動的な変更ってのはどうやるんでしょうか
オブジェクトのプロパティを直接変更していた頃はそれこそ直接変更していたので楽だったのですが… 個人としてはJavaFXに無理に傾倒せずandroidのほうがいいような気がしてきた
ってかJavaGUIでコード+FXML+CSSの分離ができてステキだということを学んでいつでも使えれば充分なのでは… 最終的にパソコンGUIアプリを作るのが目的なら他のたとえばC#でもUnityでもいいわけだしな
業務だとかで「ともかくもとりあえずは絶対にJavaでなければならない」なんて縛りがある人がJavaFX選ぶもんだ
あとはこういうので絶対うっかり変なの掴んじゃう癖のあるまぞい人w
とにかくGUIしたいって場合に開発環境のダウンロード量が少なくていいというのは人によってはメリットかね…
JavaFX自体は悪くないよ!きちんとしてるよ! デスクトップアプリケーションをUnityで作る事とかあるの? kotlinでもjavafxが使えるなら、これから盛り上がるかな? >>225
使えるんじゃないか?たしか前にググった時に試した人の書いたページ見つかったと思ったぞ。忘れたけど。
探してみ。 >>227
俺もみたよ
だから、kotlinが流行ればjavafxもツられて流行るかも!
って思ったんだわ FXML使った書き方がぜんぜんわかんない
FXML文法自体は別になんともないんだけど
そもそもFXMLに置き換えてもコントローラーってのが動かないしこれがいつ何をやってるのかもよくわかんない
とりあえず破綻するまでCSSと適当なクラス分けで行こうと思うの >>230
よしっ!お兄さんと一緒にトレーニングだ!
1)scene builder起動->適当にコントロール配置->右ペイン->Code->
fxidに依存性注入するためのidを入力->メニューのview->show sample controller skeleton->
"Full"と"Comments"にチェック->"コピー"押してソースに貼り付け。
2) 左ペイン->Document->controller->Controller classに貼り付けたソースのcontroller classのFQNを入力。
3)Ctrl+SでFXML保存してxmlの中身のコントローラ周り確認。
4)scene builderに戻って右ペイン->Code->さっきfxidを入力したフィールドの下にハンドラを登録するテキストフィールドが
並ぶから好きなハンドラに適当なハンドラ名前を設定。
5) 4)で設定したハンドラと同じ名前のメソッドをコントローラクラスのソースに書き込んでFXMLアノテーション付ける->
この時メソッドの引数はハンドラの対応するイベントの型にすること(javadoc嫁)
6)scene builderに戻ってメニューのPreview->Show Preview in Window->さっき書いたハンドラに対応する操作で動き出す
7)メニューのPreview->Scene Style Sheet->add a Style Sheet...でアプリケーションスタイルシート設定->
スタイルシート側を書き換える度に見た目が反映される
8)メニューのView->CSS Analyzer->適当なコントロールを選択->下にスタイルが設定できるCSS一覧が出てくる
9)メニューのPreview->118N->Set Resource...->プロパティファイル選択->適当なコントロールのテキストフィールドのギアアイコン->
Replace with internationalized String->テキストフィールドに%が付いたらプロパティファイルのキーを入力
10)メニューのFile-> New from Template->末尾に" - Localized"の付くテンプレート選べばコントローラ以外のスケルトンを事前に吐いてくれる
先にコントローラークラスにハンドラ書いてから2)をすると4)でハンドラ設定する時補完する。
ハンドラは特権コードで取得するからメソッドのアクセス修飾は気にしなくていい。
scene builder使って出来ることほぼ全て説明した。FXML直接書かないとできないこともある。
FXML使ったjavafxアプリケーションの書き方がわからないならサンプル嫁。 javaEEのリスナーってjavascriptみたいなonclickとかできるの? JDK 11でめでたくJavaFXは削除されることが決まって
標準GUIはSwing(とAWT)のみに戻るんだな >>233
薄々あり得ると思ってたが、まさか本当に…
これから勉強しようと思ってたし、フォントダイアログが
近いうちに追加されるのを楽しみにしてたんだが
まあ、いいや、作りかけのSwingアプリの制作を再開しやすくなったわ まあAppletはFlashがなくなるのに続けても将来性皆無だしな Applet も Java Web Start もなくなるということはサーバからクライアントに自動的にプログラムを持ってきてサンドボックス内で動かす仕組み自体がなくなるということ?
もうOracleは面倒見ないから自前で勝手に作ってやれと? Emscripten使うと、グラフィックを使ったC++アプリををブラウザでも使えるし、
CUIプログラムを、異なるアーキテクチャのサーバー上でも使えるようになって
便利な事がわかった。
仮想マシンのJVMが、wasmに変わる感覚。言語はJavaからC++に変わるが、
できなくなることは特にない。 JavaFXとOpenJDKをソースからコンパイルしてJava11で自前のJavaFXアプリをEclipseとIntelliJでビルドできた
モジュールよくわからん >>246
ま、そだね。OracleがJDKと共に配布しなくなるってだけだろう。 OpenJFXって、開発環境側に入れて.jarにバンドルすれば、OpenJDKのある各プラットフォームで動くの?
それとも、プラットフォームごとの実行環境側でビルド・インストールが必要? >>248
JDKの一部だった時代と違って、ひっそりと開発中止になることだってありえるのだから、
「だけ」というにはあまりにも大きい。 可能性だけ言ったらそうだけども
だからといってswing使うかって問われると疑問
javafxより良いもんが出てきたら別だけど
簡単には無くならない気がする
むしろjavafx以前にjava自体が没落してく方が可能性ありそう なんでこんな捨てられるんだよぉ・・・
FXがいいだよぉ >>250
大丈夫。君がメンテナンス続ければ終わらないから。 誰がメンテすんのかなこれ。オプソも現実は資本がある企業が入ってきてくれないと続かんから
個人じゃダメなんだよなあ >>254
Scene Builderを引き取ったGluonくらいしか心当たりがないけど、
巨大企業のOracleですら抱えきれずに棄てたJavaFXを、儲かっていそうにない
Gluonが拾ってどうこうできるとも思えない。 >>255
JetBrainsが引き取ってくれたらおもろいんだけどな
OpenJDK+JavaFx+kotlinでOracleに対抗して欲しい 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
ACQ3X みんなー、息してるー?
後発のguiツールキットはどれもいまいち普及しませんな
バインディングとかCSSとかやめたほうがいいんじゃないの >>260
してないw
言語の標準GUIに同レベルのライブラリがあるマルチプラットフォーム言語に
移住しようと思っているのだか、そんな言語ありゃしねぇwww SwingとかJavaFXやる人ってのは、グリッドとかちょっと複雑なウィジェットを使いたいんだと思うんだよね
でも世の中はシングルページとタッチ操作みたいなどんどん単純なほうに行ってる
先は明るくないですな お手軽タッチでなんでもお手軽かつ効率よく操作できるなら苦労せんわけで Electron触りたくないなー
てかjavascriptいやだ >>265
だよね。一貫してJavaで書けるのがJavaFXのいいところ。 MicrosoftのF#ですら、VisualStudioから外されてないというのに( ゚д゚)! javafxっていうよりセンスの問題なんだけど、
なんか作ったアプリの見た目がダサいっていうか纏まらないっていうか……。
gui部品の配置とかのセオリーみたいなのが勉強できるサイトってないかな?
機能はちゃんと実装してるんだけど使い勝手もいまいちだし、
定番的な配置とか知りたい。 Spring Bootに移住することを考えているけど、Spring BootってJavaFXより難しそう。 大丈夫も何も、致命的な脆弱性でもない限り現状放置でしょ
JavaFX自体が廃止されたのに何言ってるんだ
OpenJFXなんか形だけでほとんど活動してないし、もうとっくに死んでることをいいかげん受け容れなさい javaでGUIならjavafxという記事を見たのですが中々情報少なく困っています。
しかもこのスレ見ると近々なくなるというレスもあるようですがswingにうつるのが懸命ですか? >>274
JavaFXを外すというアナウンスには、AWTやswingも移管先を探すと書いてあったので、swingなら大丈夫というものでもない。
Springのようなフレームワークに移るといういのも手かもしれないが、アノテーションがいっぱい出てきてよくわからん。 マルチプラットフォームのGUIアプリの最適解がJavaFXだったけど
ここまでお先真っ暗だと流石に不安
だからといって乗り換え先も無いし…
思いつくのはPythonにtkが入ってるのぐらいだ
Golang辺りの言語にGUIツールキット内包してくれんかな もはやElectron以外の選択肢が無い
10年前はマルチプラットフォームの代表がJavaScriptになるとはだれも思わなかっただろうな
こんなJavaに誰がした なんでデスクトップアプリケーションまでJSとCSSで開発せなあかんねん… >>281
正直それはある
CSSはともかJS書くぐらいなら普通にJavaで書きたい Rails と同じ。
実行環境が、Node.js になる
Electron, VSCode と同じ。
jQuery, Vue.js なども使う
Ruby + JS または、Java + JS。
画面は、HTML, JS
Haxe も同じ トランスパイル文化が構築済みのJavaScriptならまだ許せるけど
どう書いても負債にしかならないRubyだけは簡便してくれ クロスプラットフォームを叫んでMSに中指立ててJavaへ行った連中が、
今やElectronでMSのケツを舐めながらクロスプラットフォームやってるんだもんな
時の流れは残酷である それ言ったら
最初からOracleが出してた言語だったら
誰もJavaなんかやってないだろ
買収で会社変わる度にそんな事言ってたらプログラマやっていけん >>288
Electronはgithubが作ったけど
MSにgithubが買収された github買収前からMSは最大のElectronユーザー(もちろんVSCodeな)で、Electronにもコミットしまくってるよ 移住先として Spring Boot と Electron と JavaFX を比べるのって、間違ってる? Oracleのスタッフは、Java8がサポート終了したらOpenJFXの開発を辞めて、そこでJavaFX開発終了? もとからフリーだから誰かやるんじゃねえか?やらんか? >>294
オープンだからやる人がいてもおかしくはないが、現実にやる人が出なければそこで終わってしまう。
そして、OpenJFXは現実に開発する人が十分出てくるには、そのプログラムの規模に比べて使用人口が少ない。 そもそもの話として、普通のJavaのライブラリの様にGradle/Mavenで追加するだけで使えるのか?
それができなきゃ普及の見込みは全くないな。 >>296
使えるけど、プラットホームごとに必要なファイルが違うみたい。
ttps://skrb.hatenablog.com/entry/2018/07/25/220530
write once debug anywhereとか、これはもうだめかもわからんね。 オブジェクト指向って何っておもってJavaに手だして
でもCUIだけじゃつまんないからGUIも一緒にってことでFXやりはじめてたけど
どうすりゃええの? 使ってる身でこんな事言いたかないけど
GUIやるなら他の言語にしときな
C#辺りならJavaから乗り換えるのもそんなに苦じゃないよ
JavaFXはディスコンになるからこれから勉強するには適さないよ
ほんと迷惑な話だよ・・・ >>300
切り離されることで、最新のJVMへのリリース日対応が保証されなくなる。
開発中止にならないという保証もなくなる。
少なくとも切り離されたことで、かなり扱いづらくなった。
jmodsとかどうしていいかわからん。 >>302
でもJDK同梱になるから配布したのが動かなくなるわけじゃないだろ?
GUI部分にセキュリティの脆弱性が発見されるというのも考えにくいと思うし、
最悪の場合、ずっと古いのを使ってればいいのでは。 >>297
これまでのJavaFXも内部でプラットフォーム毎に違うファイルを使ってたはず
そういったファイルがしっかり作られているという信頼がおけるから
プラットフォーム非依存だと言ってただけでしょ
とはいえ、個人開発者がボランティアでやってるような状況になったのは、懸念がある。
オラクルもJavaFXエンジニアを雇用してるはずだけどどうするのか。 scene builder最初使おうとしたけど結局コード直接書く方が楽だな
細かい事やろうとしたらコード書かなきゃならんし、全部コードでやる方が良い 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フォルダに出力するようにしているので、
この処理で依存ライブラリだけを見てるからか?
開発環境と異なるビルドをする方法はあるんだろうか。 >>304
OCAにサインしてOracleに無償の献身を誓った個人開発者、だぞ
今の体制のままならOracleが完全に手を引いたら絶対に確実に間違いなくJavaFXは消滅する https://aoe-tk.hatenablog.com/entry/2018/03/18/185144
この記事によると今後も大丈夫みたいに書いてあるけど
どうせどの言語もライブラリもプロジェクト消滅とか停滞のリスクはあるんだし
俺は今後も使うよ フリーなのが救いだな。誰もメンテナンスしなくなっても最悪自分でなんとかできる。できなくてもできる人にやらせる事が可能かも知れない。金掛かるかも知れないがな。
ブロブライエタリだど握りしめられたまま死なれたら終わりだ。本当に二度と使えなくなる。 >>307
Oracle完全撤退後は、もはや何もコミットしてないOracleに対して何故かソースを寄贈し続けなければならない謎プロジェクトになるんだぞ
そんなものに進んで協力する奴がいたらよほどのドMだな
OCAを廃止しない限り、OpenJFXはどう転んでもコミュニティプロジェクトとして成立し得ないよ openjfx本家死んでもgluonのhard forkに開発者移るだけだろう。
サポートされるデバイスが増えるだけ。 >>311
そのGluonの収入基盤がまた不安なんだよね。Gluon Mobileで開発なんて話まったく聞かないし。
表に出てこないだけで、それなりに売り上げているんだろうか。 Gluonは囲い込んで金取ることばかり考えてて時代錯誤な印象だわ
元々JavaFXにタダ乗りしてXamarinの劣化コピーを作ろうとしてただけで自分達で積極的にJavaFXコアの開発を推進する気はなさそうだし
現状のまま売り逃げして終わりだろうな
こんなものに期待するくらいならJava to .NETコンパイラでも作ってXamarin使ったほうが遥かにマシだな >>313
Gluon はどうやって収入を得ればよかったんだろうか。 そもそもビジネスモデルが間違っているからどうやってもダメだよ
モバイル向けの開発ツールキットはあくまでプラットフォームビジネスの付属品であり、単独では商売として成立しない
この手の最大手であったXamarinですらダメだったのに、なぜそれよりあらゆる面で劣るオモチャで儲けられると思ったのか >>315
JavaFXにはどうあがいても絶望しか残されていなかったということか。
得をしたのは開発中止という格好悪い方法を避けて体よくJavaFXを捨てることが出来たOracleだけか... クライアントサイドもできたほうがJavaユーザー増えると思うんだけど
JavaFX自体は良い感じ 反例 : 過去20年のJava
まあ、よく頑張ったよ
もう楽にさせてやろう でもクライアントサイドが作れませんとなったら
新たにプログラミングを学ぶ人が選ばないと思う >>319
プログラミング必修化で、業務でなく趣味でプログラミングする人も増えるだろうけど、
確かに趣味でやるにはWebフレームワークでGUIというのは負担が重すぎる。
かくいう自分も趣味でJavaFXから入ったくち。 確かに趣味でやるのにGUIがやりにくいでは
選ばれにくくなるだろうな
やっぱWindowだしてやりたいもんなあ xamarinxamarin言ってるやつは何しに来たんだ?xamarinが最大手?馬鹿抜かせ。
日本以外の世界の水道・ガス・パーキングメーター類、ハンディPOS、中身組み込み向けjavaだぞ。
BD-Jもjavaだしxamarinどこにあるんだよ。
gluonに間違ってるところがあるとしたら組み込みにjava seベースとその上で動くjavafxを選んだことだろ。
組み込みじゃフットプリントでかすぎるし、リソース食い過ぎるし、
組み込みにRIAみたいないちいちアニメーションするguiも必要ない。
そういうのは富豪環境のエンドユーザー向けでやればいい。
xamarinと被る領域なら最近は組み込みまでnodeじゃん。 >gluonに間違ってるところがあるとしたら組み込みにjava seベースとその上で動くjavafxを選んだことだろ。
GluonはJavaFXするための会社だから、存在を全否定するのはやめて差し上げろ。 FXやりたいんじゃなくて、やりたいのは金儲けでしょ
そもそもGluonってJavaFXにタダ乗りしてXamarinモデルで一儲けしようとしてただけで、
JavaFXの本体の開発を進めるなんて全く言ってないし実際やってもいないのに的外れもいいとこ >>325
一応JavaFXに関する貢献でDukes Choice Award を2015年に取っているから
何もしていないということはないと思うが、
GluonにJavaFXの開発をする体力はないだろうという点には同意する。 筋違いの期待をしてる人には気の毒だが、そもそもGluonは本体はオープンソースですらない
別にGluonを非難する意図はないぞ
そこらへんのたかが一中小企業に対して、どう頑張っても自社の独占資産にならないGPLソフトウェアに全力投資しろというのは無茶な話だ 話題にしたいのはGluonが金儲けをするためにはどうするべきだったかではなくて、
JavaFXが安定して発展するにはGluonがどうすればよかったかなのだが、
>>316で言ったように最初から無理ゲーだったということでおk? ニコニコ大百科見てないなら黙ってりゃいいのにでしゃばりかw >>331
言いたいことわからないとか本気でいってんのかよ
そんなんだから普及しないんだよバカ >>333
>>331が>>329の言いたいことがわからないことと、JavaFXが普及しないことに因果関係はないと思うんだけど。
>>333の頭の中身は大丈夫なのでしょうか。 いや>>333のバカってのはいわゆるツンデレというやつだろう。 >>334
言いたいことがわからないっていってるんだから因果関係もない
お前の頭が大丈夫なのか
そもそもJavaFXの関係ある話なの? JavaFXのスレでなに期待してんだろうなこのバカ >>334
わかったから
ニコニコ大百科での暗躍も実を結ばなかったな
JavaFX
https://dic.nicovideo.jp/a/javafx
で
何がいいたいかくらいわかれバカ >>350
言いたいことあるなら言ってみろ?オラ
ゴミレスしやがって >>351
マジレスするけどJavaFXの人気ないでしょ そもそも次スレ立つかどうかもわからんけど
次は標準が外れるんだな(´・ω・`) >>354
JDK11からなので、もう外れているとも言える。 誤解した。スレタイから標準の文字が外れるという意味か。 流行らせれば良いんだよ。そうすればデファクトスタンダードになってやがてISOとかに登録されて標準化される。 JDK8のJavaFX使うのむっちゃ楽だったのにな〜 >>360
まったくだ。
JDK11だとどうすれば使えるのかすらよくわからん。 ちょっとスレチだけどいい?もしかして、Java標準のGUIってSwing? まあ、最初からライブラリに含まれているので標準と言えば標準かな。 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するよりモジュール化した方が簡単。 corretto8入れて解決
足りないものがあるなら言えば入れてくれるだろ >>365が言ってるのは自己完結型だな
>>366はOS共通のJDKでJavaFXやる方法 >>366
言っても入れてもらえなかったぽい。代わりに
https://bell-sw.com/pages/java-8u212
なんてものがあるらしいが、問題は
BellSoftがマイナーすぎてOracleやAmazonほどに世間の検証を受けていないことか。 gluonのjavafxバイナリがマイナーチェンジする気まったくないな。
SceneBuilderは自分でビルドすればいいとしてopenjfxめんどくさいのがな。
Liberica JDKはopenjfxは12みたい。11の新しいリビジョンはソースからビルドするしかなさそう。 >>365 >>366
あのさあ・・・
JDK8時代と比べて何も違わんとか言いたげなのは明らかにおかしいだろ
そりゃ過疎るわ FXML使う価値ある?直接コード書いたほうが楽なんだけど >>371
SceneBuilderを使ってGUI上でFXMLを作成できるのが売り。
生FXMLを書くくらいならコードを書いた方が楽なのには同意する。 でもSceneBuilderだとすぐに限界に到達するんだが・・・。
JavaFXってのは迷走してるおかしなプロジェクトなのでは。
初期の頃何か独自スクリプトがあって廃止されて、FXMLとかSceneBuilderも微妙・・・。
性能もコード資産の量もSwingのほうが上だと言われてる。 そもそもなんでOracleはSwingを続けるんじゃなくJavaFXを始めたのか?
JavaFXはモバイル対応してるというけどSwingをモバイル対応させればよかったのでは >>374
どこまで本当か知らないけど、SceneBuilderみたいなGUIツールでデザインしてから
Swingのコードを生成するのは難しかった(実際にそういうツールはあるが不安定)
ので、XMLを導入することにしたとか聞いたことがある。
また、SwingにはBindingとかのReactive Programmingのような仕組みがない。
Swingもそれほど使われていなかったから、この際パラダイムごと更新してしまおうと思ったら
Swing以上に使われなかったというオチがついてしまった。 プロパティバインド使うとモデル側コードにStringPropertyとかの
JavaFX関連コードが出てきて嫌なんだけど?
どこがモデルとビューの分離なの?
それでどうやってビューを別のGUIフレームワークに自由に切り替えれるの? それはモデルじゃなくてライブラリが受け持つ話では? 例えば。
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フレームワークでも使いまわせるように
クラス依存関係自体が分離されるべきだと思う。 >>376
自分も同じことを感じたことがあるので、言いたいことは概ねわかるつもり。
あるClass AModelの、あるフィールドAModel#fieldについて、Javaのお作法通りにしていれば
AModel#getField, AModel#setFieldをObjectPropertyを使って書けば、
AModelを継承したObserveableなModelクラスが出来上がるということなのかなと
解釈してそれ以上は考えないようにしている。
多分GUIフレームワークをJavaFXに一本化することを目標に開発されたので
他のGUIフレームワークでModelを使いまわすことは考えられてない。
Model作成の段階で最初からPropertyを用いるという前提だろうとは思う。
最初にも書いたように、他のライブラリやフレームワークと組み合わせようとすると
障害が大きいことには同意する。 JDKを作ってる人達なら
任意のオブジェクトの状態変更を監視するように作ることもできたんじゃないか?
オブジェクトの状態が更新されたらGUIも更新、
更新頻度が激しすぎるといけないから最速でも1秒に1回、とか。
それにしたってDB上で更新が発生したらどうするのかと思うけど。 >>380
できたとは思うけど、OptionalをObjectのスーパークラスにしなかったくらいだから、
そんな変更はできたとしても言語コンセプト的にもしなかっただろうと思う。
JavaFXがOptional以上に大事なものであればあるいいは...ないか....
DB上で更新検出はJavaFX以外でも難しそう。 プロパティバインドというアイデアは永続化されないモデルでだけ有効。
ゲームアプリならありそうだけど普通のアプリでは無さそうな気がする。
DBからオブジェクトを読み出す場合、読み出した時点のデータのまま変化しないし。
変化を検出できるのはもう一度DBから読み出した時だ。
最初独自スクリプトがあって廃止されて、プロパティバインドも微妙。
SceneBuilderやFXMLは一部の人達は使ってるのか知らんが俺には良さそうなものに思えないし。
JavaFXを設計してる人達の構想力まで怪しく思えてくる。
でもなぜかJavaFX好きではあるんだけど。 >>382
SceneBuilderはとっつきやすくて配置の微調整をやりながら構成するのに便利だったけど、
FXML内で反復(及び分岐)をしようとしたときと、動的に数値を変更しようとした時には絶望しか無いことには同意する。
まあ、コントローラー側と組み合わせてなんとかした。
プロパティバインドは、自分はゲームじゃないけどMVCで使っているうちにMVVMを再発明したw >>384
ありがとう。でもまだそれが存在しない頃の話だったんだ.... JavaFXが分離されてしまった今
JavaのGUIアプリは何を使うのが正解なのだろうか 自分で配布するjarファイルとかにはJavaFX含めても良いんだよな?
まあ多分俺はしないと思うが。 気晴らしに昔の話にレスしよう。
>>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にないのはコレクションベースのプロパティくらいかな。 JavaFXすごいなUIスレッドと別に描画スレッドがあるのか(WPFと同じ)
Swingでは描画もUIスレッドで行われていたから独自描画とか重いことするとキーイベントやマウスイベントが遅延してた
これがアプリが重いと言われる原因になることも多かったと思う
JavaFXでは描画スレッドが分離したおかげでUIスレッドが軽くなった
ただし中途半端な状態が描画されることもあるので実装には注意が必要
・スタイルクラス.blueを外す
・スタイルクラス.redを付ける
これだと色が青から赤に変わる前に一瞬デフォルトカラーが見えてしまうことがある(もちろん変更はUIスレッドでやってる)
・スタイルクラス.redを付ける
・スタイルクラス.blueを外す
といった工夫が必要 トランジション・アニメーションが描画スレッドだけで完結できないのが残念
プロパティ更新自体はUIスレッドで行われるから
マウスイベントハンドラなんかで重い処理をするとアニメーションがガタつく
結局、プログラマーが適切に非同期処理を実装しないといけないんだなあ SwingでもEDTで重い処理すんなってのは常識だと思ってたけど……
SwingUtilities#invokeLater(Runnable) とか…… ビジネスロジックをワーカースレッドで実行するのは当然分かってるよ
それでもUIスレッドでしかできないことってあるのよ 描画スレッド=UIスレッド=FXスレッドじゃないの?
描画スレッドとUIスレッドを別のものとして喋ってるのが良く分からん。
https://docs.oracle.com/javase/jp/8/javafx/interoperability-tutorial/concurrency.htm
トランジションあたりは良く調べてないけど、
その辺がスムーズに動かないならJavaFXベースのゲームエンジンは無謀なのかな。 JavaFXではUIスレッドとは別に描画スレッドがあるのよ
これがSwingとの大きな違い
UIスレッド=FXスレッド
描画スレッド=Prismスレッド
WPFも同様にUIスレッドと描画スレッドを持つGUIツールキットだ javafx+3dで描画軽くする方法ありますか?
大量にshape3dを表示すると重くて重くて
オクルージョンカリングなるものを実装しようにもjavaでの実例が見つからず厳しい やりたいことはこのように複数のBoxを組み合わせていきたい
https://imgur.com/p1mGbkc.png
ただ通常のBoxでは枠線が表示されないため現状1つのBoxにCylinderを12本くっつけて枠線として表示してる
他にはRectangleを6つ組み合わせて面表示しない方法
テクスチャ―を張り付けてそれっぽく見せる方法を試したけど今のところ一番良かったのがCylinderの手法
普通のBoxとワイヤーフレームを合体させる方法が一番軽量なんだけどTriangleMesh(三角形メッシュ)になってしまって見栄えが悪いのでNG
https://imgur.com/X6VrMC7
現状解決方法としてTriangleMesy→RectanleMeshにする
オクルージョンカリングを実装する
の2つが解決方法として考えられるがどっちも参考例がなくて厳しい
他の案でこんなのしたら解決できるのでは?とかこの案はこうすれば実装できる!とかあったら教えてほしい
質問スレチだったらすまん swing vs javafx自分の理解
メリット
・CSS
・prism。UIスレッドと分けられていて描画が停止しない。GPUが活用される。
・ラムダベースのAPI
・Scene Builderがある(個人的に便利と思わない)
デメリット
・バグが多い
・モデルとビューの分離がし辛い。StringPropertyとか使わない方が良さそう
その他
・ゲームエンジンも通常のGUIもjavafxで一本化できるかも
・標準から分離されたが、JDKと同じ範囲でサポートされるのか? >>404
まあそんな感じだね
Scene Builder不要は同意
ウィンドウリサイズに対応しようと思ったらHTMLのレスポンシブ対応みたいなのが必要になるから
FXMLでノードの入れ子構造を手書きするほうがいい
みんなHTMLは手書きするよね?ホームページビルダーみたいなWYSIWYG使わないでしょ
アプリの画面開発も同じ
JavaFXにバグが多いというのも事実だけどSwingと対比されるとちょっとなあ
だってSwingもバグ多くていまだにフィックス続いてるじゃない?いつ枯れるのよって
JavaFXはモデルとビューの分離も得意
プロパティバインディング使わないなんてもったいないよ! javafxで3dいじる人なんていないか…
悲しいなぁ >>407
javafx + java3dだ
書き方が悪かった >>408
自分も興味あるのでやりたいんだけど
資料情報が少ないしどっちも開発オワコンで・・・180度反転座標で混乱してるし
JavaFX 3Dは左上原点Y軸下方向+Z奥行+
2Dウィンドウと統合の為のブラウザ画面座標系
http://xiphia.info/wp-content/uploads/2014/12/fx_axis.png
Java3Dは画面中央原点でY軸上向き+画面手前Z軸+
一般的な3Dモデラーは右手座標系
http://xiphia.info/wp-content/uploads/2014/12/right_axis.png
2014で止まってる参考↓
http://xiphia.info/2014/12/08/124
JavaFXアーキテクチャ
http://xiphia.info/wp-content/uploads/2014/12/fx_arch.png
で、モデルの読み込みも自分で実装しなきゃいけなくて、
かつ、トゥーンシェーダーは無いみたいですね
これも自分で実装しろということみたいですね。
>>403でも2Dと統合してるのなら3Dのシリンダーで立方体の縁取りをしなくても
描画線幅のプロパティとかがありそうなもんですけどね
というかテクスチャ貼れるなら四角い「◻」画像貼った方が早そうな気がする >>409
プリズムエンジンがどういう動きをしているのか分かりませんが
OpenGLからJava 2Dに渡してシーンのステージを描いていて
ラインプロパティがCSSで変更可能なのか?どうかですね。 >>409
一応テクスチャで□画像貼り付けるやつもやったんだけど,シリンダーのほうが描画的には軽かったんだよね
自分のコードの問題かもしれないけど...
JavaFX3DのShape3DにBoxがあって一応線だけ(ワイヤーフレーム)表示がある
それと普通のBoxを組み合わせるとこんなんなるんだけど
やっぱり立方体だけど少し見栄えが良くない
でも数万個単位になるとシリンダー12個使うよりは当然軽いんだよねぇ...
https://imgur.com/3KfENIX.png >>411
根本的解決では無いけど
デフォルトで背面カリングされてるのかな
せめてシリンダー12個より細長くて黒い直方体12個のほうがポリゴンは減らせると思う >>411
>>412のJavaFX3Dをはじめてやってみたけどこんな感じ?
JavaFX_3D_Cube_Outline_Test
https://i.imgur.com/HY2x9vF.png >>412
背面カリングはデフォルトでされてるね!
なるほど
シリンダーじゃなくて直方体で試してみる! >>413
ポリゴンの数めっちゃ違うのね
そういうのも考えないと駄目だよな
軽くしたいって言ってるのに考えが足りんかった 最近書き込んでないけど3D軽くするアイデア募集してますよー
誰でもいいんだ…頼む… 別の 3Dでさ、軽くなるか重くなるかわからないけど
p5js の 3Dだとデフォルトで豆腐表示みたいですよ
輪郭の色とかも変えられた
https://i.imgur.com/7Y35cPf_d.jpg
https://i.imgur.com/CerH8PS.gif 40年近く前のアルゴリズム程度ならそんなに重たく無さそうだけどな
https://www.youtube.com/watch?v=co3ilmGNnTM
Java 3D Game from scratch - Stickman Sokoban (1982) 3D test Java - 3D Engine From scratch (with source code)
https://www.youtube.com/watch?v=co3ilmGNnTM >>418
案あざます!
ただjavafxで進んでるのでこのまま行きたいからちと厳しいです Java 3DもJava FXも情報少ないねー
別の質問なんだけどJava FXには
AndroidのWebViewみたいなブラウザ機能付けれないのかな?
WebGLで組み込めたりしないのだろうかと思っただけです。 >>419
>>420
わかりやすいのあざす!
gifサイズめちゃくちゃデカくて申し訳ない
やりたいことはこんな感じでいろんな立体を作れるんだ
1000個程度なら軽いんだが
数千になってくるとカクつき始めてしまう
数千個メモリにある状態でも描画を無くせば軽いので(見た目を透明にすれば軽いので)
描画処理に工夫出来ればと思ってるんだ
https://imgur.com/MMRc3G1.gif
否定っぽい意見で返すこともあるけど、こんなのはどう?って意見マジで助かるからバンバン欲しい
そこからアイデア生まれたりもするしね >>423
へーFX 3Dでここまで出来てるんだ面白そうだね
良いね👍
自分にはそれだけのプログラミング技術がないorz
ちなみにそれはシリンダーを直方体にしたら少しはマシになったやつのかな?
マイクラのはどうしてんでしょうかね?
インスタンスを 3D色ペンにしてるというより
objローダーか何かで読み込んでるのかな?
【MineCraft】 Mononoke hime Deidarabotti【でいだらぼっち】
https://www.youtube.com/watch?v=oVrPmdZ7oC4
プリミティブを毎度合成して作るくらいなら
3Dモデルを作って呼び出したほうが良いかもね もうひとつこっちは純粋なjavafxの質問!
質問ばっかでスマン
自由な形のボタンって作れますか?
透過pngの形に合わせてボタンの形と見た目も変わる感じ
わかりにくいgifだけどこんな感じでオシャレなボタンを作りたい
https://imgur.com/jRWHAuD.gif
例として矢印型のボタンを作るとか!
調べた限りボタンに画像を貼り付けるくらいしか近い資料はない
別の手法として2枚の画像を重ねておいてマウスが重なったら表示を変更する
この手法でボタンみたいにマウスが重なった際の見た目の変更を設ける
でその画像にクリックイベントをつけるってのが考えられるんだけどとてもスマートとは言えない
こっちもわかる人いたりしたらお願いします! >>424
シリンダー直方体にしたら多少良くなりました!
マジでその少しでもありがたい!
マイクラは凄いよねぇ
あの膨大なブロックの描画を可能にしてるんだから サポート終了だしJava FXやってる人少ないんだろうなー
自由形状ならペイントのポリゴンでポイント指定しまくって書けそうだけど
ボタンとなるとマウスの座標判定いるのかな・・・
https://docs.oracle.com/javase/jp/8/javafx/api/javafx/scene/paint/ImagePattern.html >>422
JavaFXにもWebViewあるよ
エンジンはWebKit >>425
非矩形Nodeはclipすることで作れる
clip範囲外はマウスイベントも発生しない >>427
>>429
ありがとうございます!
こっちはいけそう!
お酒入れてしまったので明日やってみます! >>423
表現力高めようとしたら結局テクスチャーになると思う。
それとご存知かもしれませんが
JavaFXに移植出来るかどうかわからないけど
three.js のexampleにボクセルペインターってのがありますので
JavaScriptのソースコードが右下のアイコンから見れるので参考にしてみてはどうでしょうか?
既に参考にされてるのなら申し訳ない。
https://threejs.org/examples/webgl_interactive_voxelpainter.html 上の方でスレッドアーキテクチャの話出てたけどここに書いてあった
https://docs.oracle.com/javafx/2/architecture/jfxpub-architecture.htm#sthref4
描画前(アタッチ前)のシーングラフはユーザーが作成したスレッドで構築(最後のアタッチだけrunLaterか)
描画中(アタッチ済み)のシーングラフはFXスレッドで操作する
描画自体はPrismスレッドで処理する
メディア処理専用のスレッドもある
FXスレッドをsleepさせると描画が停止するから、FXスレッドが描画しているのかと思っていた。
FXスレッドが停止するとパルスがスケジュールされないからPrismスレッドが描画内容を更新しないということか。
FXスレッドに重い処理をさせるとパルス遅延で60fpsでなくなるが
描画中のGUIの更新はFXスレッドでやれと。
コーディングに独特な意識が必要そう。
> This introduces a lot of issues,
AWTはスレッドアーキテクチャのせいで問題が多発していたとあるし
SwingはAWTを拡張したものとあるから恐らく同じ問題を抱えているだろうし
基本設計としてはFXの方が良いんだろうな。
ちょっとしたアプリならFXの出来合いのコンポーネントとライブラリで簡単に作れるし
jdkで勝手にクロスプラットフォームになるしかなり良さそう 自分用のツールをこれで作ってみようとしたら使えるようにするまでがとんでもなく面倒くさいな
できあがったものを他人に使わせるのも面倒だしjavaによるGUI実施はやる気なくなる >>435
GUIの実装はどれもそこそこ面倒な気がするけど、
AccessとかVBA+Excelみたいなミドルウェア系は別すれば何だと楽? C#じゃ答えになってないだろ
WinFormsとかWPFとかUIツールキットじゃないと VSでGUI作るのが楽
Eclipseじゃ勝負にならん ビジュアルデザイナーを使ったGUI作成って楽かなあ?
なんかホームページ・ビルダーでHTMLを作るようなまどろっこしさを感じるんだよね
HTMLなんて補完機能の充実したエディタで書く方が楽じゃん?
DOMの階層構造を把握しやすいから
GUIも同じじゃないかな?
XAMLとかFXMLをエディタで手書きするほうが書きやすい
ビジュアルエディターだと階層構造を管理しにくいし
なによりウィンドウリサイズへの対応がやりにくい
リサイズ対応しようと思ったら構造管理しやすい手書きのほうが楽と思っちゃう あのぅJavaFXってAndroidアプリ画面GUIに使えますか? >>442
https://gluonhq.com/products/mobile/
これを使えば出来るかもしれないが、したことはないし、
出来たという話は聞いたことがない。 >>443
ありがとうございます!読んでみます
> JavaFXPorts is the open source project that brings Java and JavaFX to mobile and embedded hardware, including iPhone, iPad, Android devices, and the Raspberry Pi. デスクトップアプリの開発でJavaFX使ってるからFXPortsをAndroidで動かすのに興味はある
だがパフォーマンスはどうなんだろうか?
それとAndroidとの相互運用はどうなんだろうか?
たとえばインテント投げようと思ったらActivityの参照を得る方法が必要だよね
FXPortsでそういったAndroidネイティブアメリカンに介入する手立ても残されてるといいのだけど
>>444 試してみたらいろいろ教えてね JavaFXの未来が暗いのでWebアプリ方式にしようかと思っているのだけれど、
ObservableList(とTable連携)がないことを知って絶望している。 最近Andoridでアプリ作ったけどうんざりしたよ
Androidフレームワークの設計ひどすぎるでしょ
特にAndoidXは未完成でGoogleが何度も後方互換性のないAPI変更を繰り返してる
それに比べるとJavaのAPI設計ってとても良く出来てる
新API追加に何年も検討しているのも無駄じゃないんだなって
Androidの開発でもJavaFX使いたいぜ FXPortsやってみようかな openjfxってjava8バージョンは何でmavenにないんだ? >>449
Oracle版 jdk 8に含まれていたときの名残かな。
OpenJFXのページにもOracle版に入っているからそっちを使えみたいなことが書かれたいたように思う。
相当昔の話なので記憶違いかもしれないけど。 最近Androidアプリ作ってて思ったんだがAndroidのデータバインディングってクソだな
ViewのメンバーがObservable/WritableValueになってないからバインディングクラスを自動生成して実現している
その自動生成クラスの定義をレイアウトXMLに書かねばならずレイアウトファイルにロジックが介入してしまう
こういう悪い設計を見てしまうとJavaFXがいかに優れているか良く分かる
JavaFXはすべてがObservableなPropertyとして設計されてるのが素晴らしい FXが標準添付から外れてしまったので・・・
そしてSwingの新刊が2020/6に出てるのにビックリした JavaFX:Web、PC、モバイル向けの1つのコードベース
https://www.infoq.com/jp/news/2021/08/javafx-web/
JavaFXはクロスプラットフォームアプリケーションの基盤を提供するが、
JavaScript/Webクライアントがはるかに一般的であるため、業界全体での使用率は低い。
同様のクロスプラットフォーム開発トレンドに関するStackOverflowトレンドレポートでは、
JavaFXがほとんど変わらないのに対し、FlutterとReact-Nativeの相対的な上昇が示されている。
直接、数を比較すると、JavaFXのUdemyの受講者は120,000人であるが、
React-Nativeの受講者は900,000人、Flutterの受講者は1,500,000人である。 Gluon FX Mobile は興味ある
ほんとに Android で JavaFX 使えるのかな?
Android には独自のアクティビティ・ライフサイル管理とかあるんだけど
そこと JavaFX の兼ね合いがどうなってるのか気になる
FX Mobile 使ったことある人いる? >>456
openjfxにパッチ当てたやつとgraal(おそらくこれもパッチ当ててる)のnative image。
androidがどれくらい動くかは知らないけど
これのgluonの話題が出てくるところから読むといい。
ttps://github.com/oracle/graal/issues/3036 すんません
sceneのキー入力イベントが特定のキーにしか反応しません(ctrlとかalt)
scene に貼り付けたTextAreaなら他のキーにも反応するんですがこういった選別はイベントのどこら辺で決められてるんでしょうか? JavaFXを利用したGUI
http://www.osaka-kyoiku.ac.jp/~fuji/lecture/keijis/lesson06.html まだ使ってる人いるのかな
Compose Multiplatformにいっちゃた? ∧_∧
(`・ェ・´) レスが少くても
0 0 気にしちゃダメ!
| | また次があるよ!がんばって!
∪∪ ワイはJNA経由でC#でこさえたUIつこてる
古いwin32システムコールも呼べるし
慣れると楽やで!