Java低速GUI Swing 10
>>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以下の方式に戻す方法があるか教えて下さい。 他の外国語でも同じバグがあるなら修正用ラッパ作る気にもなれるんだけどね… >>243
奇妙な位置で折れることを想定してプログラム書けば全て解決する話
それよりもそのことのためだけに今更1.5以下のJRE使えという方が非常識 たと
えばこんな感じに折れます。
これを想定し
て書くのはしんどいです。 なんだかんだ言ってMicrosoftの素晴らしさを再認識する Javaも大きく育てばもっとSunもOracleも開発に人材をさけたのかもしれん サンの時代ならまだ信用があったから起死回生もありえたけど、クライアント(ウェブ)やモバイルやデスクトップに興味がない今のオラクルじゃ何やってももう無理 >>246
てか、それ英単語の空白部分で折れてんじゃないの?
そもそもそんな不自然な折れ方するバグがあったとしたら世界中の開発者が黙ってないと思うんだがな
しかも1,6以上で出るんだろ?
もし英単語空白部分で折れてんなら、それline-wrapの仕様だよ >>243
http://docs.oracle.com/javase/jp/7/api/javax/swing/JTextArea.html
> JTextArea(Document doc)
> 指定されたドキュメントモデルと、ほかの引数はすべてデフォルト (null, 0, 0) で、新しい JTextArea を構築します。
http://docs.oracle.com/javase/jp/7/api/javax/swing/text/Document.html
> たとえば、前の図のようにドキュメントのコンテンツが「The quick brown fox」というシーケンスの場合、「The」の前の場所は 0 で、「The」の後とそれに続く空白の間の場所は 3 となります。 textコンポーネントってカスタム化したBreakIteratorとか指定できないのか GUIレイヤーにはHTML5/Google Chromeを使えばすべて解決 FX興味あるけどまだSwing主体で使うべきなんだろうな 今の時代、FXっていうと金融のほうの話にしか聞こえない なんかopenjdkにしたら直ったくさい。
CentOS(32bit) jdk1.7からopenjdk1.7にしたらOK
Debian(64bit) open1.6でOK バグの再現方法が分からないのに直ったも糞もあるかよ jdk1.7でもawtのテキスト・コンポーネントってawt.useSystemAAFontSettings=onにしても汚いままだね
java+linuxはやっぱり終わってる テキストじゃなくてリスト・コンポーネントだったか?
とにかくオラクルはawt component全般で直す気もなければやる気ないんだから、awt,swing,javafxでguiをやろうと考えるのは茨の道に入るのに等しい [#JDK-6506617] Keyboard-lock in swing program on Linux box - Java Bug System
https://bugs.openjdk.java.net/browse/JDK-6506617
コメントしまくってプライオリティ上げれば ナオト君とユリコさんしか文句言ってないんじゃあ直されるわけがない linuxデスクトップですらまともに使えないjava+awt+swingなんてのは結局のところwindows専用のguiフレームワークでしょ
ていうかjavaがサンだった頃はまだ可能性はあったが、オラクルになったjavaってのはwindowsデスクトップともども静かに死んでいく運命でしかない
awt,swing,javafxなんていうデスクトップやクライアントものは誰も相手にしないから、バグなんかもわざわざ報告してもらえるはずない Androidうらやまー。
TWLとかLIBGDXとかゲーム系GUIで良いのが出てくればよいのだが androidの寿命が思いの外長いみたいだから、embbed,mobileのjavafxのライセンスは主要なところはどこも買わないだろう
オラクルが欲を出して裁判でグーグルに負けたあたりから、javaはswing,javafxが低速低品質であるだけでなく、desktop/client java自体が終息していたんだなあと思う Product Version
JavaFX Scene Builder 2.0 (Developer Preview)
Build Information
Version: 2.0-b12, Changeset: 8bb7f8e4931d
Date: 2014-01-30 08:10
JavaFX
Toolkit = QuantumToolkit
Pipeline = ES2Pipeline
Hardware acceleration ENABLED
Java
1.8.0-b127, Oracle Corporation
Operating System
Linux, amd64, 3.2.0-58-generic
Copyright ? 2012, 2014, Oracle and/or its affiliates. All rights reserved. もはや一般向け言語じゃないな。
アプレット開発完全に終わった。
ユーザーにコピペ作業させないと動かないフリーソフトって有り得ないだろwww >ユーザーにコピペ作業させないと動かないフリーソフトって有り得ないだろwww
これって何のこと?
開発者側じゃなくて? JavaFXで2chブラウザで作ってみたけどかなりシンプルで扱いやすいライブラリになってて気に入った
これはSwingとかは簡単に駆逐される予感がする 今出向先でswing使わされてるけど糞すぎて死にたい
sdkも1.4使ってるし、いるのか知らんけど
まともなアーキテクトいないと自社内で技術の選定もできねーんだなぁと JavaFXはまだま未熟な印象あるけど相当使える
JavaDocとか見てると3Dとかスマホを意識したメソッド名が散見されるけど、
今後クライントアプリで存在感示せるには十分、強力なライブラリだと思うな >>282
ダイアログは、OSが勝手に扱いを変えるしな… ダイアログ的なものなんか簡単に実装できるもんじゃないの 画面の中央で手前に表示されるか
Enterをおしたら、閉じて、OKの意味を伝達するか
Escをおしたら閉じるか
Tabをおしたら、フォーカスが移動するか ダイアログってそんなややこしい仕様だったの?
ちっさなStageにボタンつけてモーダルで表示するだけだと思ってた
だからみんなダイアログ実装しろしろうるさいんだな プラットフォームによってメタファが違うしライブラリが勝手な解釈して実装がカオスだったりもする