TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
ふらっと C#,C♯,C#(初心者用) Part139
C++でXML(主にxerces)やろう!
関数型プログラミング言語Haskell Part29
国産オープンソースDIコンテナSeasar2 その16
VB.NET質問スレ(Part43)
[特設]サマータイム対応相談室
プログラミングのお題スレ Part11
C++相談室 part146
【論理】Prolog【初心者】
Pythonについて(アンチ専用)

【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が最大化したことを取得するイベントが見当たらなかったのですが、どのように実装すれば良いのでしょうか?


100〜のスレッドの続きを読む
メガデモを語る fr-08
JavaScript情報交換所(プログラミング既習者専用)
C#で仕事ある?
【信者】C++の問題点【アンチ】
【Java標準GUIライブラリ】 JavaFX スレッド
TopCoder
プログラミング未経験→月4万
ふらっと C#,C♯,C#(初心者用) Part143
【分散型バージョン管理】 Mercurial 2【hg】
初心者の俺が初めて覚えるプログラム言語
--------------------
人間関係コンサルタント「独身男性よ、『普通の子』キボンヌなんて言ってるから結婚できないんだ。 相手の短所を受け入れろ」 [324064431]
アなんでも雑ミ13
【蟻】アリ総合 17コロニー【飼育】
ここたま等 女児向けアニメ  s3
【悲報】チャリンカスさん、普通に追い越したバスに幅寄せだと因縁を付けて絡んでしまう [829252241]
高音がすばらしいヘッドホン
UCで森口博子の新曲が聞きたい
■■■  SEXエイズ汚染を隠す安倍晋三は失格!  ■■■
【本気】タクティカルトレーニング4日目【ネタ】
【大喜利】まこっさんファンクラブ8
さらざんまい ネタバレスレ Part.8
高低周辺同人ヲチ6
【小明有紀】鬼神童子ZENKI 6【宇治剛次】
「開成小学校」伝えた朝日新聞に多数の批判 「慰安婦と同じ」「安倍首相に謝罪すべき」「誤報なのか悪意ある捏造だったのか説明すべき」
☆瓦せんべい■かわらせんべい●1枚目●
【恒星間天体】太陽系の外からの珍しい訪問者「ボリソフ彗星」各地で観測 今年8月に発見
☆高血圧を語ろう・107 ★ワッチョイ★
パリの五つ星ホテルの外で喫煙していた日本人実業家、9400万円の高級腕時計を強奪される
違約発生!MMGアローズ!
【HKT48】豊永阿紀応援スレ★96【あき】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼