TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
オブジェクト指向の活用方法を教えて下さい
JavaScript情報交換所(プログラミング既習者専用)
ゲームプログラムなら俺に聞け33
くだすれDelphi(超初心者用)その58【Embarcadero】
sizeof(char)が必ず1でも、省略すべきではない
Kotlin 5
Java入門・初心者質問スレ Part.7
ATL/WTL Part7
【GNU】Emacs Lisp 【Elisp】
Java/C++ VS C# どっちが好きか教えて
【Java標準GUIライブラリ】 JavaFX スレッド
- 1 :2014/07/05 〜 最終レス :2020/06/04
- JavaFXについてのスレッドです
- 2 :
- MediaPlayerでどの環境でも再生できる音声フォーマットはmp3だけ?
FLACに対応してくれたらいいのに
- 3 :
- JavaFXで碁盤のようなものを作りたいと思っています。
碁石には画像を使いたいと思っています。
どんなクラスを使えばよいでしょうか。
- 4 :
- Imageクラス
- 5 :
- 2週間も長考してたのか
- 6 :
- http://www.buzzword.jp/img/face10.png
- 7 :
- ふち付文字など、少し装飾の凝った文字を、Textのインスタンスを2つ使って表現しようと思ってるんですが
どのようにするのがスマートでしょうか
理想としては、Textのサブクラスのように振る舞わせたいのですが、
Textにinterfaceが用意されてないので悩みます
Textにinterfaceがあれば、適当なGroupと共に2つのTextインスタンスを包含して委譲することによって、
Textを操作するのと同じ感覚で、2つのTextを一つのコンポーネント(Nodeというべきかも)として扱えるのですが・・・
それと、Textを継承してメンバにTextを持たせるとした場合、
コンポーネントを2つ描画させたい場合は、eventDispatcherでメンバのも呼び出せばいいんでしょうか?
このあたり、どのように描画をしているのか全く見当がついてません・・
- 8 :
- ちょっと待ってください
FXってjavaの「標準GUI」なんですか?
- 9 :
- 現実に使われていないものを標準と呼ぶのは無理があるよ
Javaの標準GUIはHTML
- 10 :
- 最近のJavaに標準搭載、ならOK
- 11 :
- 標準でネイティブのラッパーってかなり嬉しいと思うんだけど
流行ってないのは日本語ドキュメントがないから?
- 12 :
- JavaFXってシステムのHIDと描画機能だけ使ってフルスクラッチでGUI作ってるんだが
ネイティブのラッパーって何のこと?
流行ってないのはSwingがクソなまま放置されすぎて誰もGUI作るのにJavaを使わなくなったからだよ
- 13 :
- アプレット()と同じでブラウザで気軽に実行できなくなったのも×
- 14 :
- 標準だし、盛り上げていきたいね
- 15 :
- 企業がイントラで使うか組み込みで使うかくらいだね
いずれにせよオラクルに直接お布施してる方達が使うものであって
草の根レベルで盛り上げるようなもんじゃない
- 16 :
- Javaは無料です。
- 17 :
- 「無料だから」なのか
「無料なのに」なのか
- 18 :
- ただほど高いものはない。俺は、Javaでいやって言うほど思い知らされた。
あと、JDK8はWindowsXPでつかえないから嫌だ。
- 19 :
- XPを考慮しないといけない立場に親近感とともに同情を禁じ得ない
そのレベルの相手になるとJavaの扱いも本当にひどいんだよな・・・
- 20 :
- Java SEが動くスマホとかあればなぁ
- 21 :
- >>20
?
- 22 :
- 逆に考えるんだ
歴代のJavaMEを搭載した数々のモバイル端末は
Javaだったから流行らなかったのだと
- 23 :
- Write once, run anywhere という幻想
- 24 :
- JavaFXで2chブラウザ作ったからよかったら使ってみて
感想コメントしてくれるとありがたい
http://www.m9-www.com/
- 25 :
- な〜んか、WPFと同じ道を辿りそうだね・・ というより、むしろWPFの方がましか。。
俺はMSより、Oracleの方が好きだから、頑張れ!Oracle。Swingは趣味でやってたけど
金は稼げませんでしたww
- 26 :
- AndroidとiOSで使えたらいいのに
- 27 :
- JVMを仮想マシンじゃなくて実機として搭載したパソコンや携帯が普及すればあるいは…
- 28 :
- fxやろうとシーンビルだー使ってみたんだけど
これイベントのメソッドを自動で入れてくれないのかね
ないとやる気がでん・・・
- 29 :
- >>27
後発のJVM言語ですらプログラマ的にじれったい言語が多いんで
ここらで新しいVM言語を・・・
- 30 :
- >>8-9
世界標準言語エスペラント語、的な。
- 31 :
- FX触ってみてるけど
listviewの中身をシーンビルダーで自由に作れるるんだな
自分で描画しなくていいからおもしろくなってきた
けど流行らなそうだな・・・
- 32 :
- 流行らなそうというより、もう失敗して終わったと言っていいかと
- 33 :
- でもswingが大失敗したから、awtかFXの二択なのは変わらないと思う
- 34 :
- なんでawtが出てくるんんだよ?
- 35 :
- >>34
javaが普及したときに騙されて学習した(させられた)人がたくさんいるから
- 36 :
- スレッド制限するしクライアントアプリの描画ツールとしても弱い
- 37 :
- >>33
2択?
JavaでGUIというとHTMLのことを指すんだよ
- 38 :
- windowsとlinuxで動いてGUIをタグで記述して作れるってので
JavaFXを選ぼうかと思ったんだけどだめかね
htmlとかjava scriptはやりたくないからなぁ
- 39 :
- 駄目じゃない
ってかJavaFXが一番真っ当なやり方
- 40 :
- JavaFXで2chブラウザ作ってるやつもいるよ
http://www.m9-www.com/
- 41 :
- 専ブラでアフィ稼ぎでもやってんの?>>24でもそれの話してるやん
- 42 :
- QtかMonoでいいんじゃないの
- 43 :
- 名前が金融関係のアドオンのイメージしかない
しかもわざわざjavaを使った間抜け方面の
java関係の名前ってなんで毎回胡散臭いの
- 44 :
- MonoでWPFができたら一番いいんだけどな・・・
- 45 :
- もうQtもMonoもいらんだろ
Javascript + Node.js + webkitでいいだろ
- 46 :
- Atom Editorがそうだっけ?成果には期待してる
- 47 :
- Akkaと連携ってできるのかな
単純にFXのスレッド内でやるとフリーズするから
ServiceかTaskか、それともrunLaterでやれいけるのか?
runLayter使うのは英語の文献見つけたけど、結論部分の英語が
読めねぇから結局どーなんだよ!って感じ
- 48 :
- 楽しく組んでたんだが問題がおきた
ListViewでスクロールするほどメモリリークする
CellにImageViewとLabelおいてるだけなんだが・・・
updateItemで毎回画像読んでるわけでもないし、どこでリークしてるのやら
試しにメモリ少なくした仮想マシンでやってみたらOutOfMemoryでたわ
- 49 :
- JavaFX ListViewでぐぐった最初のサイトにその原因として疑わしい記述あったで。
そもそもで胡散臭い動きしよるなListViewはんは・・・
- 50 :
- JavaFXのUIは結局WebView主体の設計に落ち着くし、そうしたほうが絶対楽
ベースのノードに小分けしたWebViewオブジェクトをペタペタ貼り付けてそれぞれ独立したHTMLでデザイン作成もできるし、むしろSwingより楽で作りやすい
- 51 :
- >>7の縁付き文字だけど、けっきょく白文字のTextインスタンスの後ろに、
4つの黒文字Textインスタンスを上下左右に1ドットずつズラシて実現したんだけど、
もっとスマートなのありますか?
Textクラスに影エフェクト適用すると薄めた墨汁をシャツにこぼしたみたいになる
- 52 :
- 画面間のデータの受け渡しは、どんな感じの作りが一番いいの?
JDK付属のサンプルのログイン画面のやつ、何だか変な作りしてない?
- 53 :
- >>52
ベストじゃないかもしれないけど、自分はこうやってる
まず、Java FX 8 と Spring 4 を統合して、子画面コントローラを
親画面コントローラから DI する
http://javafx.steveonjava.com/javafx-in-spring-day-2/
要は子画面オブジェクトの管理を Spring に任せる。
たとえば、色々なルートで行ける共通子画面は、singleton スコープ
にしとけば、どこで @Autowired しても同じオブジェクトになる
親→子は、DI されている子画面コントローラのメソッドを呼び出せばいい。
- 54 :
- つづき
子→親は、Observer パターンを使ってる
http://www.techscore.com/tech/DesignPattern/Observer.html
親画面コントローラを Observer、子画面コントローラを Observable にして、
child.addObserver(parent); しておく。
子画面コントローラ側で this.setChanged(); this.notifyObservers() を
実行すると、親画面側の update(Observable o, Object arg) が呼び出される。
良かったら参考にしてください。
- 55 :
- >>53
S2Swingみたいな感じですかね?やはり、DIですか。
参照先のページ少し見てみましたけど、コントローラーとビューの関係をSpringでやる感じですよね?
MVCのモデルからビューへのデータ受け渡し部分って、シンプルかつ綺麗に出来たりするんでしょうか?
コントローラー、モデル、ビュー、どうしても何かしらお互いに依存する作りになりませんか?
一人で開発する分にはいいですけど、複数人、大勢で分業して開発するとなると、
この人にビューだけの実装を、あの人にモデルだけの実装、この人にコントローラーだけの実装みたいに、きれいな分業での開発を考えるのは、無理がありますか?
- 56 :
- >>55
MVCの要約
■コントローラクラスの仕事
1.すべてのインスタンスの作成はこのコントローラで行われる。
2.各インスタンス(モデルクラス)の操作(加工・参照・削除など)を行う
3.viewに操作後のインスタンスを渡す
4.viewクラスから必要とされるであろうアクションメソッドを提供する
5.アプリケーションの初期化処理やmainメソッド、などもここに配置する
■ビュークラスの仕事
1.ビュークラスはインターフェースを通してコントローラクラスを保持できるようにしておく
2.コントローラから渡されたインスタンスにもとずいて画面にデータ描画する
3.ボタン押下等の何らかのActionごとにコントローラクラスで用意された
アクションメソッドを実行するだけ
■モデルクラスの仕事
1.データベース、ファイル、またはネットーワーク上からのデータ入出力機能と、そのデータの保持
2.保持しているデータ加工、参照、削除などのメソッドのみの提供を行う
って感じで設計しておくと
view担当の人は渡されるインスタンスの仕様と、各アクションごとのコントローラのメソッドだけわかっていればコードが書ける
アプリケーション全体のことを知る必要はない。
モデルロジック担当の人はデータベースのテーブル構成や、ファイルデータの形式、ネットワーク上から送られてくるデータの形式のみわかっていればコードが書ける
何のアプリケーションかすら知る必要がない
なので分担が可能になる
- 57 :
- MVPだな
- 58 :
- >>56 さんどうもありがとう。全くその通りです
補足として、Java FX の具体的な話をすると、アプリ構成は
[FXML=Controller]--[Transaction script]--[Model] ===> (REST API etc)
--@FXML--|--@Autowired--------------------|
みたいな感じにしてる。
それぞれ DI で連携しているので、自然と疎結合になります。
Transaction 以降には JFX を持ち込みません。目安は JUnit で単体テストできるように
そんなに大規模アプリを作っているわけじゃないけど、
まぁ数人で git を挟んでうまく回ってます
- 59 :
- 「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 :
- >>59
だったら、最初からSwingでいいじゃんww
- 61 :
- これほど全く魅力を感じない発表も珍しいなw
ずっと前からHTMLや.NETでできてることを今更…
- 62 :
- どうしてもJavaじゃないとだめってひとには朗報なんかね
- 63 :
- Javaの汎用性はハンパない
Javaじゃないとだめっていうよりwebアプリ勉強でJava勉強してたらクライアント系も結構作り込めるしAndroidもいけるし最高だわって。感じ
- 64 :
- 俺はswingしらないからfxでいいかって感じで触ってる
- 65 :
- Java,JVMに関係する言語も多い
Scala,Python,Ruby,Processing
- 66 :
- androidでデスクトップアプリを作れるようにすればいいのに。
- 67 :
- 縦書きの文章を巻物みたいに右から左にスクロールさせるためにHBoxにLabelを貼りそのHBoxをScrollPaneに放り込んで
scrollPane.setHvalue(scrollPane.getHmax());
としてやれば画面初期表示時にスクロールバーが右端に行くと思ったらできませんでした
どなたか解決方法わかる方お教え願えませんか?
- 68 :
- JavaFXでモーダルウインドウを作成した際に、そのウインドウをタスクバーに表示しないようにしたいのですが、どうすれば良いのでしょうか?
- 69 :
- javaでオフラインのゲーム作るとしたら
fxで開発したほうがいいのかねえ
難しいねえ
- 70 :
- どうもJavaFXは実装の詳細がかなり隠蔽されている印象でまどろっこしく感じた。
prism描画エンジン自体を直にたたきたい場合はどうすればいいのだろう?
SwingのGraphics2Dみたいな、描画はこのクラスが受け持っています、
みたいのはないのだろうか?
- 71 :
- それが嫌ならJavaなんか使うな
- 72 :
- Prismのソース見たけどいかにも内部だけで使う用の薄くて雑なラッパーで、
とてもじゃないけどパブリックAPIとして公開できるような代物じゃないね
- 73 :
- 3Dはハードウェアアクセラレーションが効かない場合は
自前のアルゴリズムで描画するのかな?
それともそんな機能はついていない?
- 74 :
- 3D+ソフトウェアレンダリングはサポートされてないし予定もないんだとさ
RORA(笑)
- 75 :
- Swingに、今風の丸っこいスキンを付ければそれで良かったのに…。
- 76 :
- windows mobileにしろ、携帯javaアプリ全盛期にしろ、舵取りに大失敗したツケはでかいのさ。
- 77 :
- 2DでLook And Feelを洗練してくれればそれで良かったのになぁ
3DやるならFXの方向性でいいんだけど、3D必要なクライアントアプリって普通の業務じゃあ無いよな
ゲームに特化するならそれはそれで需要ありそうだが
- 78 :
- >>77
ハッキリ言って、swing以外、使う気にもなれないゴミ
事実殆ど使われてもいない。
空気未満の存在だわ、FXなんて。
- 79 :
- swingですら製品として一切のバグが無くても苦情が来るレベル
- 80 :
- 最早無償のWindowBuilderでswtが現状通りこの先も作られ続けてる予感が。
- 81 :
- 音楽制作畑のソフトでFinaleやLiveっていう
有名なやつはどうやらJAVAでSwing?FX?で作られてるっぽい。
アプデするとJAVAのインストール要求されたし入力エラーのMsgがJAVAまんまのExcepionでわろた
- 82 :
- どなたか助けてください。
JavaFX8のWebViewにて大量の画像があるHTMLを読み込むと、一度にページ全体分の画像が読み込まれ、メモリを圧迫します。
※全て異なる画像ファイルの場合
WebkitでもChromeは可視領域の画像を随時読み込み、キャッシュしていないように思います。
WebViewだと全体がキャッシュされちゃうのかな。
初歩的やスレ違いならすみません。
- 83 :
- 標準なんだからこれからはJavaFXを使って行ったほうがいいっていうのが初心者の俺の意見なんだけどどうしてJavaFXはだめなんですか?
ちなみにパソコンのスペックが低いのでeclipseが重すぎて今は勉強してない
- 84 :
- >>82
低スペノートでchrome使ってるけどまとめサイト見る時画像がたくさんあると固まるので違うと思う
- 85 :
- >>83
JavaFXがどうというより、JavaでGUI自体もう絶滅に近いから
- 86 :
- JavaFX Scene Builder 1.1
の頃にちょこちょこ触って今後のバージョンアップに期待と放置してたら、
いつのまにかOracleからのバイナリ配布無くなってるのね
オープンソースに任せたから欲しけりゃ自分でビルドしーやw
ってか?
OracleもうJavaFXに飽きちゃったん?
- 87 :
- FXはもとから正式にOracleとライセンス契約してる法人向けという色が強い
- 88 :
- >>82
まだ、実装もこなれてない可能性が。
webviewだとすると、画面上に表示されてない部分をjsから操作して隠すstyle="display:none;"ことはできるのかな?
- 89 :
- <?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 :
- 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 :
- 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 :
- > ただ、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 :
- ChromeのNPAPIサポートが終わったらJavaFXも終了?
- 94 :
- そもそも始まったことがないだろ
Oracleに大金を献上してる天上界の方々が組み込みに使ってるくらいで
- 95 :
- しかし個人レベルなら決して使い勝手悪くはないと思うんだよな
- 96 :
- 俺もそう思う
- 97 :
- ボタン押して、処理を実行する場合
処理が終わるまでボタンを使用不可にしたいけどどうやって書くの?
- 98 :
- >>97
onActionでButtonをdisableにして処理スレッドを呼び出して、
処理の最後でイベントなりrunLaterなりでButtonをenableにすれば良いのではなく?
- 99 :
- >>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 :
- Stageが最大化したことを取得するイベントが見当たらなかったのですが、どのように実装すれば良いのでしょうか?
- 101 :
- fxだとwebブラウザ作れるって言うから、マジかと思って今作ってる
マジで作れてるからfxって神だと思ってるよ
タブの入れ替えが出来ないっぽいのが難点だ
- 102 :
- そんなもん.NETでもQtでも昔から作れるよ
Swingがゴミすぎただけ
- 103 :
- へー
- 104 :
- swingで作れたら良かったのにと思ってる
何とかタブブラウザっぽくなってきたけど検索が問題のようだ
マウスジェスチャーは別ツールに頼る
- 105 :
- 今はSwingからFXのコンポーネント使えた筈…
- 106 :
- FXって8で終わりそうなの?
開発続くなら触るが・・・
- 107 :
- レンダリングエンジンもってるのか
- 108 :
- JREの一般提供がいつ打ち切られてもおかしくないレベルで
クライアントJavaは消滅しつつある
- 109 :
- MSの工作員乙
- 110 :
- 残念ながらクライアントJavaを一番葬りたがってるのは他でもないオラクル様だよ
- 111 :
- flashはセキュリティ面で、silverlightは新規開発終了で終わりが近づいて、javafx登場する間も無くhtml5に変わってくタイミングなのかね。
java appletはセキュリティ強化とfxの進化も続いて出番あるかなと思ったけど、applet自体がセキュリティ強化で既存のappletが動かなくなって馴染みがなくなってる感じがする。
せめてホワイトリストで動けばと思うのだけど、証明書の問題が回避出来ないようで。
- 112 :
- Fxでタブブラウザを作ってます
「ハイパーリンクをホイールクリックで新規タブにページをロード」が実装できないです
色々参考にしながら、ハイパーリンクのDOM取得してgetAttribute("href")で
href属性を見るようにしたのですが、普通のサイトは取れてもgoogleの次へリンクとかはnullが取れてしまいます
WebViewでハイパーリンクから、正しい遷移先URLを取得する方法ってありますかね?
- 113 :
- Scene Builderで多角形を作る方法が判りません。
デフォルトで三角形ができますが、そっからそういう操作で角を増やすのかが謎です。
知っているかた教えてください。
- 114 :
- ×そっからそういう操作
○そっからどういう操作
- 115 :
- JDKを8u31から8u40に変えたらcanUndoメソッドとcanRedoメソッドが使えなくなった。
- 116 :
- ちなみにJavaFXでのこと。
- 117 :
- ここ、JavaFXのスレッドだったか。
- 118 :
- FXMLで簡単に似た目変えれるから好きなんだけどなぁ
ほんと趣味の領域だわ・・・
- 119 :
- 各種要因でCanvasの再描画を行っていて、
これらがいっぺんに発生したときには、
再描画をまとめてやりたいんだけど、
アイドル時間に呼ばれる処理って定義できるんですか?
- 120 :
- 少しずつだけど日本語のドキュメントが増えてるね。
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 :
- お
見ながらやってみるか
- 122 :
- ListViewをstaticで定義できないんだけど他のクラスからいじりたい場合どうすればいいの?
- 123 :
- JavaFXってそれ単体でタスク常駐作れないんだよね
これがホント改善されてくれたらいいんだけど…
- 124 :
- もっと早く出てたら色々状況も変わっていたのかもしれないけど
後出しだから出せたものだろうからなあ
- 125 :
- ListViewメモリ食い過ぎ
- 126 :
- JavaFX propertyと組み込み関数インタフェースの相性はなかなかいいな
XY座標を取るBiPredicateをチェーンさせてフィルタとしてプロパティに設定とか別の言語触ってる感覚
- 127 :
- 古いGPUだと実行できないようなんですが、GPUのチェックを回避する(?)とかして実行する方法はないでしょうか。
- 128 :
- テキストを印刷する時にフォントを強制的にパス化する方法ってあるかな?
システムにインストールされていないフォントを印刷する場合はこれをやってくれるのだけど
システムにインストールされているフォントでも同じようにパス化してくれると可搬性が高くて助かるのだけど
- 129 :
- jfxtrans-labsに以下の一行を発見して無事解決。地味に凄いなJavaFX
Path path = (Path) Shape.subtract(text, new Rectangle(0, 0));
- 130 :
- 俺が始めたからアゲ
- 131 :
- よし
盛り上げてくれ
- 132 :
- よし、ハゲてくれ
- 133 :
- オラクルってなんで Scene Builder のインストーラ配布やめたの?
なんかソースコードで配布してるみたいだが
- 134 :
- 誰も使わないからでしょ
フェードアウトさせていきたいんだよ
- 135 :
- >>127
-Dprism.order=j2d
- 136 :
- FXMLのリファレンスが無い時点でやる気ないの見え見え。
もうGUIはHTMLで、クライアントをFXのブラウザコントロールで作ろうと思ったら、ブラウザコントロール自体が旧式だったでござる。
- 137 :
- WebKit って旧式なん?
新式になるためには何サポートしてればいいの?
- 138 :
- MediaPlayerのチュートリアル試してみたんだが、最後まで再生した後の挙動が変だね
再生終わった状態で再生ボタン押しても反応なし
スライダー少し戻してから再生ボタン押すと一時停止して
更に二度押すと先頭から再生を始める
http://docs.oracle.com/javase/8/javafx/media-tutorial/playercontrol.htm
- 139 :
- TreeViewでcellFactoryをnullに設定した時の既定のTreeCellの定義はどこで確認すればいいでしょうか?
APIは追いきれなかったのですが、単純にTreeCell<T>()を使用している訳では無いようなのです
解りづらい質問で申し訳ないです
- 140 :
- java dayの資料見てみたけど
まだjava fxやる気はあるんだね
- 141 :
- tooltipが表示されたところにちょうどカーソルあったら表示と非表示繰り返してしまいます
回避方法ありませんか?
- 142 :
- まじ使ってるひといなそうだな・・・
- 143 :
- 開発終了しないのが不思議なレベル
オラクルのSI部門や大口顧客が使ってるんだろうな
- 144 :
- >>143
国際宇宙ステーションの管理ソフトは
JavaFXらしい
- 145 :
- 飛行機がJavaなんか使ってたら、その飛行機には絶対に乗らないけどな
それとも、業務向けのJava環境とか作って内緒で使ってるのかな
- 146 :
- 何れ飛行機も計器類が全部まとめられてタブレットに表示されてそれで操縦するようになるんだろうなあ
- 147 :
- そして飛行機に乗る時にタブレットやケータイを全員取り上げられる
- 148 :
- >>145
スペースシャトルの航空管理システムもJavaだぞ
- 149 :
- >>148
OracleのJDKじゃなくて、何千万円もするようなjava開発環境つかってるんだろうな…
- 150 :
- >>149
ところがどっこいOracleのJDKなんだよなぁ・・・
- 151 :
- 外からハッキングされて落ちるわけだ
- 152 :
- >>133
超亀だけどアーカイブの中にあるな
リンクはちゃんと直して欲しい
- 153 :
- 現在はここです。念のため
http://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html
- 154 :
- 最新版のビルドはここか
http://gluonhq.com/labs/scene-builder/
- 155 :
- 最新版落としてみたけどどうも挙動が変だな
アーカイブの2.0に戻した
- 156 :
- TextFieldでアンドゥがキャレットの移動まで記録しちゃうんだけど、
文字列の更新だけ記録させることって出来ますか?
- 157 :
- Ctrl+ZやCtrl+Yを押したときに、文字列が更新されるまでundo()やredo()を繰り返し呼ぶとかやってみたけど、
適当にアンドゥ→キャレット移動→リドゥしようとして出来ずに(´・ω・`)
- 158 :
- ある程度使ってみたけどよく出来てると思う
ウインドウもかなり低レベルで描いてて本気を感じる
>>157
アンドゥ実装あるけど貧弱だよな
継承もできないし
- 159 :
- Linuxでも動かしたいためにJavaFXやってみるわ
- 160 :
- 久しぶりにTornadoFXのサイト見たらドキュメント含めて以前より充実してたので、
IntelliJでサンプル動かしてみたけど、これすごくいいね。
scalafxからこっちに乗り換えることにした。
- 161 :
- 宣伝乙
- 162 :
- いまいち流行らないね
- 163 :
- そこそこ好きなんだけどな
- 164 :
- みんなどうやってテストしてる?
- 165 :
- printf
- 166 :
- ボタンを押す
- 167 :
- guiのテストは手動、目視だわな
- 168 :
- 新人に押し付ける
- 169 :
- Spinnerを使おうとしたら、ユーザーがEnter押すまで値が代入されなくて困ってます。
Spinnerでユーザーが値を変更したら動的にそれを受け取る方法ってありますか?
- 170 :
- SpinnerのvaluePropertyを適当なものにバインドすりゃええんとちゃうん?
- 171 :
- 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 に直接文字を書く方法が知りたいです。
なんらかの代替案でもかまいませんので、教えていただけると助かります。
- 172 :
- PrinterJob.createPrinterJob().showPageSetupDialog(new Popup());
でキャンセルボタンを押した時の戻り値が、
Linuxではfalseだけど、Windowsだとtrueになるみたいなんだけど、自分だけ?
それとも誰もこんなもの使っていないから、気づかないだけ?
- 173 :
- そういやPrinterJob使ったことないな…
- 174 :
- NetBeansからFXML開くのにSceneBuilderがエラー吐いてて悩んでたけど
Desktopにプロジェクト置いていたのが問題だと言うことが分かった
なんでやねん・・・
FXなかなかいいと思うんだがなぁ・・・
- 175 :
- 誰も使ってないんだから開発環境が糞なのは仕方ない
- 176 :
- 覚えるためにWPFで作ったのを移植してるけど
なんというか逐一躓く
WPFの方が作りやりやすいわ
まぁjavaの仕様が分かってないのもある・・・
- 177 :
- Windowを画像で切り抜いてて驚いたけど
Windowsならデスクトップ解像度以上の画像で切り抜きできるね
LinuxのUbuntuだとデスクトップ解像度までになった
- 178 :
- そんなことはない
- 179 :
- Linux詳しくないからよく分からないんだけど
起動時だとウィンドウをデスクトップ外にはみ出すことができない(マウスドラッグでウィンドウ移動できるようにしてる)
このままだと画像がデスクトップ内に切り取られる
Alt押しながらでウィンドウを移動してデスクトップからはみ出る状態にしてるときに画像をセットし直すと切り取られない
ウィンドウマネージャの仕様なのかいな
解決方法あるんだろうか・・・
transparentしないタイトル付きのウィンドウならそんなことはならないけど・・・
- 180 :
- xwdでもはみ出してるとだめなんか?
- 181 :
- TableViewの指定行のTableCellってとる方法ありますか?
- 182 :
- >>180
xwdしても切れたままですね
Alt押しながらでウィンドウを移動してもはみ出してた部分はなくて切れたままです、これをxwdしても切れたまま
そのあとFileChooser表示してキャンセルで戻ったりすると表示される・・・
- 183 :
- Videoカードのバグじゃね
- 184 :
- 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という発想がそもそもダメなのか…
- 185 :
- fillRect とか、描画関数は、
canvas・ディスプレイなどの情報(グラフィック・コンテキスト、GC)を持っているだろ
悪い例なら、GC をグローバル変数にすれば、どこからでもアクセスできる
YouTube にある、T Umezawa の動画を参照
【Java】ゲームプログラミング超入門 Part01
https://www.youtube.com/watch?v=FsRHdL_r0pE&list=PLJ86MSrhnFKVQPf-E8y0FZKv7uzR4L4Dt
- 186 :
- >>185
Umezawa氏はFXに乗り換える前にメチャクチャお世話になりました。
モンストにアレンジしながら勉強してたいい思い出っす。
>>184の書き込みがかなり言葉足らずで申し訳ありませんでした。
表示自体は問題なく、クリック(FXMLの変更)時のエラーが出ているので
遷移時の間違い・インスタンスの生成ミス・
変更時にTimelineやMediaの停止が必要かもしれないなど
少しずつ問題点が見えてきたような気がします。
複合処理の解説ページがなかなか見当たらないので
「出来ない事はない」とのご教授を頂けて少し安心しました。
ありがとうございます。
- 187 :
- T Umezawa の動画で、関数化したら、GC が無いから、エラーになって、
ひとまず、GC をグローバル変数にしておくとか、
そういう悪い例を、見たような気がする
- 188 :
- gra = Graphics g; みたいなのは見ましたが多分違うやつかな
>>184無事解決出来ました、1ヶ月悩んでたのでめちゃ嬉しいっすw
どこを直したのかイマイチ分からなかったですが
Main getInstance(){ return iMain; }する時は
最初にiMain = thisしときなさいよ!ってことだった模様…
やっと中身に突入出来る… 3月から始めてapplet→FXの道は長かった…
>>185さんご教授ありがとうございました
- 189 :
- Java SE 8 / Java FX 8 概説
http://www.k-techlabo.org/www_java/javafx_main.pdf
- 190 :
- scenebuilder8.3.0 をwindows10マシンにインストールしたけど、起動すらしねえ
インストール先をcドライブ直下にすれば起動するけど、デフォルトのままにすると起動すらしない
ユーザー名を2バイト文字にしてるとアウトって言うオチか?
- 191 :
- 今時ユーザー名やフォルダ名が多バイト文字とかありえん
空白なしのアスキーのみが基本だ
人類は退化している
- 192 :
- 内部でUNICODEだったりしたら2バイトまたは4バイトかも知れんけどな
- 193 :
- Win10 の、program files フォルダは、セキュリティが厳しいから、ダメだろ
- 194 :
- マックを買う
- 195 :
- 解決した
ユーザー名を日本語以外にするのはなんかムカついたので、この方法を見習って解決した
日本語パス名でコケる場合の対処法
https://ogacha.wordpress.com/2013/10/22/
外国製ソフトの一部がバクを抱えているというだけで、安易に日本語ユーザー名を捨てられねえな
ちなみにnetbeansとかとの連携で気をつけなきゃいけないのは、scenebuilderに渡すfxmlファイルのパスも日本語を含んでたらアウトってこと
- 196 :
- あー。シンボリックリンクか。昔からUNIX系OSでは当たり前のように使われてるな。
- 197 :
- しつもーん
言語学ぶためにキーボードで動かす「メイン画面とサブ情報画面」というかんたんRPGっぽいゲームを作ってます
2つの画面をBorderPaneの左右で持ってるSceneにonKeyPressedを仕込んで全部のキー入力をとってたのですが
「アイテムウィンドウをListViewでサブ画面に開いてフォーカス渡す」ということをしたところ、アイテムウィンドウで各種キー押すとメイン画面が普段通り反応します
メイン画面のキーイベント取得は止まっていて欲しいのですが、どうするのが普通なのでしょうか
- 198 :
- もしかして、scenebuilder自身には、fxmlをコード表示する機能ないの?
- 199 :
- >>198
作った物保存したことある?
- 200 :
- セーブすれば当然出来上がったfxmlファイルの中身がコードになってるのは当然知ってるよ
つか、拡張子「fxml」の中身がコードじゃないワケないじゃん
何を勘違いしてるの?
- 201 :
- >>200
君の書き込みが曖昧だから伝わらないんじゃね?
- 202 :
- 197を読んで意味が理解できない人なんているのか
世界は広いな
- 203 :
- 「テキストで表示」とか書いてあれば通じていたかもね
- 204 :
- 質問を分かりやすく書くのはお前の責任だろ
- 205 :
- つか、マジでどう勘違いしたのか気になるわ
- 206 :
- このスレ見てる人いたんだな
JavaFX使ってるの世界で俺だけだと思う位誰も使ってないから
ちょっと安心した
- 207 :
- kotlinが有名になってからはデスクトップGUI用としてちょっと注目されてると思う
それでも「おっそろしく全然使われてねーな」という感想しか出ないが…
まあJavaでデスクトップアプリケーションなんて修行か苦行のどっちかだからさもありなんって感じではあるが
どうせする苦労ならAndroidでやりたい
- 208 :
- GoogleがPCで動くAndroidのエミュレータの超高速なやつ作ってくれればそいつと一緒に配布して解決w
- 209 :
- 超高速じゃなくてもよくね?
- 210 :
- 俺はGtK+とQtとJavaFXをこよなく愛している。
- 211 :
- 一番有名なFXアプリってなんなの
- 212 :
- asciidocFX(嘘)
- 213 :
- >>209
遅いのなら既にAndroidの開発ツールに付いている
- 214 :
- 実際さあ、Linux系統から生まれたGtk+とQtはかなり設計が洗練されてスマートだよね。
で、JavaFXもオープンソース系とOracleが組み合ったからいい感じになってる。
真面目にVisualBasicとC#は嫌いだよw
- 215 :
- QtはともかくGtk+ってスマートかな?
- 216 :
- scenebuilder9.0って、java9に対応した以外に進化した点ある?
- 217 :
- 見栄えの指定はCSSでやれってのはよくわかるのですが、見栄えの動的な変更ってのはどうやるんでしょうか
オブジェクトのプロパティを直接変更していた頃はそれこそ直接変更していたので楽だったのですが…
- 218 :
- 個人としてはJavaFXに無理に傾倒せずandroidのほうがいいような気がしてきた
ってかJavaGUIでコード+FXML+CSSの分離ができてステキだということを学んでいつでも使えれば充分なのでは…
- 219 :
- ハゲドゥ
- 220 :
- 最終的にパソコンGUIアプリを作るのが目的なら他のたとえばC#でもUnityでもいいわけだしな
業務だとかで「ともかくもとりあえずは絶対にJavaでなければならない」なんて縛りがある人がJavaFX選ぶもんだ
あとはこういうので絶対うっかり変なの掴んじゃう癖のあるまぞい人w
とにかくGUIしたいって場合に開発環境のダウンロード量が少なくていいというのは人によってはメリットかね…
JavaFX自体は悪くないよ!きちんとしてるよ!
- 221 :
- デスクトップアプリケーションをUnityで作る事とかあるの?
- 222 :
- うむ
- 223 :
- むぅ
- 224 :
- Qtは日本語がな。
- 225 :
- >>220
JREインストール不要のネイティブアプリを作る。
https://steveperkins.com/using-java-9-modularization-to-ship-zero-dependency-native-apps/
JigsawとAOTでElectronはぶっ飛ばせると。
- 226 :
- kotlinでもjavafxが使えるなら、これから盛り上がるかな?
- 227 :
- 来年はJavaFX元年になりそうだね
- 228 :
- >>226
使えるんじゃないか?たしか前にググった時に試した人の書いたページ見つかったと思ったぞ。忘れたけど。
探してみ。
- 229 :
- >>228
俺もみたよ
だから、kotlinが流行ればjavafxもツられて流行るかも!
って思ったんだわ
- 230 :
- これかな
https://qiita.com/SUZUKI_Masaya/items/be4e30bf448321912e8f
- 231 :
- FXML使った書き方がぜんぜんわかんない
FXML文法自体は別になんともないんだけど
そもそもFXMLに置き換えてもコントローラーってのが動かないしこれがいつ何をやってるのかもよくわかんない
とりあえず破綻するまでCSSと適当なクラス分けで行こうと思うの
- 232 :
- >>231
よしっ!お兄さんと一緒にトレーニングだ!
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アプリケーションの書き方がわからないならサンプル嫁。
- 233 :
- javaEEのリスナーってjavascriptみたいなonclickとかできるの?
- 234 :
- JDK 11でめでたくJavaFXは削除されることが決まって
標準GUIはSwing(とAWT)のみに戻るんだな
- 235 :
- マジで・・・
- 236 :
- 別プロジェクトになるようだな
- 237 :
- マジかよ…
- 238 :
- >>234
薄々あり得ると思ってたが、まさか本当に…
これから勉強しようと思ってたし、フォントダイアログが
近いうちに追加されるのを楽しみにしてたんだが
まあ、いいや、作りかけのSwingアプリの制作を再開しやすくなったわ
- 239 :
- Applet と Java Web Start も消えるようだね。
https://www.infoq.com/jp/news/2018/03/JavaFXRemovedFromJDK
- 240 :
- >>234
マジかよ
ハシゴ外し
- 241 :
- まあAppletはFlashがなくなるのに続けても将来性皆無だしな
- 242 :
- Applet も Java Web Start もなくなるということはサーバからクライアントに自動的にプログラムを持ってきてサンドボックス内で動かす仕組み自体がなくなるということ?
もうOracleは面倒見ないから自前で勝手に作ってやれと?
- 243 :
- Emscripten使うと、グラフィックを使ったC++アプリををブラウザでも使えるし、
CUIプログラムを、異なるアーキテクチャのサーバー上でも使えるようになって
便利な事がわかった。
仮想マシンのJVMが、wasmに変わる感覚。言語はJavaからC++に変わるが、
できなくなることは特にない。
- 244 :
- >>240
ほんとこれ
- 245 :
- ソダネー
- 246 :
- そうかー勉強してたんだけどなぁ
- 247 :
- 無くなるわけじゃないでしょ?
- 248 :
- JavaFXとOpenJDKをソースからコンパイルしてJava11で自前のJavaFXアプリをEclipseとIntelliJでビルドできた
モジュールよくわからん
- 249 :
- >>247
ま、そだね。OracleがJDKと共に配布しなくなるってだけだろう。
- 250 :
- OpenJFXって、開発環境側に入れて.jarにバンドルすれば、OpenJDKのある各プラットフォームで動くの?
それとも、プラットフォームごとの実行環境側でビルド・インストールが必要?
- 251 :
- >>249
JDKの一部だった時代と違って、ひっそりと開発中止になることだってありえるのだから、
「だけ」というにはあまりにも大きい。
- 252 :
- 可能性だけ言ったらそうだけども
だからといってswing使うかって問われると疑問
javafxより良いもんが出てきたら別だけど
簡単には無くならない気がする
むしろjavafx以前にjava自体が没落してく方が可能性ありそう
- 253 :
- なんでこんな捨てられるんだよぉ・・・
FXがいいだよぉ
- 254 :
- >>251
大丈夫。君がメンテナンス続ければ終わらないから。
- 255 :
- 誰がメンテすんのかなこれ。オプソも現実は資本がある企業が入ってきてくれないと続かんから
個人じゃダメなんだよなあ
- 256 :
- >>255
Scene Builderを引き取ったGluonくらいしか心当たりがないけど、
巨大企業のOracleですら抱えきれずに棄てたJavaFXを、儲かっていそうにない
Gluonが拾ってどうこうできるとも思えない。
- 257 :
- >>256
JetBrainsが引き取ってくれたらおもろいんだけどな
OpenJDK+JavaFx+kotlinでOracleに対抗して欲しい
- 258 :
- >>257
いいね!
- 259 :
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
ACQ3X
- 260 :
- ACQ3X
- 261 :
- みんなー、息してるー?
後発のguiツールキットはどれもいまいち普及しませんな
バインディングとかCSSとかやめたほうがいいんじゃないの
- 262 :
- >>261
してないw
言語の標準GUIに同レベルのライブラリがあるマルチプラットフォーム言語に
移住しようと思っているのだか、そんな言語ありゃしねぇwww
- 263 :
- とっととElectronにでも移行するか…
- 264 :
- SwingとかJavaFXやる人ってのは、グリッドとかちょっと複雑なウィジェットを使いたいんだと思うんだよね
でも世の中はシングルページとタッチ操作みたいなどんどん単純なほうに行ってる
先は明るくないですな
- 265 :
- お手軽タッチでなんでもお手軽かつ効率よく操作できるなら苦労せんわけで
- 266 :
- Electron触りたくないなー
てかjavascriptいやだ
- 267 :
- >>266
だよね。一貫してJavaで書けるのがJavaFXのいいところ。
- 268 :
- 俺はGTK一筋だけど、細長いぜ
- 269 :
- MicrosoftのF#ですら、VisualStudioから外されてないというのに( ゚д゚)!
- 270 :
- 共同ツール 1
https://seleck.cc/685
https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり
共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/
共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://www.sketchapp.com/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
Trello Chrome拡張機能プラグイン集
https://chrome.google.com/webstore/search/trello?_category=extensions
Slackプラグイン集
https://slack.com/apps
Sketchプラグイン集
https://sketchapp.com/extensions/plugins/
https://supernova.studio/
- 271 :
- javafxっていうよりセンスの問題なんだけど、
なんか作ったアプリの見た目がダサいっていうか纏まらないっていうか……。
gui部品の配置とかのセオリーみたいなのが勉強できるサイトってないかな?
機能はちゃんと実装してるんだけど使い勝手もいまいちだし、
定番的な配置とか知りたい。
- 272 :
- Spring Bootに移住することを考えているけど、Spring BootってJavaFXより難しそう。
- 273 :
- >>50
Nashornが廃止されるらしいが、JavaFXのWebViewは大丈夫なんだろうか。
Nashorn使っていないという説もあるらしいが...
https://kiidax.wordpress.com/2014/09/15/javafx-8%E3%81%AEwebview%E3%81%AEjavascript%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%AF%E4%BD%95%EF%BC%9F/
- 274 :
- 大丈夫も何も、致命的な脆弱性でもない限り現状放置でしょ
JavaFX自体が廃止されたのに何言ってるんだ
OpenJFXなんか形だけでほとんど活動してないし、もうとっくに死んでることをいいかげん受け容れなさい
- 275 :
- javaでGUIならjavafxという記事を見たのですが中々情報少なく困っています。
しかもこのスレ見ると近々なくなるというレスもあるようですがswingにうつるのが懸命ですか?
- 276 :
- 5IW
- 277 :
- 5IW
- 278 :
- >>275
JavaFXを外すというアナウンスには、AWTやswingも移管先を探すと書いてあったので、swingなら大丈夫というものでもない。
Springのようなフレームワークに移るといういのも手かもしれないが、アノテーションがいっぱい出てきてよくわからん。
- 279 :
- マルチプラットフォームのGUIアプリの最適解がJavaFXだったけど
ここまでお先真っ暗だと流石に不安
だからといって乗り換え先も無いし…
思いつくのはPythonにtkが入ってるのぐらいだ
Golang辺りの言語にGUIツールキット内包してくれんかな
- 280 :
- Electronでしょ
- 281 :
- もはやElectron以外の選択肢が無い
10年前はマルチプラットフォームの代表がJavaScriptになるとはだれも思わなかっただろうな
こんなJavaに誰がした
- 282 :
- なんでデスクトップアプリケーションまでJSとCSSで開発せなあかんねん…
- 283 :
- >>282
正直それはある
CSSはともかJS書くぐらいなら普通にJavaで書きたい
- 284 :
- Rails と同じ。
実行環境が、Node.js になる
Electron, VSCode と同じ。
jQuery, Vue.js なども使う
Ruby + JS または、Java + JS。
画面は、HTML, JS
Haxe も同じ
- 285 :
- トランスパイル文化が構築済みのJavaScriptならまだ許せるけど
どう書いても負債にしかならないRubyだけは簡便してくれ
- 286 :
- sageてるのにあがってる
なんだこれ?
- 287 :
- クロスプラットフォームを叫んでMSに中指立ててJavaへ行った連中が、
今やElectronでMSのケツを舐めながらクロスプラットフォームやってるんだもんな
時の流れは残酷である
- 288 :
- それ言ったら
最初からOracleが出してた言語だったら
誰もJavaなんかやってないだろ
買収で会社変わる度にそんな事言ってたらプログラマやっていけん
- 289 :
- ElectronでMS?
- 290 :
- >>289
Electronはgithubが作ったけど
MSにgithubが買収された
- 291 :
- github買収前からMSは最大のElectronユーザー(もちろんVSCodeな)で、Electronにもコミットしまくってるよ
- 292 :
- 移住先として Spring Boot と Electron と JavaFX を比べるのって、間違ってる?
- 293 :
- Oracleのスタッフは、Java8がサポート終了したらOpenJFXの開発を辞めて、そこでJavaFX開発終了?
- 294 :
- だろうな
- 295 :
- もとからフリーだから誰かやるんじゃねえか?やらんか?
- 296 :
- >>295
オープンだからやる人がいてもおかしくはないが、現実にやる人が出なければそこで終わってしまう。
そして、OpenJFXは現実に開発する人が十分出てくるには、そのプログラムの規模に比べて使用人口が少ない。
- 297 :
- そもそもの話として、普通のJavaのライブラリの様にGradle/Mavenで追加するだけで使えるのか?
それができなきゃ普及の見込みは全くないな。
- 298 :
- >>297
使えるけど、プラットホームごとに必要なファイルが違うみたい。
ttps://skrb.hatenablog.com/entry/2018/07/25/220530
write once debug anywhereとか、これはもうだめかもわからんね。
- 299 :
- オブジェクト指向って何っておもってJavaに手だして
でもCUIだけじゃつまんないからGUIも一緒にってことでFXやりはじめてたけど
どうすりゃええの?
- 300 :
- 使ってる身でこんな事言いたかないけど
GUIやるなら他の言語にしときな
C#辺りならJavaから乗り換えるのもそんなに苦じゃないよ
JavaFXはディスコンになるからこれから勉強するには適さないよ
ほんと迷惑な話だよ・・・
- 301 :
- 切り離されるだけで使えないことはないんだろ?
- 302 :
- FXがよかったになぁ・・・
- 303 :
- >>301
切り離されることで、最新のJVMへのリリース日対応が保証されなくなる。
開発中止にならないという保証もなくなる。
少なくとも切り離されたことで、かなり扱いづらくなった。
jmodsとかどうしていいかわからん。
- 304 :
- >>303
でもJDK同梱になるから配布したのが動かなくなるわけじゃないだろ?
GUI部分にセキュリティの脆弱性が発見されるというのも考えにくいと思うし、
最悪の場合、ずっと古いのを使ってればいいのでは。
- 305 :
- >>298
これまでのJavaFXも内部でプラットフォーム毎に違うファイルを使ってたはず
そういったファイルがしっかり作られているという信頼がおけるから
プラットフォーム非依存だと言ってただけでしょ
とはいえ、個人開発者がボランティアでやってるような状況になったのは、懸念がある。
オラクルもJavaFXエンジニアを雇用してるはずだけどどうするのか。
- 306 :
- scene builder最初使おうとしたけど結局コード直接書く方が楽だな
細かい事やろうとしたらコード書かなきゃならんし、全部コードでやる方が良い
- 307 :
- 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フォルダに出力するようにしているので、
この処理で依存ライブラリだけを見てるからか?
開発環境と異なるビルドをする方法はあるんだろうか。
- 308 :
- >>305
OCAにサインしてOracleに無償の献身を誓った個人開発者、だぞ
今の体制のままならOracleが完全に手を引いたら絶対に確実に間違いなくJavaFXは消滅する
- 309 :
- https://aoe-tk.hatenablog.com/entry/2018/03/18/185144
この記事によると今後も大丈夫みたいに書いてあるけど
どうせどの言語もライブラリもプロジェクト消滅とか停滞のリスクはあるんだし
俺は今後も使うよ
- 310 :
- フリーなのが救いだな。誰もメンテナンスしなくなっても最悪自分でなんとかできる。できなくてもできる人にやらせる事が可能かも知れない。金掛かるかも知れないがな。
ブロブライエタリだど握りしめられたまま死なれたら終わりだ。本当に二度と使えなくなる。
- 311 :
- >>308
Oracle完全撤退後は、もはや何もコミットしてないOracleに対して何故かソースを寄贈し続けなければならない謎プロジェクトになるんだぞ
そんなものに進んで協力する奴がいたらよほどのドMだな
OCAを廃止しない限り、OpenJFXはどう転んでもコミュニティプロジェクトとして成立し得ないよ
- 312 :
- openjfx本家死んでもgluonのhard forkに開発者移るだけだろう。
サポートされるデバイスが増えるだけ。
- 313 :
- >>312
そのGluonの収入基盤がまた不安なんだよね。Gluon Mobileで開発なんて話まったく聞かないし。
表に出てこないだけで、それなりに売り上げているんだろうか。
- 314 :
- Gluonは囲い込んで金取ることばかり考えてて時代錯誤な印象だわ
元々JavaFXにタダ乗りしてXamarinの劣化コピーを作ろうとしてただけで自分達で積極的にJavaFXコアの開発を推進する気はなさそうだし
現状のまま売り逃げして終わりだろうな
こんなものに期待するくらいならJava to .NETコンパイラでも作ってXamarin使ったほうが遥かにマシだな
- 315 :
- >>314
Gluon はどうやって収入を得ればよかったんだろうか。
- 316 :
- そもそもビジネスモデルが間違っているからどうやってもダメだよ
モバイル向けの開発ツールキットはあくまでプラットフォームビジネスの付属品であり、単独では商売として成立しない
この手の最大手であったXamarinですらダメだったのに、なぜそれよりあらゆる面で劣るオモチャで儲けられると思ったのか
- 317 :
- >>316
JavaFXにはどうあがいても絶望しか残されていなかったということか。
得をしたのは開発中止という格好悪い方法を避けて体よくJavaFXを捨てることが出来たOracleだけか...
- 318 :
- クライアントサイドもできたほうがJavaユーザー増えると思うんだけど
JavaFX自体は良い感じ
- 319 :
- 反例 : 過去20年のJava
まあ、よく頑張ったよ
もう楽にさせてやろう
- 320 :
- でもクライアントサイドが作れませんとなったら
新たにプログラミングを学ぶ人が選ばないと思う
- 321 :
- >>320
プログラミング必修化で、業務でなく趣味でプログラミングする人も増えるだろうけど、
確かに趣味でやるにはWebフレームワークでGUIというのは負担が重すぎる。
かくいう自分も趣味でJavaFXから入ったくち。
- 322 :
- 確かに趣味でやるのにGUIがやりにくいでは
選ばれにくくなるだろうな
やっぱWindowだしてやりたいもんなあ
- 323 :
- FXもやってくぞー
- 324 :
- xamarinxamarin言ってるやつは何しに来たんだ?xamarinが最大手?馬鹿抜かせ。
日本以外の世界の水道・ガス・パーキングメーター類、ハンディPOS、中身組み込み向けjavaだぞ。
BD-Jもjavaだしxamarinどこにあるんだよ。
gluonに間違ってるところがあるとしたら組み込みにjava seベースとその上で動くjavafxを選んだことだろ。
組み込みじゃフットプリントでかすぎるし、リソース食い過ぎるし、
組み込みにRIAみたいないちいちアニメーションするguiも必要ない。
そういうのは富豪環境のエンドユーザー向けでやればいい。
xamarinと被る領域なら最近は組み込みまでnodeじゃん。
- 325 :
- >gluonに間違ってるところがあるとしたら組み込みにjava seベースとその上で動くjavafxを選んだことだろ。
GluonはJavaFXするための会社だから、存在を全否定するのはやめて差し上げろ。
- 326 :
- FXやりたいんじゃなくて、やりたいのは金儲けでしょ
そもそもGluonってJavaFXにタダ乗りしてXamarinモデルで一儲けしようとしてただけで、
JavaFXの本体の開発を進めるなんて全く言ってないし実際やってもいないのに的外れもいいとこ
- 327 :
- >>326
一応JavaFXに関する貢献でDukes Choice Award を2015年に取っているから
何もしていないということはないと思うが、
GluonにJavaFXの開発をする体力はないだろうという点には同意する。
- 328 :
- 筋違いの期待をしてる人には気の毒だが、そもそもGluonは本体はオープンソースですらない
別にGluonを非難する意図はないぞ
そこらへんのたかが一中小企業に対して、どう頑張っても自社の独占資産にならないGPLソフトウェアに全力投資しろというのは無茶な話だ
- 329 :
- 話題にしたいのはGluonが金儲けをするためにはどうするべきだったかではなくて、
JavaFXが安定して発展するにはGluonがどうすればよかったかなのだが、
>>317で言ったように最初から無理ゲーだったということでおk?
- 330 :
- ニコニコ大百科での暗躍も実を結ばなかったな
- 331 :
- JavaFX
https://dic.nicovideo.jp/a/javafx
- 332 :
- >>330
ごめん、言いたいことがわからない。
- 333 :
- ニコニコ大百科見てないなら黙ってりゃいいのにでしゃばりかw
- 334 :
- >>332
言いたいことわからないとか本気でいってんのかよ
そんなんだから普及しないんだよバカ
- 335 :
- >>334
>>332が>>330の言いたいことがわからないことと、JavaFXが普及しないことに因果関係はないと思うんだけど。
>>334の頭の中身は大丈夫なのでしょうか。
- 336 :
- 何かと戦ってるんだろうなぁ
- 337 :
- いや>>334のバカってのはいわゆるツンデレというやつだろう。
- 338 :
- >>335
言いたいことがわからないっていってるんだから因果関係もない
お前の頭が大丈夫なのか
そもそもJavaFXの関係ある話なの?
- 339 :
- JavaFXのスレでなに期待してんだろうなこのバカ
- 340 :
- >>337
ごめん、言いたいことがわからない。
- 341 :
- >>335
わかったから
ニコニコ大百科での暗躍も実を結ばなかったな
JavaFX
https://dic.nicovideo.jp/a/javafx
で
何がいいたいかくらいわかれバカ
- 342 :
- ニコニコ大百科での暗躍も実を結ばなかったな
JavaFX
https://dic.nicovideo.jp/a/javafx
- 343 :
- 暗躍?
- 344 :
- >>338-342
うわぁ…
- 345 :
- >>344
うわああ・・・やばこいつwww
- 346 :
- >>343
暗躍じゃなきゃなんだよ
- 347 :
- >>343
ごめん、言いたいことがわからない。
- 348 :
- >>336
ごめん、言いたいことがわからない。
- 349 :
- >>344
ごめん、言いたいことがわからない。
- 350 :
- 煽りだけは一人前なんだから嫌なんだよ
クズが!
- 351 :
- スレ伸びてるやん!
- 352 :
- JavaFXの人気に嫉妬
- 353 :
- >>351
言いたいことあるなら言ってみろ?オラ
ゴミレスしやがって
- 354 :
- >>352
マジレスするけどJavaFXの人気ないでしょ
- 355 :
- そもそも次スレ立つかどうかもわからんけど
次は標準が外れるんだな(´・ω・`)
- 356 :
- >>355
JDK11からなので、もう外れているとも言える。
- 357 :
- 誤解した。スレタイから標準の文字が外れるという意味か。
- 358 :
- 俺の心の中では永遠に標準
- 359 :
- 伸びてるから期待してみたら・・・
まったくぅ
- 360 :
- 流行らせれば良いんだよ。そうすればデファクトスタンダードになってやがてISOとかに登録されて標準化される。
- 361 :
- JDK8のJavaFX使うのむっちゃ楽だったのにな〜
- 362 :
- >>361
まったくだ。
JDK11だとどうすれば使えるのかすらよくわからん。
- 363 :
- ちょっとスレチだけどいい?もしかして、Java標準のGUIってSwing?
- 364 :
- まあ、最初からライブラリに含まれているので標準と言えば標準かな。
- 365 :
- Amazon CorrettoがJavaFXをサポートしていると聞いて入れてみたが、だめだった。
色々ないものがあるらしい。
https://stackoverflow.com/questions/53876524/is-javafx-media-supported-by-corretto
- 366 :
- openjfx12からscenebuilder削除されたからgluonのハードフォークが名実ともにscenebuilderになったな。
プロパティファイル化けてんの直してほしいけど、今openjfxのスポンサーgluonだし、
openjfxの公式サイトがgluonでそこからダウンロード出来るのがgluonのビルドだし、
ただのミラーのはずだったgluonのportingのgithub issuesにopenjfx関連のissueあるしこのままjavafx乗っ取られたりしてなw
>>361,362,365
9以降にopenjfxの適当なdistroのモジュールパス通すだけよ。
gluonのsdkでも自分でビルドしてもビルドツール使ってもjavafxバンドルしたjre作っても何でも良いよ。
非モジュールのjavafxアプリをhogehogeするよりモジュール化した方が簡単。
- 367 :
- corretto8入れて解決
足りないものがあるなら言えば入れてくれるだろ
- 368 :
- >>366が言ってるのは自己完結型だな
>>367はOS共通のJDKでJavaFXやる方法
- 369 :
- >>367
言っても入れてもらえなかったぽい。代わりに
https://bell-sw.com/pages/java-8u212
なんてものがあるらしいが、問題は
BellSoftがマイナーすぎてOracleやAmazonほどに世間の検証を受けていないことか。
- 370 :
- gluonのjavafxバイナリがマイナーチェンジする気まったくないな。
SceneBuilderは自分でビルドすればいいとしてopenjfxめんどくさいのがな。
Liberica JDKはopenjfxは12みたい。11の新しいリビジョンはソースからビルドするしかなさそう。
- 371 :
- >>366 >>367
あのさあ・・・
JDK8時代と比べて何も違わんとか言いたげなのは明らかにおかしいだろ
そりゃ過疎るわ
- 372 :
- FXML使う価値ある?直接コード書いたほうが楽なんだけど
- 373 :
- >>372
SceneBuilderを使ってGUI上でFXMLを作成できるのが売り。
生FXMLを書くくらいならコードを書いた方が楽なのには同意する。
- 374 :
- でもSceneBuilderだとすぐに限界に到達するんだが・・・。
JavaFXってのは迷走してるおかしなプロジェクトなのでは。
初期の頃何か独自スクリプトがあって廃止されて、FXMLとかSceneBuilderも微妙・・・。
性能もコード資産の量もSwingのほうが上だと言われてる。
- 375 :
- そもそもなんでOracleはSwingを続けるんじゃなくJavaFXを始めたのか?
JavaFXはモバイル対応してるというけどSwingをモバイル対応させればよかったのでは
- 376 :
- >>375
どこまで本当か知らないけど、SceneBuilderみたいなGUIツールでデザインしてから
Swingのコードを生成するのは難しかった(実際にそういうツールはあるが不安定)
ので、XMLを導入することにしたとか聞いたことがある。
また、SwingにはBindingとかのReactive Programmingのような仕組みがない。
Swingもそれほど使われていなかったから、この際パラダイムごと更新してしまおうと思ったら
Swing以上に使われなかったというオチがついてしまった。
- 377 :
- プロパティバインド使うとモデル側コードにStringPropertyとかの
JavaFX関連コードが出てきて嫌なんだけど?
どこがモデルとビューの分離なの?
それでどうやってビューを別のGUIフレームワークに自由に切り替えれるの?
- 378 :
- それはモデルじゃなくてライブラリが受け持つ話では?
- 379 :
- 例えば。
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フレームワークでも使いまわせるように
クラス依存関係自体が分離されるべきだと思う。
- 380 :
- >>377
自分も同じことを感じたことがあるので、言いたいことは概ねわかるつもり。
あるClass AModelの、あるフィールドAModel#fieldについて、Javaのお作法通りにしていれば
AModel#getField, AModel#setFieldをObjectPropertyを使って書けば、
AModelを継承したObserveableなModelクラスが出来上がるということなのかなと
解釈してそれ以上は考えないようにしている。
多分GUIフレームワークをJavaFXに一本化することを目標に開発されたので
他のGUIフレームワークでModelを使いまわすことは考えられてない。
Model作成の段階で最初からPropertyを用いるという前提だろうとは思う。
最初にも書いたように、他のライブラリやフレームワークと組み合わせようとすると
障害が大きいことには同意する。
- 381 :
- JDKを作ってる人達なら
任意のオブジェクトの状態変更を監視するように作ることもできたんじゃないか?
オブジェクトの状態が更新されたらGUIも更新、
更新頻度が激しすぎるといけないから最速でも1秒に1回、とか。
それにしたってDB上で更新が発生したらどうするのかと思うけど。
- 382 :
- >>381
できたとは思うけど、OptionalをObjectのスーパークラスにしなかったくらいだから、
そんな変更はできたとしても言語コンセプト的にもしなかっただろうと思う。
JavaFXがOptional以上に大事なものであればあるいいは...ないか....
DB上で更新検出はJavaFX以外でも難しそう。
- 383 :
- プロパティバインドというアイデアは永続化されないモデルでだけ有効。
ゲームアプリならありそうだけど普通のアプリでは無さそうな気がする。
DBからオブジェクトを読み出す場合、読み出した時点のデータのまま変化しないし。
変化を検出できるのはもう一度DBから読み出した時だ。
最初独自スクリプトがあって廃止されて、プロパティバインドも微妙。
SceneBuilderやFXMLは一部の人達は使ってるのか知らんが俺には良さそうなものに思えないし。
JavaFXを設計してる人達の構想力まで怪しく思えてくる。
でもなぜかJavaFX好きではあるんだけど。
- 384 :
- >>383
SceneBuilderはとっつきやすくて配置の微調整をやりながら構成するのに便利だったけど、
FXML内で反復(及び分岐)をしようとしたときと、動的に数値を変更しようとした時には絶望しか無いことには同意する。
まあ、コントローラー側と組み合わせてなんとかした。
プロパティバインドは、自分はゲームじゃないけどMVCで使っているうちにMVVMを再発明したw
- 385 :
- mvvmfxというライブラリなかったっけ?
- 386 :
- >>385
ありがとう。でもまだそれが存在しない頃の話だったんだ....
- 387 :
- JavaFXが分離されてしまった今
JavaのGUIアプリは何を使うのが正解なのだろうか
- 388 :
- awt
- 389 :
- 時代はswt
- 390 :
- javaFXじゃなきゃやだぁ
- 391 :
- 遠慮なくどんどん使ってください
- 392 :
- JavaSEから外したのは残念
- 393 :
- >>389 swtてPureJavaでしたっけ?
- 394 :
- 自分で配布するjarファイルとかにはJavaFX含めても良いんだよな?
まあ多分俺はしないと思うが。
- 395 :
- >>387
Swingがあるじゃないか
- 396 :
- 気晴らしに昔の話にレスしよう。
>>374
>性能もコード資産の量もSwingのほうが上だと言われてる。
newt並に低レベルなウィンドウ周りとレンダラのパイプラインが一段少ないからそれはないと思う。
ハードウェアもPS世代と固定機能世代だし。
>>375
>Swingをモバイル対応させればよかったのでは
初めからjava meで動く。CDC+AGUIでswing含む。
>>376
>また、SwingにはBindingとかのReactive Programmingのような仕組みがない。
SwingLabが開発しててJSRもあったけどsunがjavafxに注力するから全部白紙になっただけ。
SwingApp framework, beans binding, timing framework, SwingX, JMediaは白紙後全部javafxで同じアイディア実現したよ。
swing teamが協力したし。
swingにないのはコレクションベースのプロパティくらいかな。
- 397 :
- JavaFXすごいなUIスレッドと別に描画スレッドがあるのか(WPFと同じ)
Swingでは描画もUIスレッドで行われていたから独自描画とか重いことするとキーイベントやマウスイベントが遅延してた
これがアプリが重いと言われる原因になることも多かったと思う
JavaFXでは描画スレッドが分離したおかげでUIスレッドが軽くなった
ただし中途半端な状態が描画されることもあるので実装には注意が必要
・スタイルクラス.blueを外す
・スタイルクラス.redを付ける
これだと色が青から赤に変わる前に一瞬デフォルトカラーが見えてしまうことがある(もちろん変更はUIスレッドでやってる)
・スタイルクラス.redを付ける
・スタイルクラス.blueを外す
といった工夫が必要
- 398 :
- トランジション・アニメーションが描画スレッドだけで完結できないのが残念
プロパティ更新自体はUIスレッドで行われるから
マウスイベントハンドラなんかで重い処理をするとアニメーションがガタつく
結局、プログラマーが適切に非同期処理を実装しないといけないんだなあ
- 399 :
- SwingでもEDTで重い処理すんなってのは常識だと思ってたけど……
SwingUtilities#invokeLater(Runnable) とか……
- 400 :
- ビジネスロジックをワーカースレッドで実行するのは当然分かってるよ
それでもUIスレッドでしかできないことってあるのよ
- 401 :
- 描画スレッド=UIスレッド=FXスレッドじゃないの?
描画スレッドとUIスレッドを別のものとして喋ってるのが良く分からん。
https://docs.oracle.com/javase/jp/8/javafx/interoperability-tutorial/concurrency.htm
トランジションあたりは良く調べてないけど、
その辺がスムーズに動かないならJavaFXベースのゲームエンジンは無謀なのかな。
- 402 :
- JavaFXではUIスレッドとは別に描画スレッドがあるのよ
これがSwingとの大きな違い
UIスレッド=FXスレッド
描画スレッド=Prismスレッド
WPFも同様にUIスレッドと描画スレッドを持つGUIツールキットだ
- 403 :
- javafx+3dで描画軽くする方法ありますか?
大量にshape3dを表示すると重くて重くて
オクルージョンカリングなるものを実装しようにもjavaでの実例が見つからず厳しい
- 404 :
- やりたいことはこのように複数のBoxを組み合わせていきたい
https://imgur.com/p1mGbkc.png
ただ通常のBoxでは枠線が表示されないため現状1つのBoxにCylinderを12本くっつけて枠線として表示してる
他にはRectangleを6つ組み合わせて面表示しない方法
テクスチャ―を張り付けてそれっぽく見せる方法を試したけど今のところ一番良かったのがCylinderの手法
普通のBoxとワイヤーフレームを合体させる方法が一番軽量なんだけどTriangleMesh(三角形メッシュ)になってしまって見栄えが悪いのでNG
https://imgur.com/X6VrMC7
現状解決方法としてTriangleMesy→RectanleMeshにする
オクルージョンカリングを実装する
の2つが解決方法として考えられるがどっちも参考例がなくて厳しい
他の案でこんなのしたら解決できるのでは?とかこの案はこうすれば実装できる!とかあったら教えてほしい
質問スレチだったらすまん
- 405 :
- swing vs javafx自分の理解
メリット
・CSS
・prism。UIスレッドと分けられていて描画が停止しない。GPUが活用される。
・ラムダベースのAPI
・Scene Builderがある(個人的に便利と思わない)
デメリット
・バグが多い
・モデルとビューの分離がし辛い。StringPropertyとか使わない方が良さそう
その他
・ゲームエンジンも通常のGUIもjavafxで一本化できるかも
・標準から分離されたが、JDKと同じ範囲でサポートされるのか?
- 406 :
- >>405
まあそんな感じだね
Scene Builder不要は同意
ウィンドウリサイズに対応しようと思ったらHTMLのレスポンシブ対応みたいなのが必要になるから
FXMLでノードの入れ子構造を手書きするほうがいい
みんなHTMLは手書きするよね?ホームページビルダーみたいなWYSIWYG使わないでしょ
アプリの画面開発も同じ
JavaFXにバグが多いというのも事実だけどSwingと対比されるとちょっとなあ
だってSwingもバグ多くていまだにフィックス続いてるじゃない?いつ枯れるのよって
JavaFXはモデルとビューの分離も得意
プロパティバインディング使わないなんてもったいないよ!
- 407 :
- javafxで3dいじる人なんていないか…
悲しいなぁ
- 408 :
- >>404
Java3Dじゃダメなんか...
- 409 :
- >>408
javafx + java3dだ
書き方が悪かった
- 410 :
- >>409
自分も興味あるのでやりたいんだけど
資料情報が少ないしどっちも開発オワコンで・・・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
で、モデルの読み込みも自分で実装しなきゃいけなくて、
かつ、トゥーンシェーダーは無いみたいですね
これも自分で実装しろということみたいですね。
>>404でも2Dと統合してるのなら3Dのシリンダーで立方体の縁取りをしなくても
描画線幅のプロパティとかがありそうなもんですけどね
というかテクスチャ貼れるなら四角い「◻」画像貼った方が早そうな気がする
- 411 :
- >>410
プリズムエンジンがどういう動きをしているのか分かりませんが
OpenGLからJava 2Dに渡してシーンのステージを描いていて
ラインプロパティがCSSで変更可能なのか?どうかですね。
- 412 :
- >>410
一応テクスチャで□画像貼り付けるやつもやったんだけど,シリンダーのほうが描画的には軽かったんだよね
自分のコードの問題かもしれないけど...
JavaFX3DのShape3DにBoxがあって一応線だけ(ワイヤーフレーム)表示がある
それと普通のBoxを組み合わせるとこんなんなるんだけど
やっぱり立方体だけど少し見栄えが良くない
でも数万個単位になるとシリンダー12個使うよりは当然軽いんだよねぇ...
https://imgur.com/3KfENIX.png
- 413 :
- >>412
根本的解決では無いけど
デフォルトで背面カリングされてるのかな
せめてシリンダー12個より細長くて黒い直方体12個のほうがポリゴンは減らせると思う
- 414 :
- >>412
>>413のJavaFX3Dをはじめてやってみたけどこんな感じ?
JavaFX_3D_Cube_Outline_Test
https://i.imgur.com/HY2x9vF.png
- 415 :
- >>413
背面カリングはデフォルトでされてるね!
なるほど
シリンダーじゃなくて直方体で試してみる!
- 416 :2020/06/04
- >>414
ポリゴンの数めっちゃ違うのね
そういうのも考えないと駄目だよな
軽くしたいって言ってるのに考えが足りんかった
Visual Studio Code / VSCode Part6
スレ立てるまでもない質問はここで 149匹目
自然言語処理スレッド その4
【分散型バージョン管理】 Mercurial 2【hg】
CoffeeScript
Java入門・初心者質問スレ Part.8
知ってるとプログラミングに役立つ数学知識
フリーソフトなどに使われる言語は?
簡単なプログラム言語って何?
関数型プログラミング言語Haskell Part32
--------------------
☆YOUちゃんのメルマガ ★2発目
フィーチャーフォン総合
PS4やるものがない
【ドイツ】新型コロナ感染者のうち175人は欧州有数の「日本人街があるデュッセルドルフ」を州都とする地域で確認 [03/05]
スズキとホンダの違いwwww
【スズキ】アルト ターボRS Part99
【SEGA】オンゲキ Part.11
シニア層でもできるフライトシムご教授ください
小西洋之議員「皆で、安倍真理教を打破しなければ」 ネット「国民の敵」「お前ら野党の方が宗教じみてる」「亡命されては?」
下衆なこと聞いてごめん。将棋は八百長ないの?
【沖縄県知事選】出馬意向の玉城デニー氏(衆院沖縄3区)が後援会に「もう少し時間かけたい」 音声データ、直接確認するよう求める声も
[転載]震源地検知!4六6[禁÷止]
関東学生 アメフトTOP8スレ 【ダッシュ立入禁止】
【天文学】やはり未知の素粒子か。ダークマターは原始ブラックホールでもなかった[04/02]
【乃木坂46】岩本蓮加応援スレ☆13【れんたん】
この謎の答えわかりませんか?
畠田好章
甘口辛口つぶやきスレッド143本目
【悲報】アベノマスク、汚れ付着・虫混入など不良品が既に1902件も出てくるwwxwxwxwxwxwxwxxwxwxwx [253542839]
元アイドリング外岡えりか12月8日(日)21:00〜22:00 BS12「カセットテープミュージック」に出演! 2.4
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼