【Java標準GUIライブラリ】 JavaFX スレッド
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