Java低速GUI Swing 10
ダイアログって出されて嬉しかった記憶がまったくないから もうダイアログは出しちゃダメっていう決まりでいいだろう そういうダイアログメッセージメッセージ出す前にボタン押させないようにするとかいろいろあるだろ SwingどころかAWTですら実装しているというのにFXときたら… WPFだって事実上実装してないに等しいので、 「FXはダイアログとか出さない!」 というコンセプトなのでは。 RIA の方向性がそうなのかもな。 htmlからリッチにするとは言ったがそれはviewにおける表現の事であって云々。 すると、ダイアログの今後はどうあるべきなのは提示されないと困るよね。 モーダル・ウィンドウ作れるからダイアログ要らんがな。 実装面倒くさいだけならJFXtrasにひと通りのもんは入ってる。 軽量とか重量とかって何を基準に言ってるんだろうな。 日本では処理が軽いか重いかっていうイメージで間違った使われ方してるけど heavyweightが環境依存の重いコードガシガシ書くことでlightweightが環境非依存の軽いコード書く事だから本来はコードのポータビリティの話だろ。 会話するとき、間違った使い方してる奴が混じってると会話が噛み合わんってよくあるじゃん。 swingだろうとトップウィンドウがheavyになるって話も実際どこまで理解されてるのだろうね。 javafxはなんでほぼModelのクラスをContorollerって呼んでるんだろ javafxはbindingがあるからsupervising controllerのMVPになるか。 >>300 じゃあなんでPresenterにしなかったのっていう話に javafxはMVPでもpresenter modelでもどっちでも作れるようになってるからcontrollerがpresenterっていう名前だったらおかしいだろ。 それと役割が同じだからじゃね。 署名高すぎ。 なんだよ年5万円って。 趣味でやるなってことか? 相模原メディカルサイト歯科日吉サンテラス歯科藤沢なのはな内科スマイル歯科アイ整形外科亀有 リリオ歯科アクロスみなみの歯科足立ハート歯科新宿くろさか歯科熊本ファミリー歯科伊勢原桜台歯科森林公園滑川モール歯科横浜いちょう歯科小田原めぐみ歯科ホワイトスタイル 質問失礼します。 JTabbedPane に複数の Panel を登録すると、キーボードのカーソル左右でタブを切り替える事ができます。 この機能を無効化したいのですが、どうしたら良いでしょうか? setFocusable(false)でどうだろう >>308 フォーカスは与えたいので少し厳しいですね。 左右で変えられるのは仕様として別のやり方でやってみます。 ありがとうございました。 カードレイアウト使ってタブはボタンかラベルでそれっぽく書けくのは? JavaFXだとStackPane使うんだけどSwingには相当するものがないね。 javax.swing.FocusManager で KeyEvent.VK_RIGHT / VK_LEFT を無効にすればいいんでね。 へんな2chブラウザみつけた JavaFXで実装してるんだと http://www.m9_www.com 使ってみたけど結構重い 怪しいリンク踏んで遠隔操作されたらたまったもんじゃない >>316 ヘボOSとかヘボブラウザ使ってるとビクビクしなきゃなんないのかもね 片山ゆうちゃんとかいう奴の事件が2chにリンク貼ってダウンロードさせるのが目的だったじゃn >>318 あの人、ブラウザで閲覧しただけで即感染するレベルのもん作れたの? >>321 どうでもいい所にツッコんでるなー。 どうせなら、サイトの一番下にコメント書けるようになってるみたいだから、 「背景を別の色にしてください」 って作者さんにリクエストすればいいんでない? なんでそこまでする必要があるのかよくわからんが…? 2ちゃんブラウザは書き込める公開proxyにしか興味なくなった >>313 そっさく更新されててワロタwww しかも背景ちょっと色が薄くなっただけ 作者さんいい奴ぽいな。他人事だと思って軽い気持ちでコメント書けばって言った俺ちょっと反省。 タイトルバーを独自に描画しないと、FX使っても カッコ悪いアプリしかできないね。 俺も昔そう思ってたわ 「俺の考える最強のタイトルバー」をユーザは求めているのか? どんなメリットやデメリットがあるのか?自己満足じゃないのか? タイトルバーの色をラズベリーレッド・パールホワイト・ミッドナイトブラック の中からお選びください 間違えた。 野際陽子「レディース・アートネイチャーより、Forte (for Java)登場しました。」 今までSwingの標準Look&feelで書いていたプログラムをGTK+のLook&feelで動かそうと思ってmainの最初にUIManagerの命令を足しました。 見た目はしっかりGTK+化されているのですが、setBackgroundなどが機能せず、色が変更されません。 専用の命令が必要なのでしょうか? setBackgroundしてから、repaint();で変わらない? >>335 NetBeansなどのデザイナー使えばいいんでね >>334 UIManagerとUIDefaultsとputClientProperty使えと何度言えば 軽量コンポーネントは描画してないっつーの。 それかJavaFX使え。CSS書けばそれで済むからSynthと違って本当にCSSだけでなんでもできるから。 テンプレに入れとけよこれ。 JavaFXのメリットが良くわからん。 SwingのL&Fを強化すれば済んだんじゃないのか? substanceとか、syntheticaとかの外部ライブラリを使えば綺麗にできるけどね。 >>339 FXで今度こそプラットフォームインデペンデントな開発ができると夢見たんやな… >>339 ・原則ソフト前提のswingとちがってH/Wアクセラレーション前提で動いてるとか ・ライブラリのスペースがswingと比べて超軽量とか ・Swingにないコンポーネントサポートしてるとかはnetiveな部分が関わってるからswingではできないしJNIでJAWT呼び出す以上糞重いし ・マルチスレッドで書いたつもりなのに謎のバグがあるし ・>>334 みたいなswingわかってない奴がどうやっても描画ぶっ壊せない設計になってるとか LnFなんてメインテーマじゃない。 >>342 javafxはそんなもん目指してない。バリバリプラットフォーム依存してるしJAWTより薄いnativeで書かれてる。 そもそもRIAなんだからプレゼンテーション層はアプリケーションプログラマが書くからその下触らせないようにしてるからプラットフォーム独立なんて必要ない。 実装にクロスプラットフォームなライブラリ使ってるから移植性に問題もない。だから3dできるしwebブラウザあるし動画再生できるしOS依存の機能使える。 他にも山ほどメリットあるけどあげ出したらキリがない。 というか、SwingXのpainter APIをsunが諦めた時点でswing捨てるのは決まったようなもんだしjavafxにswing teamがsponsoredしてるからその内swingはメンテ終わる。 あと >外部ライブラリを使えば綺麗にできるけどね。 その外部のライブラリをJREに含めるはずだったSwingAppFrameworkがキャンセルされた後javafx2に移行したんだよ。 ほかにもSwingLabの成果は将来のSwingにマージするつもりだったけどこれもJXLayer以外キャンセル。SwingLabはSwingにおけるboostだからそこが解散したらもう未来はない。 javafxにおけるSwingLabに相当するコミュニティもすでにあるから移行する気まんまんだよ。 JavaFXってWindow最大化判定ってできないの? Y_AXISに配置するBoxLayoutを設定し、maximumSizeを決めたJPanelの下にJTextPaneを設定すると、 JTexetPaneの右端まで文字が行っても改行してくれなくなってしまうのですが、これを改善する方法はありますでしょうか? swing designerのような、GUIでウィンドウパーツを組み、ダイレクトにプログラムが書ける EclipseのJavaFX2プラグインありませんか? >>348 それはどのIDEもSceneBuilderを組み込んでるからFXMLのポトペタ部分はどれも同じなのは知ってる上でeclipse固有の話? それならIncubation projectになってるe(fx)clipseがある。 ほかのIDEとの違いはttp://www.coppermine.jp/docs/programming/2013/12/efxclipse.htmlが簡単に説明してる。 ところでJava1.8+swingがデグレードだらけらしいんだが。 Java+Swingによる2chブラウザ V2C_R72 http://anago.2ch.net/test/read.cgi/software/1407868516/ 416 2014/08/29(金) 11:52:21.44 ID:sik4QNGf0 名無しさん@お腹いっぱい。(sage) V2Cが原因じゃなくて1.8.0_20のIME関連が死んでるっぽい。 jEditでも日本語入力しようとすると死ぬ。 ちゃんとテストしてからリリースしろよ。 java - Swing rendering appears broken in JDK 1.8, correct in JDK 1.7 - Stack Overflow http://stackoverflow.com/questions/22737535/swing-rendering-appears-broken-in-jdk-1-8-correct-in-jdk-1-7 http://i.stack.imgur.com/zZwGe.png The rendering of the Font seems to be not OK. Additionally the Button looses its Text, when i move my mouse over it. JavaFXスレが機能してないようなので、こちらで質問。 JavaFXでウィンドウがアクティブになったときに、イベントを発動させたいときはどうしたらいいのでしょう? addFocusListenerに相当する機能が見つからなくて。 以下はSwingでのサンプルです。 ttp://2sen.dip.jp/cgi-bin/upgun/up1/source/up0607.zip JavaFXのシーンビルダー2.0で探してみたけどよく分かりませんでした。 分かる人が居たらどうかお願いします。 そこ前スレじゃないし。分けても人来なくて過疎って落ちるだけって前から言われてたのにテンプレも貼らずに立て逃げしただけ。 >>351 そういうことだったのね どうもSWINGで作ったアプリがJDK8に入れ替えたトタンに、JtextField上で日本語変換すると アプリが落ちちゃうんだよなあ。 jdk8u20以降全部ダメだから8u11にしなさいとの神のご神託です。oracleだけに >>360 Oracleがいかに糞なのかがわかる。 Googleも糞だが、2バイト語圏のテストなんてまるでしていないのがよくわかる。 Javaもそろそろ潮時かもな javafxのlinux platformへの対応が今でも後回しってことが根本的に間違ってる java7(javafx2)がでた2011年の時点でも、javaseやjavafxがwindows platformで使えるメリットって全く無いでしょ そういう要不要の判断ができないのは、優先順位や目的も設定できず、なんとなくで作ってたのが原因だろう モバイルデバイス市場をグーグルに持ってかれちゃった時点でjavafxは廃止してとりあえず様子見でswingに集中すべきだったのにね で、できたjavafx api/frameworkはswingと全く同じだし、それならswing apiを流用して内部実装だけ取り替えるという設計もあったんじゃないのかと思う javafx9は現在のjavafx2/8のapiを全て破棄して、swingライブラリ一部として結合してほしいね(それぐらいのことしないとjavaのguiは使ってもらえないだろう) ただ、グーグルはオラクル(サン)に比べれば名ばかりの貢献であって、長期的に実質的にはオープンソースに何らの貢献もしてないし,グーグルはオラクルを上回る大糞ってことは確かだ よくみたらJComponentの継承関係がjava.awtに依存してるからjavafxとswingを統合するのは無理か それで考えてみたんだけど、javafxのui生成はfxml,cssだけにして、javaコードではui生成はできないようにすればjavafx apiの大半を削除できるし、awt,swingとの差別化にもなる fxmlにはannotation仕様も入るから、html+jsのようにbindingもfxmlでやれるし、現在javafx apiが肥大化し続ける問題を全て解決できるだろうね html,cssでpage form作るのとほぼ同じパラダイムになるからswing mvcを学ばなくて済むし、コントロールのクラスが非公開なのだから公開java apiをメンテしなくて済む uiの動的生成は全く使わないしbuilder classパターンと同じくいらないから、コントロールのjavaクラスはjava9では削除にして、fxml+annotation(java)+nashorn(js object)で構築するのが自然だろう そもそもJavaの商用アプリケーションなんて「素人が作りました」という言い訳が可能が携帯ゲーム以外で見たことないしな… uiは基本的に使いまわしたり他に流用したりせず使い捨て前提でデザインするから、ui frameworkが大きく変わって互換性があまり考慮されなくてもあまり困らないだろう。 kde3,4やgonome2,3も互換性は維持は前提としてないし、ui frameworkは同一バージョンのプラットフォーム固有で、パフォーマンスが必要な3d,anime,game,canvasなどはネイティブに密着で作って欲しいね。 というか、多少複雑でもhtml,flashですら簡単に素早く作れるのだから、それに比べれてみても、javafx8 apiは肥大化して、機能多過ぎで、言語サポート(リテラル)がなくいためコードが多くなって煩雑になる。 しかも、frameworkの設計が使い捨て捨て前提のui生成ではないから管理に手間もかかり、今後javafxをやるのはどう見ても終わってる(普及する可能性もない)。 >で、できたjavafx api/frameworkはswingと全く同じだし まるっきし違うんだが少しはソース読めよ。 ていうかおまえそればっかだな はあ? javaをwindowsだけで使うならjavaなんか止めてc#やれよ。 windowsでjava使う状況は、仕事で必要って以外でjava,javafx,swingが必要な場面ってまずないだろ。 ていうか、linuxのswing,javafxの悲惨すぎる現状を知らないんだろうおまえは? guiなんかhtml page見てもわかるけど、model-viewなんかに分離しなくてもちゃんと作れるし、mvcやその派生のデザイン・パラダイムはもう今の時代やニーズに合わないってこと気が付かないの? linuxやshellもろくに触れず、windowsで満足しているお子様には、guiのお作法とかswing mvcの勉強とか絶対無理。 そもそも勉強が一巡できるかどかよりも、今のjavafx,swing frameworkは巨大で難解すぎて集中力の方が続かないだろね。 >>362 JavaFXに限らずLinuxのデスクトップなんて優先度は最下位でおk。 linux desktopが大事なんじゃなくて、javafx platform戦略としてはopenglesのjava platform再実装であって、linux kernel(shell)を使う端末のためのgui shellをx11に変えて提供するのが目的ってことで、 linux実質はopenglesが大事になってる。その流れでopenglesを実装したx11ではないlinux desktopが恩恵を受けられる。 windowsは特別dirextxのラップで提供しているに過ぎないけど、xbox,psなどjavafx(opengles) apiを使うよりよりネイティブのdirectx/c++しか使わないから、 directx版のjavafxを提供し続けてもjava/oracle利益にもならないし、microsoftものに関わってる時点でオープンソースに貢献もしない。 つまりwindows platformは副次的にして、linux(技術者サーバ)、mac(高利益クライアント)にoracle's resourcesを集中しないと、 javaはdotnetの代替に過ぎずjava platformとしても成長することはない(javafxがwindowsで普及することは絶対にない)。 思うに、windows版のoracle jdkは廃止して、jreだけ提供にすれば、google android対策、windows普及対策、ms-devices普及対策になるね。 windowsでjava開発をしたければ、oracle virtualbox(つまりfree linux desktop)か、jre/bin/jjs(つまりecmascript5/6以降)でやらせて、 ide当開発のパフォーマンスが欲しい人は、microsoftものではなく、mac,linux desktopを導入してもらえばいい。 microsoftの社長がナデラに変わったけど、windowsはcloudosを標榜してるから、windows native(desktop)の高速化にもこだわらず、デバイスがcpu 2.0ghz以下だからパフォーマンスも期待できず、 コスト管理のためwin32apiを全般してdotnetに統一しても、今後のmsもの,windows platformものは、デバイスが高速でないから体感も差はないから批判はあまりないだろう。 これが意味するところは、windows native開発ははc/c++を廃止して全てdotnet vmでやるという方向転換をされたら、jvmはdotnetvm上で動きパフォーマンスはかなり悪くなるから、 linux desktop,devices(tabletなど)が大事なのは、javaが今直ぐwindowsから離れないなら、もうjava platformはmicrosoftの手の上なのだからjavaに未来はないからだ。 sunは消滅し、mac,msとも代表者が代わり、時代は変わったし、これに順応してスキームを変えられないところ(もの)は時代にもニーズにも合わず自然消滅するのかと思う。 この板の投稿の限界値、2048文字丁度なんですよ 他に書いたこともいろいろ削除したんですけどね 率直に聞きますが Swingでスタンドアローンアプリってどうなんでしょうか? やっぱり、各プラットフォーム毎にアプリケーションはそれぞれ に最適なもので作ったほうが良いのでしょうか? guiもクロスプラットフォームにできるという発想自体が幻想だったんですよ 実際受け入れられたのはhtml formですし javafxについても、html5のオラクル実装ってことで突き進んで欲しかったんですが、fxml,cssだけでいいんで、java codeでもui作れるのはいらないです(そういうのはswingでお腹いっぱいです) 理想としては、html3,4 (form), html5のタグをjavafxもの(fxml)に変えてclassfileへコンパイルするだけでjavafx appとして動くってのがいい感じなんですけどね >>374 商用はあきらめて、Pascalみたいに教育に特化すればよいかと 何で「Swingでスタンドアローンアプリってどうなのか?」って質問の答えが 「Pascalみたいに教育に特化すればよい」になるんだよ? swing linuxは、java6以降であればgraphics2dが改善されてるので性能やレスポンスの面では実用です。 linuxの本格的なサポートはxrendererがサポートされたjava7みたいですけど。 ただ、gtk-lafは崩れるし、linuxでは金掛けてないんで作りこまれておらずただ動くってだけで、j.a.SystemTrayはやる気ないし、awtとネイティブ日本語入力・変換との連携はjava8u5でもバグってて未だ直ってません。 画面が見たいなら、netbeansやv2cのlinuxをみればいいんじゃないですかね。 >>369 windowsでjava使う人がほとんどだと思いますけど。 とくにjavaが一見人気に見えますが、よく見ると実際はwindowsでandroid作ってますってのが大半でしょう。 つまりそういう人たちは、microsoftやgoogleものに貢献してますが、oracle,javaものには全く貢献してません。 上の続きですが、oracle jdkのwindows配布は中にして、windows oracle jdkは有料プログラムだけにするのがいいでしょう。 mac,linuxはオープンソース自体なので有料にする理由はありませんが、windowsではvirtualboxもopenjdkもあるので問題ないです。 これと同じくmsがwin32api, c/c++,vc++を一般向けは廃止にして、有料の契約者だけにして、一般は全てdotnetでやるという戦略をとるは現実的だと思いますよ。 そうすると、windowsplatformのvmものつまりdotnetで作るアプリ以外の全てのアプリはパフォーマンスがでないので、msとの有料契約か、ただ動くっていうのだけになるでしょう。 cloud-osの説明を見ててもmsとしてはwindowsのアプリは、基本html5,js,browserでやってくれればいいことでしょうね。 windowsでandroidしか作れない現状のjavaは、javafx(javame)はもちろんjavase自体がオワコンってことです。 JCheckBoxでテキストをクリックしてもチェックが変化しないようにしたいのですが、どうすればよいですか? JavaFXで作った2chブラウザとかあるよ かなり重いけど http://www.m9-www.com >>381 なるほど、こういう意見を言う奴は、3以下の数すら数えられない知性の持ち主と言うことで、 ということは、まともな知性の持ち主は当然逆。 >>384 それって、もしかして産業革命とモジったの? read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる