トップページ⇒tech
1001コメント311KB

Java低速GUI Swing 4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/02/21(火) 23:57:46
ハードウェアの高スペック化、JavaVMのホットスポットの高速化に伴い、
パフォーマンスの問題が改善されつつあります。
しかしながら、"Java"というだけで犬猿されつつあるのが現状。
そんなSwingと引き続き付き合っていくみんなのスレッドです。

Java低速GUI Swing 3(前スレ)
http://pc8.2ch.net/test/read.cgi/tech/1121700954/
Java低速GUI Swing 2
http://pc8.2ch.net/test/read.cgi/tech/1095398949/
Java低速GUI Swing
http://pc5.2ch.net/test/read.cgi/tech/1062271447/l50

参考スレ
Java 高速GUI SWT 2
http://pc5.2ch.net/test/read.cgi/tech/1068349883/l50
0002デフォルトの名無しさん2006/02/21(火) 23:58:29
クライアントサイドJavaどうよ?
http://pc3.2ch.net/tech/kako/1002/10021/1002160815.html
クライアントサイドJavaどうよ?:part2
http://pc2.2ch.net/tech/kako/1032/10326/1032665721.html
クライアントサイドJavaどうよ? part3
http://pc2.2ch.net/tech/kako/1045/10458/1045891783.html

参考スレッド。
Java 高速GUI SWT
http://pc5.2ch.net/tech/kako/1032/10324/1032448424.html
Java 高速GUI SWT 2
http://pc5.2ch.net/test/read.cgi/tech/1068349883/

FrontPage - java
http://www.wikiroom.com/java/
0003デフォルトの名無しさん2006/02/21(火) 23:59:40
[ja]
WisdomSoft - JAVA入門
http://wisdom.sakura.ne.jp/system/java/javax.html
developerWorks - マルチスレッド化Javaアプリケーションの作成
http://www-6.ibm.com/jp/developerworks/java/010427/j_j-thread.html
[en]
Creating a GUI with JFC/Swing
http://java.sun.com/docs/books/tutorial/uiswing/
Threads and Swing
http://www.math.cuhk.edu.hk/TechInfo/JavaTutorial-2/ui/swing/threads.html
The Last Word in Swing Threads
http://java.sun.com/products/jfc/tsc/articles/threads/threads3.html
Painting in AWT and Swing
http://java.sun.com/products/jfc/tsc/articles/painting/
0004デフォルトの名無しさん2006/02/22(水) 00:00:21
書籍
赤坂玲音著「Javaアプリケーション作成講座 - Swingプログラミング徹底攻略」
http://www.amazon.co.jp/exec/obidos/ASIN/4839913862/

大村忠文著「Java GUIプログラミング」Vol.1〜3
http://www.amazon.co.jp/exec/obidos/ASIN/4877830510/
http://www.amazon.co.jp/exec/obidos/ASIN/4877830529/
http://www.amazon.co.jp/exec/obidos/ASIN/4877830537/

サンソフトプレス「グラフィックJava2」AWT編、Swing編(上)(下)
http://www.amazon.co.jp/exec/obidos/ASIN/4756134513/
http://www.amazon.co.jp/exec/obidos/ASIN/475613582X/
http://www.amazon.co.jp/exec/obidos/ASIN/4756135838/

Java実践プログラムによるデザインパターン入門講座
- Swingプログラムで体得する23のパターン
http://www.amazon.co.jp/exec/obidos/ASIN/4894712563/
0005デフォルトの名無しさん2006/02/22(水) 00:01:03
Creating a GUI with JFC/Swing
http://java.sun.com/docs/books/tutorial/uiswing/

為政敦男氏が1998〜1999年にSwingExamplesを書き、
オリジナルサイト消滅後もミラーされ続けている。
5年以上前にSwingの素晴らしい使い方を示してくれた為政さんに感謝します。
http://www.senun.com/Left/Programming/Java_old/Examples_swing/JTableExamples1.html
http://www.physci.org/codes/tame/


SynthLaF
ユーザーを虜にするものは機能だけではありません。
見た目のCoolさでアピールしてはいかがでしょうか。
(雄の孔雀が美しい尾羽を持つように:-))
[ja]
IBM 進歩したSynth 最新のSwingルック・アンド・フィールを使うとカスタムUIが手軽に
http://www-6.ibm.com/jp/developerworks/java/050318/j_j-synth.html
[en]
Sun The Synth Look and Feel
http://www.javadesktop.org/articles/synth/index.html
0006デフォルトの名無しさん2006/02/22(水) 00:01:59
VisualStudioのようなポトペタ開発環境がほしい!!
NetBeans
http://www.netbeans.org/index_ja.html
Eclipse+VisualEditorPlugin
http://www.eclipse.org/
http://www.eclipse.org/vep/
0007デフォルトの名無しさん2006/02/22(水) 01:10:37
セシール♪

イルッボンヌ サァ コリアン へ シャザイシール 
0008デフォルトの名無しさん2006/02/22(水) 06:13:06
前から思ってたんだけど >>1 の「犬猿」って何?
0009デフォルトの名無しさん2006/02/22(水) 06:20:34
>>8
伝統w
0010デフォルトの名無しさん2006/02/22(水) 07:56:34
ちょっと長いソース貼るならココが便利
http://sourcepost.sytes.net/
0011デフォルトの名無しさん2006/02/22(水) 12:51:06
おお便利。

でも日本語とおらん、UTF-8でないとだめなのかな。
0012デフォルトの名無しさん2006/02/22(水) 15:36:40
今現在、「Swing だから重い」って感じる機会はゼロだなあ。
0013デフォルトの名無しさん2006/02/22(水) 20:29:38
>>1
×犬猿
○敬遠

これだからJava厨は…
0014デフォルトの名無しさん2006/02/22(水) 21:30:04
>>13
>>9
0015デフォルトの名無しさん2006/02/22(水) 22:25:42
SpringLayout普及委員会
0016デフォルトの名無しさん2006/02/22(水) 22:39:00
>>15
IDEが対応してナンボ
0017デフォルトの名無しさん2006/02/22(水) 22:46:33
俺は GridBagLayout 教手書き派
0018デフォルトの名無しさん2006/02/23(木) 00:20:17
趣味でならいいけど、仕事ではつかえないな>手書き
0019デフォルトの名無しさん2006/02/23(木) 00:26:01
SpringLayoutってなんか依存性注入してトランザクションなんか管理しそうだよな。
0020デフォルトの名無しさん2006/02/23(木) 09:55:38
jgoodies forms とか悪くないぜ。
guiエディタは少しバグあるけど使えないレベルじゃないし。

ttps://jgoodies.dev.java.net/
0021デフォルトの名無しさん2006/02/23(木) 10:28:13
GridBagLayout宗 GUIによるプロパティ指定派
0022デフォルトの名無しさん2006/02/23(木) 14:54:05
Visual EditorってあくまでGUI構築ツールのリファレンス実装という形なので、
新しいレイアウトマネージャーには対応する予定はないって話しあったよね。
Visual Editorを元にGroupLayoutとかに対応したのを作ろうっていう動きは
どっかにないのかな。

あ、俺はムリよ。L&F集のコレクションで忙しい・・・。
0023デフォルトの名無しさん2006/02/23(木) 16:04:18
そう言わずに
0024デフォルトの名無しさん2006/02/23(木) 21:17:59
NetBeansでいいやん
0025デフォルトの名無しさん2006/02/24(金) 02:04:32
Synthって普及しないのかな?
substanceで統一させようとか考えてるのか
それともsunの作ったOSに合わせたskinが決定稿なのかな?
0026 2006/02/24(金) 12:29:26
Swingコンポーネントにリスナーを複数登録した場合、イベントが発生して呼び出される順番はきまってるの?
初めに登録したのが先に呼ばれるとか、後から登録された方が先に呼ばれるとか。
0027デフォルトの名無しさん2006/02/24(金) 13:09:13
>>26
原則は順番不定だったと思う。
でもソース見れば順番はわかったりもする。そんなのに依存すべきじゃないけど。
0028 2006/02/24(金) 13:19:04
>>27
どうもありがとう。順番に依存する実装は止めた方がよさそうですね。
0029デフォルトの名無しさん2006/02/24(金) 13:23:04
>>28
順序依存したいならメッセージを順序立てて投げるアダプタクラスつくってやればいいのだ。
そうすることでソースコード上で順序立てたことを表明できるし。
0030デフォルトの名無しさん2006/02/24(金) 15:58:20
>25
スキン作ろうと思わせるアプリケーションが
まだJavaにはないんじゃないかね。
もしくは、Synthを想定してないアプリケーションが多いとか。
0031デフォルトの名無しさん2006/02/28(火) 12:07:53
すいません質問したいのですが、画面表示の切りかえってどうやるんですか?

画面1 → 画面2 → 画面3 → 画面1

みたいにやりたいのですが、画面1から画面2に行くときに画面1が表示されたままになってしまい困っています。
どのようにしたら常に画面表示が1つだけの状態になるのでしょうか?
0032デフォルトの名無しさん2006/02/28(火) 12:18:48
Graphics2Dを使っているなら
g.clearRect(x, y, width, height)
Swingとは関係ないね

JLabelを使っているなら
setIcon(new ImageIcon(hogeImage))
でいけるはず。ImageIconは毎度newせずとっておけば幸せになれる。

0033デフォルトの名無しさん2006/02/28(火) 12:42:14
>>31
つjava.awt.CardLayout
0034デフォルトの名無しさん2006/02/28(火) 15:24:57
質問させてください。
JTextField を2つ作りその中に別々の数値など(例えば、"a","10")を入力して、
String配列を作っておきその中に入力したものが入っているかどうかを調べるときってどうしたらよいのでしょうか?
0035デフォルトの名無しさん2006/02/28(火) 15:31:29
それはAPIリファレンスを読んでいないレベルの質問だな
↓ここをブックマークしなさい。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html

クラスが特定できてるなら、まずここでそのクラスを読み
またその関連クラスを調べれば生産性が大きく向上する。
0036デフォルトの名無しさん2006/02/28(火) 16:50:43
>>34
こんな感じでやればできたから参考にしてみて。
1)JTextField を2つ作る
2)その中に別々の数値など(例えば、"a","10")を入力させる
3)String配列を作っておきその中に値を入れておく
4)String配列に入力したものが入っているかどうかを調べる
0037デフォルトの名無しさん2006/02/28(火) 18:22:11
Javaも6.0からはSWTと同じでネイティブルックになるの?
何かそんなようなこと書いてある記事があったから気になった
0038デフォルトの名無しさん2006/02/28(火) 19:20:57
>>37
ネイティブのAPIを使って描画するようになるから、ルックだけはネイティブ。
フィールは変わらないから、SWTと同じルック&フィールではない。
0039デフォルトの名無しさん2006/02/28(火) 22:05:48
Javaは遅いと言われてるけれど私はその遅さを実感した事が無いのですが、どの程度の事をすると遅く感じて実用的じゃないのでしょうか? そんな実用レベルじゃないJavaアプリケーションを見てみたいのですが誰かどこかにアップしてないでしょうか?
0040デフォルトの名無しさん2006/02/28(火) 22:26:15
ビデオメモリが貧弱なノートでJRE1.3を探してきて実行するといいよ
0041デフォルトの名無しさん2006/02/28(火) 22:34:47
なんでわざわざ遅いの体験するんだろう…
0042デフォルトの名無しさん2006/02/28(火) 22:53:49
Zendは遅いなあ。結構スペックいいマシンでも
いらいらする。再描画もカックンとくる。
0043デフォルトの名無しさん2006/03/01(水) 00:04:28
>>39
Javaが遅かったのはJITの技術の完成度が低かったからだよ。
1.4.2とかjava5以降は不足を感じることはほとんど無い。
0044デフォルトの名無しさん2006/03/01(水) 00:07:36
6.0でどこまでSwingが速くなるか期待したい
βだもうバリバリ動いてるんだろうか
0045デフォルトの名無しさん2006/03/01(水) 00:50:57
1.3.1は大分早くなったと感心したものだ

1.2時代や1.1時代のSwingはきっつい
0046デフォルトの名無しさん2006/03/01(水) 00:53:03
だが Metal が一瞬で飽きるのは相変わらず。
0047デフォルトの名無しさん2006/03/01(水) 00:56:36
>>39
Eclipseも遅い。
NetBeansとか使えたもんじゃない。

言うまでもないが、JavaのGUIは失敗しているので選んではいけない。

どうしてもクロスプラットフォームにしなければならないなら話は別だが。

0048デフォルトの名無しさん2006/03/01(水) 00:58:46
netbeansは軽い(というか普通)だと思うが・・・
SJSE8でJ2EEとか開発してるなら糞重いんだろうけど
0049デフォルトの名無しさん2006/03/01(水) 01:06:08
俺は起動の遅さにびっくらこいたがな。>>NetBeans

まぁ、マシンはセレロン1.2Gのメモリ700MBだから、そんなプアーなマシン使うなと言われたらそれまでだが
0050デフォルトの名無しさん2006/03/01(水) 01:19:18
いや、俺もそんなもんだけど気にならんよ
起動が遅いのがダメならJavaは使わないほうがいいかもね
0051デフォルトの名無しさん2006/03/01(水) 01:19:41
複雑なものを動かすには2GHzは必要かなと思ってる。
遅いと言われなくなるにはもう少し時間が必要だと思う。
0052デフォルトの名無しさん2006/03/01(水) 02:00:23
昔の Java と比べて速くなったなんてナンセンスだな。
普通は同じマシン上で動かしてる別のアプリと比べるもんだから。
まぁ俺は ThinkPad X31 で十分。でも広い画面は欲しい。
0053デフォルトの名無しさん2006/03/01(水) 02:10:21
>>52
アプリ次第では?
おそいおそいといいつつjarファイルダブルクリックしてるだけとか

ヒープ調整しないと最初ヒープ拡張のためにFULLGC連発ですし
0054デフォルトの名無しさん2006/03/01(水) 10:19:33
Tiger で generics もサポートされたことだし
そろそろ Swing は書き直して欲しい。
0055デフォルトの名無しさん2006/03/01(水) 10:48:17
確かに、めんどいよな。Swingのコーディングは。
いちいちリスナ書いてモデル(Swingでなくて自前の方)との接続コードを書くのやだ。

これの同等以上の簡便さが欲しい。
http://pcweb.mycom.co.jp/special/2005/cocoamvc/
モデルを設計するだけで、接続コード一切書く必要なし。
今のところラピッド開発はこれが最強だと思う。
0056デフォルトの名無しさん2006/03/01(水) 12:01:21
>>55
Swingは生APIだから層が違うと思われ
それモデルが万能じゃないだろ

Swingは互換性が命だからVectorをListインターフェースに置き換えるだけでも
かなりきついのが問題か
0057デフォルトの名無しさん2006/03/01(水) 12:21:05
>47
「JavaのGUIが悪い」じゃなくて、
「Swingで作ったアプリのGUIが悪い」じゃないのか?
うまく作ればいいGUIだってできるよ。
下手なやつを作りやすいだけ。
0058デフォルトの名無しさん2006/03/01(水) 12:31:15
> Swingは互換性が命だから
Swing は Swing で進化させつつ
1から作り直したやつも用意すれば良いかと。

生APIは生APIとして作るとして
より上位のレイヤがあっても良い。
WebのMVCは雨後の筍のようにポコポコ生まれてるのにね。
もういいだろ、Webは。
0059デフォルトの名無しさん2006/03/01(水) 12:37:21
>>58
メンテが厳しいのでは
AWTですらいまだに手は入ってるし履歴見るとバグ修正とかかなりでてる

SwingのAPIの数もすごいしね

どっかがSwingベースで簡単に作れるようなのを用意すればいいだけ
ただ、業務系で複雑なテーブルとか使う機会があるからそこはどうかなぁと
0060デフォルトの名無しさん2006/03/01(水) 21:09:53
>>55
それはXcodeとInterfaceBuilderの凄さじゃないか
SwingよりNetbeansとかに求める機能だと思う
0061デフォルトの名無しさん2006/03/02(木) 00:08:30
UIの事はようわからんのに、cocoaやvisualworksなんか、
xml等のスクリプト言語に、レイアウト情報を格納してい
るのに、swingっていまだにコードにレイアウト情報を
直接に書くしかできないの?
0062デフォルトの名無しさん2006/03/02(木) 00:12:34
もう少し日本語を上手に使って下さい。
0063デフォルトの名無しさん2006/03/02(木) 00:14:39
Cocoaはレイアウト情報をXMLやらに書き込んだりしてません。
あれはなんと、オブジェクトをシリアライズしてるんです。
起動時にそれをロードしてるだけ。
0064デフォルトの名無しさん2006/03/02(木) 00:15:16
>>61じゃないが、
「レイアウト情報をコードから分離させろ」
ってことでしょ。
できないわけじゃないけどね。
0065デフォルトの名無しさん2006/03/02(木) 01:50:33
>>61 XMLはスクリプト言語じゃないだろ!マークアップランゲェエエ痔
0066デフォルトの名無しさん2006/03/02(木) 01:51:06
なんでもかんでもXMLでやるな。
Lispの時代のS式厨と同じにおいを感じるぞ
0067デフォルトの名無しさん2006/03/02(木) 02:19:20
C#が1つのクラスを複数のファイルで定義できるのはちょっといいなと思った。
0068デフォルトの名無しさん2006/03/02(木) 02:54:59
>>19
> SpringLayoutってなんか依存性注入してトランザクションなんか管理しそうだよな。

おれもマジでSpring Framework使われてすげー!!と思った


かっくしorz
0069デフォルトの名無しさん2006/03/02(木) 09:31:32
>>67
わかりづらい。
プロトタイプ式に変更したいのではなく、そもそも複数の役割を持つようなクラスは
単にうまく分離できていないだけだと思う。
それとも単に、長いよ、っていう話ならプリプロセッサのantタスク作ってincludeすりゃいいんじゃない?

なんかパックンマックンのコント中コント中コントを思い出したよ。
0070デフォルトの名無しさん2006/03/02(木) 09:36:47
分かりづらいかどうかは単なる言語に対する慣れだろう。C++ でも普通にやってることだし。
0071デフォルトの名無しさん2006/03/02(木) 09:56:08
そのクラスに依存関係のあるクラスだったら
Javaでも1ソース複数クラスかけるしなぁ

とはいえできることとやってもいいとは違うと思う

C#でも1ソース1クラスにしてるところは多いだろ
C++での多重継承とおなじ
0072デフォルトの名無しさん2006/03/02(木) 09:59:30
>>70
おれはC++の宣言と実装が分かれてるところが嫌いなんだよね。
あれは生まれた時の事情をそのままひきずっちゃったというか。
DやらjavaやらC#やらが結構すきなのは1クラス1テキストって対応がとれるからなんだよね。

UIのレイアウト定義を外部に出す系のjavaコードだとThinletってのがあったよ。
実装は小さきを目指したせいでアレだけど。
0073デフォルトの名無しさん2006/03/02(木) 11:06:17
>>72
Cの互換性維持からはじまってるからどうしようもないんだよね
考慮されてないダイナミックリンクと相性は悪いし

Javaはコンパイルされたpublicなclassはすべて手軽なライブラリとして扱えるから
これだけフリーのプロダクトが普及したと思ってるが
0074 2006/03/02(木) 14:27:19
SWingでJTreeやJTableでこったことやろうとするのダウンキャストの嵐になるね。
ダウンキャストといっても本質的に場合分けじゃないけど。
0075デフォルトの名無しさん2006/03/02(木) 14:53:48
>>74
同意。
DefaultMutableTreeNodeとか激しくウザイ。
レンダラやエディタ、モデルをこねくり回すクラスのそこかしこで出てくる。
0076デフォルトの名無しさん2006/03/02(木) 19:35:50
あくまでもインターフェースだからな

実装と分けてるからDefault系がはいるとはかぎらない


のだが、実際のところJTableにしろJTreeにしろDefault系で機能は十分足りる
足りなかったことがないんだよな
せこせことつくったはいいが、実際はDefault系を継承したりする程度で済む

ということばかりだったな
0077 2006/03/03(金) 11:51:26
Swingのテキストコンポーネント(JTextFieldやJTextPane)上で日本語変換をするとき、単語境界の変更が他のWinアプリと違って見にくいのをどうしたら改善できますか。

たとえばIME上で "きょうだいすきな” を入力してその後(スペースを押して)変換させようとしますね。
そうすると "兄弟好きな”と変換されて、Swingコンポーネントでは”兄弟”の部分が選択されたように白黒反転されます。
ここで望ましい変換が"今日大好きな"だとします。
そのためにshiffと矢印キーで単語区切りをを拡張収縮します。すると白黒反転の選択表示が解除されてIMEがどの部分を単語境界とみなしてるかが凄くわかりにくいのです。
普通のWinアプリならIME上で変換のための単語境界を拡張収縮する時は対象の単語が選択状態の白黒逆転表示になるので見やすいのです。そのようにSwingのテキストコンポーネントでするにはどうしたらいいですか。
0078 2006/03/03(金) 11:57:23
わかりにくいかもしらないので具体的に書きます。

「きょうだいすきな」
を変換しようとすると
「兄弟好きな」
になるので
単語「兄弟」の範囲を収縮させて「きょう」にして「今日」と変換させたいとします。
Swingテキストコンポーネントでは単語の範囲境界の変更がすごい見にくいんです。
「きょうだい」から「きょう」に最初の単語境界を移動させる時に普通のWinアプリだとその境界までの文字列が選択されたように白黒逆転されて表示されているんですが、Swingではそうなりません。
0079デフォルトの名無しさん2006/03/03(金) 12:21:38
>>77
変換中テキストの描画してるところで AttributedCharacterIterator の属性弄るとかすれば
出来んじゃないか? とか適当な事を言ってみる。
0080デフォルトの名無しさん2006/03/03(金) 17:35:06
すいませんちょっと質問をしたいのですが、
JTextField でできたテキストに文字を入力(おはようございますとか)した後
テキストボックスをクリックすると自動的に記入していた内容が消える(空になる)ってことはできるのでしょうか?
0081デフォルトの名無しさん2006/03/03(金) 17:36:54
JTextField に FocusListener を仕掛ける。
0082 2006/03/03(金) 18:26:03
>>79
応対してくれてありがとう。その辺を調べてみました。でも難しく理解がまちがってるかもしれない。。
とにかく自分の調べた限りではAttributedCharacterIteratorを使っては属性を変更できないみたいです。
なんかInputMethodListenerを登録してでカスタマイズするのは無理そうな気がする。

InputMethodEventから取り出したAttributedCharacterIteratorから
getAttribute(TextAttribute.INPUT_METHOD_HIGHLIGHT);
を呼び出すと
InputMethodHighlightクラスのオブジェクトが得られます。
それに文字属性のハイライト情報がはいってるみたいで、これを使ってJTextComponentは描画してるんだろうけど、自分では属性を変更できないのでどうしようもない。

というかJTextComponentは文字が選択状態の属性を持っていても、未変換の属性をもっていると白黒反転表示しない。
最終的に文字を描画するのはJTextComponentだからどうしようもない。
0083デフォルトの名無しさん2006/03/03(金) 22:29:18
Swingの例外って

UnsupportedLookAndFeelException

しかないんですか?
0084デフォルトの名無しさん2006/03/03(金) 22:29:20
>>82
まず、「単語境界を移動させる時」も反転してないけど下線が太くなってる。
これは、たぶん太い下線を描くような属性がわたってると思う。
それから、「単語境界を移動させる時」は反転してないけど、
その部分を変換する時は、その部分だけ反転するよね。
これも、たぶん反転させるような属性があると思う。

で、AttributedCharacterIterator が final でなければ
任意の属性を偽装するのはできるよね。ちと面倒だけど。

JTextComponent じゃないコンポーネントでも、InputMethodListener から渡された
AttributedCharacterIterator を Graphics2D で drawString しても同じような結果になるから、
AttributedCharacterIterator を偽装してやれば思ったような描画に出来んじゃないかと思うんだわ。
これは、JTextComponent の processInputMethodEvent 上書きして
super.processInputMethodEvent() に
偽装した AttributedCharacterIterator 渡してやれば出来る。

もっとも、ここまで苦労しても JTextComponent の実装依存なんだけどね。
0085デフォルトの名無しさん2006/03/03(金) 22:34:27
>>83
「Swingの例外」を定義してくれ。

javax.swing パッケージで使われている例外=「Swingの例外」なら>>83の問いの答えは no だ。
javax.swing パッケージ(サブパッケージは含まない)で宣言されている例外=「Swingの例外」なら yes だ。
0086デフォルトの名無しさん2006/03/03(金) 23:41:07
コンポーネントが画面外に出て戻ってくると、
別に何も無かったようにJTextFieldなどはそのまま表示されますよね。
しかしJPanelの上にJTextFieldをのせ、JPanelのpaintComponentを弄ると
JTextFieldは本来の指定された領域が描画されず、フォーカスだけが点滅しています。
このようなケースで上述した画面外から戻ってきたときのような
綺麗な再描画を得るには何を利用すればよいのでしょうか?
0087デフォルトの名無しさん2006/03/03(金) 23:50:11
paintComponent以外もオーバーライドしてる余寒
0088デフォルトの名無しさん2006/03/04(土) 00:07:16
>>87
TimerTaskでrepaintを繰り返してる以外は別に変わったことしてないんですよね・・・
0089デフォルトの名無しさん2006/03/04(土) 11:53:32
paintComponentでやってみたけどやはり問題ないなぁ
0090デフォルトの名無しさん2006/03/04(土) 18:40:59
>>61
レイアウト情報をクラスに書きたくないなら、こういうのがある。
ttp://graftabl.com/staff/shunji/fswiki/wiki.cgi?page=HtmlTablePanel
設定ファイルにHTMLのテーブルタグを書いてレイアウトするパネル。
0091デフォルトの名無しさん2006/03/04(土) 23:15:19
Swingのレイアウトって静的に決まるものじゃないからね
packしてサイズと位置がはじめて決まる

必ず100ピクセルの幅で!とかは一応やれないことになってる
0092デフォルトの名無しさん2006/03/05(日) 02:59:45
SwingでEclipseのコンソール出力みたいに
テキストのログを表示したいんですけど
JTextPaneとかJEditorPanteとかを使うのが定石なんでしょうか?
キー入力とか編集機能は別にいらないんですが、、、
0093デフォルトの名無しさん2006/03/05(日) 03:23:31
JLabelにでも出せば。
0094デフォルトの名無しさん2006/03/05(日) 03:41:58
エラー出力を赤字で出したいって思わない?
だったらJTextPaneを使おうよ、思わないならJTextAreaだね
0095デフォルトの名無しさん2006/03/05(日) 04:13:51
>>94
JLabelでも赤字で出せるんだけど。
0096デフォルトの名無しさん2006/03/05(日) 04:37:58
コピーさせろよおめー
0097デフォルトの名無しさん2006/03/05(日) 13:05:33
>>94

JLabel label = new JLabel();
label.setText("<html><font color=\"red\">エラー</font></html>");

JLabel label = new JLabel("エラー");
label.setForeground(Color.red);
0098デフォルトの名無しさん2006/03/05(日) 18:38:13
>>97
だからコピーさせろー
0099デフォルトの名無しさん2006/03/05(日) 18:54:09
>>98
何を?
0100デフォルトの名無しさん2006/03/05(日) 19:06:50
ログだろ
0101デフォルトの名無しさん2006/03/05(日) 19:16:55
>>100
やっとわかった、出てきたログをテキストとしてUI上からコピーさせろと言う意味だったのか。
略しすぎると基地外の戯言にしか見えんぞ>>98
■ このスレッドは過去ログ倉庫に格納されています