Java低速GUI Swing & JavaFX 10

このエントリーをはてなブックマークに追加
933デフォルトの名無しさん:2013/10/29(火) 23:10:44.12
Comodoってやらかしたことがあったけど存続してたのか。
DigiNotarは潰れたけど。
934デフォルトの名無しさん:2013/10/30(水) 23:42:19.15
>>896
[Java] Java Applet & Web Start - Code Signing 日本語訳
http://orablogs-jp.blogspot.jp/2013/03/java-applet-web-start-code-signing.html
935デフォルトの名無しさん:2013/10/31(木) 00:30:44.10
がんばれロジ子
936デフォルトの名無しさん:2013/10/31(木) 00:56:54.07
>>934
記事が古い
937デフォルトの名無しさん:2013/11/04(月) 04:47:00.97
SwingのJPanelをまるごと、
JavaFXでエフェクトかけるとかってできる?
938デフォルトの名無しさん:2013/11/04(月) 07:18:15.98
あ、解決しましたー
939デフォルトの名無しさん:2013/11/13(水) 08:31:41.55
ubuntu 12.04 (x86_64)なんだけど、javafxの1.7.0_45, 1.8.0-ea (b106 dev prev)のtextfieldなどのコントロールの日本語のテキストの入力の実装は、入力しても表示がずれて使い物にならないし日本語は未だ未完成だね。
リリース8が2月?だから開発リミットまで3ヶ月だけど、これじゃあいくら間に合っても、linux版のjavafxの製品の品質はかなり期待できないだろうね。
linux版に投資せずwindow版にばかり投資し、大事なパーツなのにmicrosoft製品にいつまでも依存していると、そのうちmicrosoftからしっぺ返しを喰らうのに、oracleは未だに分かってないようだ。
940デフォルトの名無しさん:2013/11/13(水) 08:41:13.19
デスクトップとしてのLinuxなんて、中二病患者ぐらいしか使わないから問題ないよ
941デフォルトの名無しさん:2013/11/13(水) 08:53:26.21
今までのサンのswing路線だとそうともいえるんですが、これからのオラクルのjavafx路線ではそうともいえないんですよ。
タッチも一般的になった現在では、従来のキャラクタ・コンソール(端末)だけだったものを、リッチ・コントロールを使って入力(text)と出力(chart)などで分離してインタラクティブに係わるレプレゼンテーションというものを抽象化する目論見(javame8)なので、
javafxは単なるデスクトップuiではなくそういう意味で大きな意義があるんですよ。
942デフォルトの名無しさん:2013/11/13(水) 16:30:32.29
大丈夫JavaFXなんて誰も使わないから。
943デフォルトの名無しさん:2013/11/13(水) 21:23:09.36
JavaMEはSEに統合されるし、業務用のタッチディスプレイで使うようになったりして。
944デフォルトの名無しさん:2013/11/13(水) 21:27:34.91
JavaFXをそろそろJava SEに統合してくれぇ・・・
945デフォルトの名無しさん:2013/11/13(水) 21:27:35.02
その環境で日本語試してなさそうだし、
バグレポート送ってあげたら?
946デフォルトの名無しさん:2013/11/13(水) 21:52:49.68
http://www.oracle.com/technetwork/java/javafx/overview/roadmap-1446331.html
JavaFXロードマップ
Java9でJSRになってるから、そこで統合されるみたい。

http://www.publickey1.jp/blog/13/java_sejava_meinternet_of_thingsjavaone_2013.html
SEとME
947デフォルトの名無しさん:2013/11/13(水) 21:55:47.37
http://japan.zdnet.com/development/analysis/20087447/
JSRは標準化要求だからそれだけじゃ
標準になってないのか、、、
948デフォルトの名無しさん:2013/11/13(水) 22:05:57.40
思いのほか統合先だな
949デフォルトの名無しさん:2013/11/14(木) 03:29:11.34
>>939
8で国際化対応やる予定だったけど結局入らなかったんだよな。インプットメソッドだけじゃなくて全部国際化されてない。
たとえば文字列は内部でtoCharArrayされてるからサロゲートペアぶった斬り。
あとb106はリグレッションあるから2.2系と同じバグあるからb105にしとけ。

>>947
それベンダ実装の話。JSRは勧告と同時に仕様書とRI出す。javafxのRIはopenjfxになるんじゃね?
つかjavafxの標準化はたしか遅れてるよ。javaoneでjava10って言ってなかった?
950デフォルトの名無しさん:2013/11/14(木) 08:15:29.50
>>949
なるほど。よくわかりました。
linux scene 1.1もG.A.なのにアプリが突然落ちることが多く(多分JNIの実装部分)、使い物になりませんでした。
javaによるhardware,softwareのmultiplatformの実現とはいいつつも、oracleが持つlinuxの技術力はかなり低く、linux技術を使ったoracleの製品の品質もまったく期待できないということがよく分かる事例だと思います。
簡単なところではjava殲滅目的でmicrosoftが突然ms-imeの仕様の変更をしたらどうするんでしょう。
oracleの技術力云々に関係なく、多分このまま、windowsplatformともどもoracle javaplatformも死滅していくのが規定路線なんでしょうね。
951デフォルトの名無しさん:2013/11/14(木) 08:50:31.79
日本国でリーナークスとかジャヴァが使われたりましてやそれで成功することなんてまずないから気にしなくていい。
952デフォルトの名無しさん:2013/11/14(木) 09:38:15.33
sunが法務部にコントロールされてのろのろしてるうちに、
Linuxの組み込みでは、Androidという別のjavaワールドが中心になってしまったもんな。

まあ、windowsと同じように、通常のlinuxも小型タブレットやスマホの世界にやってくると思うが。
953デフォルトの名無しさん:2013/11/15(金) 00:28:28.98
linuxはハード構成だけじゃなくてライブラリレベルでも構成変わるし(動画再生とIMEがもろ構成依存じゃん)
macはmacで『macはPCじゃないからmac一つだけ』と言いつつ実際にはハード構成に鉄くずと高級機の二種類がいるし
winは良くも悪くもD3Dで統一されてて実装がMSとnvidiaとamdの三種類しかないのが幸いしてるからなぁ。

ソース読むと未実装のコードが山ほどあって、macだけ必須だから先に実装されててwinでも実装されてないから機能的にはwinもlinuxも条件は同じなんだけどね。
他所のコミュニティが管理してるソースと同期するのを嫌ってprivateな実装してるくせに開発者が少ないのが問題だろ。無駄にやること増やしてる。
954デフォルトの名無しさん:2013/11/15(金) 07:47:57.02
JAVAでGUIしたいなら何使うべき?
955デフォルトの名無しさん:2013/11/15(金) 09:06:47.64
oracleにはbsdだけでなくdebian/ubuntuのlinuxについて商売できる人材も開発できる人材もいないんだし、そんなんじゃ組み込み向けにjava,javafxをアッピールなんて出来やしない
956デフォルトの名無しさん:2013/11/15(金) 09:17:40.26
>>953
javafxについては2013年完成(java8)を目指して工程表が2年以上も前から出てたのに、multiplatformを宣言してる割に、この期に及んで実際は穴だらけのままなんじゃ、oracleは一体全体今まで何を設計してたんだろうね
957デフォルトの名無しさん:2013/11/15(金) 09:52:12.07
ぶっちゃけWebKit+HTML5があまりに強すぎて
クロスプラットフォームGUIなんて、労力かかるくせに実がないものはやる気でねえんだろ
958デフォルトの名無しさん:2013/11/15(金) 10:05:52.02
oracleは、未だに設計という行為の何たるかを知らないんだろ
sunは機能を机上のみで追加して手広くやろうとせず当時の現状に即して狭めた設計だったから、当時のsun javameは成功した
設計思想も持ってないどころか開発力もないoracleは、どうして当時のsunが成功したのかjavafx,javameが結局頓挫しちゃう前にちゃんとsun様の思想理念の具現化をリサーチしておかないといけない
959デフォルトの名無しさん:2013/11/15(金) 11:10:25.41
>>957
今のjavafxでは、webengine classでhtml/xmlを読み込んで、プログラム上でxml domを取得して、java,jvmからdocument構造を操作できるの?
960デフォルトの名無しさん:2013/11/15(金) 13:53:15.68
>>954 Android
961デフォルトの名無しさん:2013/11/15(金) 15:00:42.14
そんなグラフィックスライブラリないだろ
962デフォルトの名無しさん:2013/11/15(金) 16:41:46.37
グラフィックユーザーインターフェース
963デフォルトの名無しさん:2013/11/16(土) 18:42:45.18
>>959
WebEngine#getDocument()で出来るけどjavascript側に書いたほうがコード短くなるし、
DOM4だとhtml5専用にしたからSVGとMathML以外のxml正しく扱えないぞ。

WebEngineの実装自体は出来いいよ。Canvas2Dくらいなら実装されてるし。
ただし、javaでjavascriptのオブジェクト実装して公開とかjavaからjavascript通信とかまだ仮実装。
そのうちやるとか言ったまま音沙汰無い。だからブラウザにhtml5食わせる使い方しかできない。専ブラとか無茶よ。
964デフォルトの名無しさん:2013/11/16(土) 18:59:54.86
>javascript側に書いたほうがコード短くなるし、

少し混乱してるんだけど、これはhtml,xmlをjavafxのコントロールで直接扱うのでなくて、現状でもfirefoxとかのブラウザのjsに頼った方がいいってこと?

html5といっても組み込みとか小型端末でどうせブラウザが必要になるのだから、oracleもfirefox,chrome頼みでなくてjavafxを使って自身のブランドのブラウザを作ればいいのに。
appletの時と同じく、どうせhtml5になると外部一般のウェッブをブラウズするなんてことはせず、そのウェッブ・アプリを起動しっぱなしなんだし。
965デフォルトの名無しさん:2013/11/16(土) 20:21:27.96
>>964
>これはhtml,xmlをjavafxのコントロールで直接扱うのでなくて、現状でもfirefoxとかのブラウザのjsに頼った方がいいってこと?
いや、ちがう。htmlにjsコード埋め込むかWebEngine#executeScript(String)使うってこと。

java側のDOM API叩くと静的な型や冗長なjavaの命名規則やシンタックス気にする必要があるからコードが煩雑になるって話。

いま丁度、WebView使ってるんだけどDOM自体が冗長だから自然とコード量増えてここら辺が結構ウェイトしめる事になるんだよね。
だから、スクリプトにできることは分離したほうが楽だと思う。
LiveConnectが実装されてるからJSObject#setMember(String, Object)でjavaのオブジェクトをJavaObjectとして登録することは出来るから
WebEngine側のコードを全部javaで書く必要はないんだよ。
966デフォルトの名無しさん:2013/11/16(土) 20:28:32.10
java,jsどちらでやるかは、コーディングが楽(文字数が少ない)かどうかでなくて、その後のメンテナンスや可読が楽かどうかで選ぶけどね。
javaならクラス・メソッド自動補完とコーディング・テンプレート補助ができるideが多いでしょ。
967デフォルトの名無しさん:2013/11/16(土) 20:48:17.01
そこでdartっすよ
968デフォルトの名無しさん:2013/11/16(土) 21:13:19.12
>>966
文字数っていうかリーディングの時に意味のないget/setプレフィックスとかキャスト連発すると可読性落とすじゃん。
あと、javascript側にjava公開する必要ないならhtmlにjs埋め込んでデバッガが充実したブラウザでhtml部分をデバッグすれば開発楽だよ。
WebViewとWebEngineはJNIの塊だからjava側からデバッグできることは少ないだろ。
969デフォルトの名無しさん:2013/11/16(土) 21:28:35.56
get/setはbeansなのでなれの問題で、キャストはgenericsなので、javaである限りそれはコーディングの問題ではありません。
逆にget/setがついてた方が、全体の構造を理解し辛くても、なれると実際は個々では読みやすいですよ。
jsは結構好きですが、javafxscriptがどうして廃止になったのか、javafxapiはどうしてjavaのルールでコーディングすることになったのか、をよく調べれば、次世代uiがhtml,js埋め込みでなくどうしてjava,jvmを使うのかが分かるんじゃないですかね。
970デフォルトの名無しさん:2013/11/17(日) 00:58:34.48
971デフォルトの名無しさん:2013/11/18(月) 21:30:25.41
こんなところで盛り上がっても
オラクルは変わらないよ。。。
972デフォルトの名無しさん:2013/11/19(火) 00:43:53.64
GUIはGUIでやるとして、
JavaのWeb描画は、一方通行のDOM操作でできる範囲で、
Webブラウザのフロントエンドは、TypeScriptやEmscriptenなどのJavaScriptへのトランスレータに任せて、
あとは、サーバーサイドのRESTをJavaに任せればいいんじゃないかと。
973デフォルトの名無しさん:2013/11/19(火) 14:31:58.44
JavaFXでラジオボタンの左側に付いてる◎を表示させない方法を教えてください
974デフォルトの名無しさん:2013/11/19(火) 18:57:08.31
>>973
普通のボタンノード使えばいいじゃないか
975デフォルトの名無しさん:2013/11/19(火) 19:57:34.91
普通のボタンノードってのはjavafx.scene.control.Buttonの事ですか?
グループ化して排他制御したいので、それだと困るんです
976デフォルトの名無しさん:2013/11/19(火) 21:59:15.64
ToggleButtonを使え
http://docs.oracle.com/javafx/2/ui_controls/toggle-button.htm
のExample5−3にすべてが書いてある
977デフォルトの名無しさん:2013/11/19(火) 22:24:57.37
ToggleButtonだとどれも選択されてない場合があるから
ChangeListenerのchangedメソッドでnewToggleがnullだったら
oldToggleを選択させるようにするって事ですか?

なんか面倒くさいですね
978デフォルトの名無しさん:2013/12/02(月) 04:16:27.84
Windows 7 pro SP1 (64bit)とJava 7 45-b18の環境で下記のコードを実行し、
ToolTipを表示させるとWindowsのAeroが無効になってしまいます。
環境の異なる3台のPCで試しても同様で、numberOfLinesを10のような小さな数にすると
この現象は発生しません。
大きな数でもAeroが無効にならないようにするにはどうすれば良いでしょうか。

int numberOfLines = 300;
JFrame frame = new JFrame("ToolTipTest " + numberOfLines);
JPanel panel = new JPanel();
StringBuilder sb = new StringBuilder();
sb.append("<html>");

for(int i = 0; i < numberOfLines; i++) {
sb.append(i + "<br>\n");
}

panel.setToolTipText(sb.toString());
frame.add(panel);
frame.setSize(320, 240);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

複数行のツールチップを表示させるだけの再現用コードです。
979デフォルトの名無しさん:2013/12/02(月) 04:57:09.27
Aeroが無効になる
突然Aeroが無効になった
Aero機能が勝手に無効になる
980デフォルトの名無しさん:2013/12/02(月) 05:05:32.15
Aero側のバグなら他のプログラミング言語で大きいツールチップを表示させても同様の現象がおきるはずと予想
981デフォルトの名無しさん:2013/12/02(月) 07:31:21.92
もう7捨てて8にしちゃったからテスト出来ないし
8だとどっちみちAero廃止(実際は使われてるのは知ってる)だし
追及する意味があるかどうか疑問符が付く
982デフォルトの名無しさん
>>979
ありがとうございます。
既に調べていたのですが、数年前の記事ばかりで
「Javaを最新版に更新すれば解決する」という
ことしか載っていませんでした。

>>980
ありがとうございます。試してみます。