Java低速GUI Swing 10
JavaFX2.0はXMLだっけ? HTMLにしとけばいいのに。 >>145 viewの定義をxmlでやるのは 最近のGUIではむしろトレンドだと思うんだが つうかJavaScriptとかで書かれた小汚いコードいじりたくねえ >>144 コンシューマー向けはそうなるかも試練な >>146 ttp://gihyo.jp/magazine/wdpress/archive/2012/vol69 Comparators ── 比べてみればわかること 【第2回】マークアップ vs. ツリー >>149 ん?この本買えっつーこと? それは勘弁 すまんが自分の言葉で書いてくれないか? >>146 以前からやってたマイクロソフトやアドビはしかたないけど、 HTML5の仕様がほぼ固まったあとに新たに違うものを覚えさせるより、 それに乗っかったほうが楽じゃなかったのかなと思うよ。 マイクロソフトはMETROではそうするんだろ。 >>151 正直domをJavaScriptみたいなクソ言語でゴリゴリいじるとかやってらんないんだけど それだけならまだいいけどサーバに問い合わせに逝くところ以外全部jsで書けと? 変数のスコープぐらいなんとかしてほしい。。。 別にHTML5絶対反対とか言わないよ 仕事で勉強しているし 押し付けられてもうざいだけ でも、クライアントアプリのGUIデザインで使うJavaScriptなら まともなクラスも、letによるまともなスコープもある最新のJSが使えるだろうし ブラウザで動くんじゃないから、ブラウザ非互換も考えなくていいし そこまでうんこじゃないんじゃないか >>151 HTMLで出来る事だったらそれで良いかもしれない。 だがねHTMLタグにはコンポーネントの場合どうするの? 例えばchartとか。 タダのcanvas置いといてidにそれらしい名前つけるとか、 divタグにnamespaceで特殊属性とか付けてる方が理解不能になるよ。 Adobeだって独自XMLだが、見た目はCSSで定義可能だよ。 Webアプリに関しても結局テンプレートエンジンとかが必要になるしな。 Wicketとかは素のHTMLに独自属性だから一番近い感じになるだろうけど。 XMLCだと画面はHTMLで書けるが、サーバ側でごりごりDOM操作しなきゃならんし。 htmlより抽象化された構文のxmlの方が画面の構造定義しやすいし Controllerのクラスにバインドして簡単にハンドリング出来る とは言ってもスマホのブラウザあたりからいじれるhtmlメインのアプリの利便性は否定しないよ 専用ランタイム要求する時点で相当敷居があがる 昔みたいなFlashしかなかった時代じゃないし でもJavaScriptほどウンコな言語もそうそう無いと思う JavaScriptはうんこだとしても、flashの方がいいって思ってるのか? つーか、ブラウザは普通に他の言語でも動くようにすればいいだけだと思うが。 だよね ブラウザで python が動いたら楽しいだろうな >>156 Flashは死滅して欲しい まぁFlexとか触ったことないけど >>156 AS3はJavaScriptより良いと思う。 よりJavaに近いからそう思うだけかもしれないが。 >>159 ゲーム系死滅するからFlash死滅は困る >>160 スレ違いだけど過疎スレだからいっか。。。 WebGLとかどーなん? >>161 OpenGLをWebに持って来たって感じだから、素でも使える人間なら使えるんじゃない? まぁ、普通無理。 なんで結局ライブラリを使うわけだが、それでも3Dの素養が必須。 使えるブラウザ及びOSなら描画最速。(ハードウェア支援があるから当然と言えば当然) Canvasに素で書くより、ライブラリ経由してでもWebGL使った方が速いらしい。 最終的にはCanvasに描かれるんだけどね。 インタラクティブなもの、例えば地図を立体的に描く場合とかに有効だろうけど、 ゲームとかに使う場合、JavaScriptをオブファスケータとかに掛けないと すぐ中身見られるしあんまり美味しくないと思う。 画像データとかも保護されないし。 swfはそういう実行物のパッケージングとしては優秀だったと思う。 >>160 スマホのFlashはフェードアウトするみたいだけど、どうなるん? Flashがデスクトップのゲーム用にフォーカスすることになって 立ち位置がますますかぶるDirectorの将来がヤバい >>164 スマホで金になりそうなのはアプリしかないでしょってことで、 アプリ制作にフォーカスしてランタイム作りますって事だと思う。 簡単な紙芝居とかだったら今まで使ってきたツールで作れて、 iPhone,Android両対応出来ますぜと。 マウスが存在する従来環境であれば今まで通りでいいんだろうけど、 タッチインターフェースはまるで違うからね。 インタラクティブってこうやればとか思ってた部分が根本的に変わるから。 アポーがアップデート配信タラタラするからだろ 別に堅牢なOSでもないのにウィルス対策入れてないの多いし >>171 ,172 友人が先祖代々信者だがそういう連中はそういうの分かり切っててmacだからで諦めてるよ。 あれが出来ねーとかごちゃごちゃいってるのはにわかだから生粋の信者は文句ないらしいぞ。 開発するならwindowsとか言ってたし。 道具に接する態度としてどっちがいいかはなんともいえんな Macなんて所詮道具(キリっ) 道具が目的化したのがWindows(キリっ) アプレットでjava7に切り替えた途端、ネットワーク接続が以下のエラーで失敗するようになりましたが、 アップデートで何か気にしなければならないことはあるでしょうか? Caused by: java.net.SocketException: Permission denied: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79) >>176 -Djava.net.preferIPv4Stack=true IPv6がらみ。 JavaFXの姉妹スレはC++さんに荒らしされてるのでこっちでお聞きします。 metalがまだsteelのころに、metalworksだったかのサンプルでcolorがred,greenなど全体の印象を変更できたのですが、metal laf (steel,ocean)の時にそれらカラーなどをSystem.setPropertyなどのプロパのセットのやり方だけで設定することは出来ませんか? Containerクラスの以下のメソッドで、マウス下の部品を取ろうと思っていますが、 コンボボックス、テキストボックス、JTabbedPane、JScrollPaneなどは取れますが、ラベルがどうしても取れません。 なにかいい方法はないでしょうか? Component getMouseEventTarget(int x, int y, boolean includeSelf) { WindowsのネイティブアプリからSwingアプリにドラッグアンドドロップすると ネイティブアプリ固まるようになってね? Swingアプリを終了するまでネイティブアプリ操作できないし ネイティブアプリ領域にマウスポインタもってくとアイコンがドラッグアンドドロップ状態のままだから ドラッグアンドドロップの終了処理がないとかのミスだと思うが。 ドロップで受けたときにスレッドに処理を預ければいいんじゃないの?知らんけど パネルの指定した座標上にある最上位の部品を判断する方法はありますか? これの逆ギャックっぽいものを探しています。 SwingUtilities.getDeepestComponentAt アプレットとか考えなくて良いならgetWindowAncestorで取れんじゃないの? JTextArea のインスタンスについては setBackground(色) を使って普通に背景色を 設定できるんだけどなぜか JTextPane のインスタンスには同じ方法で設定できません (デフォルトの白のまま) 考えられる問題点とか対処方法について情報があったら教えて >>187 背景色指定されたHTML文書読ませた、とか? うちでは引数なしコンストラクタで生成したJTextPaneに setBackground()で背景色指定したら反映された。 >>189 読み込ませたのは通常のプレーンテキストです。単純な ttp://www.johnloomis.org/cpe101/notes/SwingGUI/JTextPane/diagnostic.html みたいな場合は問題なく背景色が設定されるんだけど少し複雑な構造になっているので おかしなことをやっているのかもしれない。JTextPaneの場合には色の設定方法にコツが いるみたいなのでJTextAreaへの変更も含めてもう少し検討します。どうもありがとう ボタンを押すと、GUIが配置される仕組みにしています。 JButtonやJLabelなどはこれができるのですが、JTabbedPaneだけ表示されません。 JTabbedPaneは何か特殊な仕様になっていますか? 自己解決しました それぞれのタブを全部可視化しなきゃならんのか Javaアップデートの準備ができました? って疑問形でタスクバーに表示されたけど、こんな風な聞かれ方だっけ? ( ´_ゝ`)フーン・・・ Σ (゚Д゚;)マジ? 念のため無料のアバストで全てのファルをウイルスチェックしましたが大丈夫だったぽいです。 public class main extends JApplet{ public void init(){ JButton 画像の描画スレッド } public void run(){ 描画スレッドの中身 repaint(); } public void paint(Graphics g){} } 画像を描画しながらJButtonを前面に表示するにはどうやれば良いですか? また、初期状態でJButtonが表示されずにマウスポインタをオーバーさせたら表示されます。これはどうしてですか? 2000年付近の数年はイントラ向けアプリでボロ儲けではないけど普通に。 今も仕事自体はあるけど段々他プラットフォームに移行してる 2000年っていうと、いわゆるWeb系の超初めのころだね。Strutsとかまだなかったんだよな・・ サーブレットとJSPとJavaBeansで頑張ってた頃。 単純にJTextAreaへの参照が正しく貼られていなかったのが原因でした >>189 さんありがとう 軽量の意味はOSの機能を使っていないという意味なんですよ。 速いという意味ではないんです。 だから、Swingは十分高速なんです。 今のスレタイに落ち着いた経緯をご存知ないということでしょう JavaFXスレと分離しているのはなぜよ? 向こうはもう完全にFXスレにしてまえばえーやん Java低速GUI Swing & JavaFX 10 http://toro.2ch.net/test/read.cgi/tech/1316592884/5 5 名前:1[sage] 投稿日:2011/09/21(水) 18:42:16.09 すまん・・重複だったみたい・・ macのJFileChooserのやる気のなさパねぇ いまはopenjdkベースだから開発者が少ないと実装が遅いでしょ macの開発できるならオープンソースコミュニティは喜ばれると思うよ。 jtableの最終行の色を変えたいのですが どうすればいいでしょうか? getRowcount()でレコード数がわからると思うのですが、そのあとがわかりません。 TableCellRendererについて調べるよろし >>8 って実は最近人気のフラットデザインなんじゃね!? 次のjavafxとswingにdate pickerが入るんじゃなかった? >>220 ないみたい。 こっちをFX共用にしとけばよかったのかな。 Swingは失敗したけど、FXは成功するでしょうか みたいな議論はどのスレでやればいいのでしょうか? JDK-6506617 : Keyboard-lock in swing program on Linux box という重大なバグを8年以上たった今でも解決する気がないみたいだけど、 どうしてなんだろう。 ちなみに限定的なバグじゃなくてあらゆるLinuxOSで100%再現する。 オラクルはケチで有名なので文句を言われなければ手間暇かけて直そうとしないからですよ >>224 それは本当にJDK側で解決すべき問題なのかい? YES.なぜならswingの領分で、他のコンポーネントにフォーカスを強制的に移して戻したら数回は直る。 そのときにクリックするなど一切せずLinuxへのメッセージはないからだ。 しかしクリックすれば確実に直る。 日本語入力の時に頻繁に発生するから最悪なんだよね VBOXとかの仮想環境で古いリナックスを使うことが多いけどそのバグが原因でスイングあぷりを使う機会はまずないね オラクルはウインドーズにしか投資しないつもりだからそのバグが直る見込みは絶対ないよ >>230 ネイティブ環境(非仮想環境)だと出ないん? まあ、仮想環境でもキーを連続で打てないのは痛いけど。 ちなみに、バグレポートではキー押しっぱなしが再現方法になってるけど 日本語入力だと、どうすると出てる? ubuntu 6.06 ltsだったけど実機でもよく出るよ 再現方法が少し違うから違うバグだろうけどx-window関連だから多分同じバグだろう 特にESCでダイアログを閉じたときフォーカスが戻って来ないのでキー入力がアスキーでも日本語でもテキストが入力されないバグだったかな ショートカットも効かなくなるからマウスでアプリを終了するしかない(再起動すれば最悪また戻る) このバグはぐぐると英語サイトがいつくかヒットするけど、swingのアプリは実質ウインドーズ専用と考えたほうがいいだろうね javafx8 (build 1.8.0-ea-b117)ももうするリリース近いのにubuntu 12.04では日本語入力がまともじゃないからjavafx8も結局ウインドーズ専用になると思う JavaFX jarファイルに固めてダブルクリックしても起動しないんですが仕様ですか? eclipseからは起動するのに JavaFXを含まないHello Worldレベルのを作って試してみたら? Swing、SWT、ともに起動します 何故かjre7.u45以前のVMを指定したらコマンドラインから起動できることを確認しました jre7.u45以降のではコマンドラインからも起動できない Swingや選んだのは失敗であった 日本語入力するときが不自然すぎる JavaFXもくそすぎわろた 同じように日本語入力が不便 せめて SWT を選んでおくべきだった・・・ OSXは知らないけど、WindowsではGoogleIME使ったときが、入力候補の出る場所がおかしい。 ウィンドウの左下に出る。普通、カーソルのすぐ下に出るだろう。 >>230 java 1.6 のソースコードを見るとログを仕掛けてなおそうと頑張ってた形跡がある。 そのログを見たいなら以下で取得可能。 public static Logger focusLog = Logger.getLogger("java.awt.focus.Component"); >>231 キー押しっぱなし→? Textボックスをマウスクリックでたまにキーフォーカスが死亡する。 ubuntu12.04+ibus+mozcですが、たまにテクストコンポーネントがキー入力を受け付けず、ascii,日本語とも入力できなくなる時が今でもありますよ しかもnetbeans7使っていても発生するのでswing,javafxを検討してみたり勉強しようと考えないほうがいいと思いますよ(java+linuxではそれぐらい終わってるバグです) ケチで有名なオラクルの技術力なんてのは企業買収で成り上がっただけなので底力なんてあるはずもなく実力は所詮こんなものです java.awt.im とかちゃんと使ってる人いるのか? Javaプログラマが日本語入力監視してやらないと、 入力バリデーションとかが期待通りに動かないことがまれによくある。 java1.6以上のJTextAreaなどJTextComponentのline-wrap方式は、 奇妙な位置で折れます。 これを1.5以下の方式に戻す方法があるか教えて下さい。 他の外国語でも同じバグがあるなら修正用ラッパ作る気にもなれるんだけどね… read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる