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

Java低速GUI Swing

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
そんなSwingとやっていくみんなのスレッドです。
0002デフォルトの名無しさんNGNG
関連スレ

Java 高速GUI SWT
http://pc2.2ch.net/test/read.cgi/tech/1032448424/l50
0003デフォルトの名無しさんNGNG
超高速で2(σ・∀・)σゲ ッツ
0004デフォルトの名無しさんNGNG
3GHz の CPU ならそんなに遅くナイヨ
0005デフォルトの名無しさんNGNG
まあ、なんだ
Swingの質問はなんかやたらと最近多い
自分のやりたいことやるのに結構苦労するよな。
まず、描画に関してスレッドの理解。
JTreeも使いこなそうとすると、結構難しいし
テキストコンポネなんか結構奥深いし・・・
自分も仕事でJavaやってますが
GUIに関しては、レベル低いですね多分。

というわけで、ネタっぽいのだが
Swing質問の需要はあると思われ
良スレとなることを期待します
0006デフォルトの名無しさんNGNG
全然遅くはないんだけど、時々引っかかる感じがする。
そんなのない?
0007デフォルトの名無しさんNGNG
>>6
イベントディスパッチスレッドで馬鹿な処理をするとそうなるな。
分かってない奴にイベントリスナを記述させるべきでないんだよな。
0008デフォルトの名無しさんNGNG
>>6
あるね、引っかかりが
(Pen4 2.4GHz メモリ512MB)
SunONE4とか、ああいう重めのアプリの場合
かなりはっきりわかる。
同一パネル上のコンポーネントを
そっくり取り替える処理が非常に遅く感じる
昔はメニューとかの描画のゴミが酷かったけど
今はほとんどなくなってきている
マターリ進化してくれているだけでもうれしいが

あと、前から気に食わないのが
JTableの中の文字編集する時
カーソルが最初表示されない。
クリックして編集モードに入っているはずなのに
カーソル表示されないのでわかりづらい
コンボボックスとかJTableに挿入するのも
かなりメンドクサイし・・・

つい最近、SpringLayoutを大体使いこなせるようになってきた
なんかあったら質問してくれ
0009デフォルトの名無しさんNGNG
低速ねえ。
GUIの中で最も低速?
0010デフォルトの名無しさんNGNG
Swingは遅さよりもその独自色の強さに敬遠
0011デフォルトの名無しさんNGNG
なんかJavaつまんなくなってきた
0012デフォルトの名無しさんNGNG
俺も。
Swingの代わりにSWTが入ってたら大分違っただろうけど。
0013デフォルトの名無しさんNGNG
そんなあなたにJ# & Windows.Form
0014デフォルトの名無しさんNGNG
そんなあなたにDelphi & CLX
0015デフォルトの名無しさんNGNG
Swingでも、ビックリするぐらい、早いものもある。
技術力次第ってことか。
0016デフォルトの名無しさんNGNG
>>8
>同一パネル上のコンポーネントを
>そっくり取り替える処理が非常に遅く感じる
これは、組み方が悪い。
0017デフォルトの名無しさんNGNG
SWING はちょっとな、あのクラスローディングの長さはいかんともしがたい。
001817NGNG
だから、せめてアプレットにはSWING使わないでくれといいたい。
フツーのアプリケーションにならいいが。
0019デフォルトの名無しさんNGNG
数年で首になった日立ソフトの社長
http://images.google.co.jp/images?q=%E5%85%BC%E6%B8%85%E3%80%80%E6%97%A5%E7%AB%8B&ie=UTF-8&oe=UTF-8&hl=ja
中村輝雄本部長
http://images.google.co.jp/images?q=%E4%B8%AD%E6%9D%91%E8%BC%9D%E9%9B%84&ie=UTF-8&oe=UTF-8&hl=ja




0020デフォルトの名無しさんNGNG
Celeron 400MHz のマシンを使ってるけど
Swingは重たいなぁ
0021デフォルトの名無しさんNGNG
Swingじゃなければ何がいいの?
0022デフォルトの名無しさんNGNG
業務でSwing使おうって決まるのって何が決め手になる場合?
0023デフォルトの名無しさんNGNG
>>22
他の選択肢はAWTとSwingしかないので、それらとの比較になるわけです。
AWT -> Widget少ないので仕様を満たせない
SWT -> Java標準じゃないし配布が面倒
なので消去法でSwing。SWT使いたいんじゃー!!
0024デフォルトの名無しさんNGNG
>>16
俺に言われてもね〜
0025デフォルトの名無しさんNGNG
SWTの配布が面倒ってどういうことなんだろう。
アーカイブで配るときは共有ライブラリいれておけばいいし、
WebStartでも配置できるよね。アプレットくらいじゃないの、
SWTが全然使えないのって。
0026デフォルトの名無しさんNGNG
>>25
誰が面倒だって?
jarとdllを一緒に配ればいいんだよ
何も難しくない
ライセンスにもまったく引っかからない
0027デフォルトの名無しさんNGNG
>>26
>誰が面倒だって?
>>23
002823NGNG
そうだよ、難しくないんだよー。
だからうちの上司説得するの手伝ってくださいマジで。理由はよくわからんけどSWTは気にいらんらしい。
0029デフォルトの名無しさんNGNG
Java Web Startを使用して、SWTアプリケーションを配置する
http://www-6.ibm.com/jp/developerworks/opensource/030822/j_os-jws.html
0030デフォルトの名無しさんNGNG
つーか、SWTのコンポーネントって全て知らないんだけど
そのOSで用意されている(って言うのかなんていえばいいのかわかんないけど)
コンポネは全て使えるのか?

あと俺の疑問としては 
テキストコンポーネントのカット&ペーストなどの動作は
どうやって実装するのか?
Swingなら楽だがSWTはどうやってるのか
0031デフォルトの名無しさんNGNG
OSネイティヴのコントロールならカット&ペーストは標準で(OS依存で)ついてるんじゃないの?
0032デフォルトの名無しさんNGNG
>>31
いやだから、それを操作するようにプログラミングする必要があるのかと思ったのだよ
AWTと同じと思っていいのか?
0033デフォルトの名無しさんNGNG
>>23
俺も同じように真っ先にSwingを選んだ。
これ後でこまるってことは内科ね?

いまんところGUIには力を入れていないんでそんなに困ることも無いわけだが。
0034デフォルトの名無しさんNGNG
>>23
上司にしてみれば
なぜワザワザSWT使う必要があるのか?と思ってるんじゃないの?
0035デフォルトの名無しさんNGNG
>>34
SWTにして利益があるのはプログラマと顧客だけで、
会社や上司にはメリット無いからなー
0036デフォルトの名無しさんNGNG
プログラマと顧客にメリットがあるって説得すればいいじゃないか
というかここはSwingスレだよみなさん
0037デフォルトの名無しさんNGNG
>>36
でも、そのメリットって言うの説明できる?
どう考えたって、現状ではSwingの方が浸透してるし
そくどが早いって言うのが、それほどの説得材料になると思えない
0038デフォルトの名無しさんNGNG
>>36
で、結局 SWT を使うメリットって何なの?
0039デフォルトの名無しさんNGNG
「当分は」Swingより速い。だけでしょ。
だけといっても、それが重要なんですが。
0040デフォルトの名無しさんNGNG
Swingが爆発的に遅いわけでもないのでその理由は却下だろ?
0041デフォルトの名無しさんNGNG
むしろSWTの方が爆発的に遅い場合がある。
004236NGNG
すみませんでした。
知ったかぶりしてますた。
0043デフォルトの名無しさんNGNG
>>42
あんただれ
0044デフォルトの名無しさんNGNG
>>43
36って書いてあるやん
0045デフォルトの名無しさんNGNG
騙る番号間違えてないか
0046デフォルトの名無しさんNGNG
>>42
> すみませんでした。
> 知ったかぶりしてますた。
この騙りの手口はJBuilder9スレにいた香具師と同じ手口だ。
0047デフォルトの名無しさんNGNG
.netのGUIとどっちが早い?
0048デフォルトの名無しさんNGNG
Swingで使い物になるHTMLコンポーネント出ないかなあ。
JEditorPaneでAAのスレ開いたらいつまで経っても
固まりつづけて、VMごと落としたよ。
0049デフォルトの名無しさんNGNG
swing1.4系が1.3系と比べてどれくらい速度が向上したのか、
詳細な比較情報ってないですか?
体感だと30%くらい高速化してそうに思えるんですけど。
0050デフォルトの名無しさんNGNG
>>48
AAに使われてる文字はJavaSwingのTextコンポネ
では文字化けしやすい(文字探してる)から
処理が非常に重くなる
0051デフォルトの名無しさんNGNG
>>50
すみません、教えて。
内部的にはUNICODEなんだし、AAで使われてる文字だと重くなるって
よくわからないんだけど・・・
扱い的には漢字とかと同じじゃないの?
0052デフォルトの名無しさんNGNG
AAは妙な機種依存文字が使われてるんじゃねーの?
普通はまず出ないようなやつが。
0053デフォルトの名無しさんNGNG
まだSWTに移行しない香具師がいるのか?
ヴァカ?
0054デフォルトの名無しさんNGNG
まだ、Swing (1.4.2) で十分って、気づかない奴もいるのか(笑)
SWT はあくまで、Eclipse を作るためのものさ!
Swing で何の問題もない!
0055デフォルトの名無しさんNGNG
まだSwing1.4.2で十分なんて思っている奴もいるのか(爆笑)
このペースでいくと、
3年後にやっとパソコンのスペックがついてきて
6年後にやっと十分な機能とインターフェイスが提供される・・といったところか

それまでJavaが生きていればの話だが
005655NGNG
かといってSWTに移行するのもバカ
Swingがダメだと気づいたら
クライアントは素直にネイティブ言語つかえっちゅーねん
今はC#とかもあるんだし
0057デフォルトの名無しさんNGNG
C#は微妙にネイティブとは呼べないなあ
0058デフォルトの名無しさんNGNG
結論:MFC最強
0059デフォルトの名無しさんNGNG
結論:VCL最強
0060デフォルトの名無しさんNGNG
結論:AWT最強
0061デフォルトの名無しさんNGNG
ここでボケて(AA略)
0062デフォルトの名無しさんNGNG
MFC>Swing>AWT>SWT>>(超えられない壁)>>>VCL
0063デフォルトの名無しさんNGNG
>>62
それは逆にすればいいのか?
0064デフォルトの名無しさんNGNG
>>63
いや、合ってるだろ。糞さ加減順だよ。
0065デフォルトの名無しさんNGNG
>>64
なるほど。
しかし C# をあのように作ったのだから、MS も自覚はあったんだろうね。
0066デフォルトの名無しさんNGNG
MicrosoftはOfficeで使ってるフレームワークを公開していれば最強だっただろうに
0067デフォルトの名無しさんNGNG
Swingほどしっかりとモデル化されたGUIコンポーネントは他にはないよ。
優れているかどうかはまた別だろうけども。
0068デフォルトの名無しさんNGNG
特にGUIのようなパフォーマンスにセンシティブなライブラリにおいては
OO的な設計の良さはしばしば欠点に数えられる。
0069デフォルトの名無しさんNGNG
Visual Component Library 最強
0070デフォルトの名無しさんNGNG
Swing!Swing!Swing!Swing! Hey! 二 木 !
Swing!Swing!Swing!Swing! 二 木 ゴ ル フ ♪
0071アブノーマルNGNG
普通、マウスイベントを駆使して自作GUIクラスライブラリ作るだろ。
0072デフォルトの名無しさんNGNG
何厨房装ってんだよ
0073デフォルトの名無しさんNGNG
Swing API で SWT を使用することができるそうだ。
Swing で書かれている NetBeans が SWT、つまり OS ネイティブの GUI で動いたみたい。

http://swingwt.sourceforge.net/
http://swingwt.sourceforge.net/swingwt.png
0074デフォルトの名無しさんNGNG
>>73 SWTの上で動かすAWTの次は、SWTの上で動かすSwingですか。
Swingの上で動かすSWTもあるし、なんでもありだな。
0075デフォルトの名無しさんNGNG
屋上屋を重ねるとは正にこのこと。
0076デフォルトの名無しさんNGNG
じゃあさ、SWTの上で動かすSwingの上で動かすSWTの上で動かすSwingの上で
SWTを動かすってのはどうだろうか?
あ、いま俺いいこと言った?
0077デフォルトの名無しさんNGNG
>>76
な、なんだってーー!!
0078デフォルトの名無しさんNGNG
AA(ry
007973NGNG
ごめん。SwingWT で NetBeans が動くわけじゃなかった。
SwingWT のライブラリを import しないといけないので、
Swing と完全なソースコード互換ではないです。
0080デフォルトの名無しさんNGNG
>>56
そうもいかんさ。共同作業だから。
c++で組めば速いに決まってんだけど
c++がきちんと書けるPGってほとんどいないし。
0081デフォルトの名無しさんNGNG
>>80
SwingがきちんとかけるPGのほうが更に少ないと思うのだが、、
SWTなんかだと、ほとんど誰も書けるPGいないだろうに
0082デフォルトの名無しさんNGNG
C+SDK からの移行なら、SWTの方が簡単にくめるね!
まぁSwing の方が簡単だろうけどね。
0083デフォルトの名無しさんNGNG

   Y 

恥ずかしい丘
0084デフォルトの名無しさんNGNG
>>81
自称C++PGの大半は文法理解できてないですよ。
だからC++PGはぐんと少ないと思いますよ。
0085デフォルトの名無しさんNGNG
実際、自称C++プログラマほとんどがオブジェクト指向も理解できないCオンリープログラマだったりするんだよな。
0086デフォルトの名無しさんNGNG
C++はオブジェクト指向言語じゃないし・・
0087デフォルトの名無しさんNGNG
なんでここでC++話になるんだよ場をわきまえろ
0088デフォルトの名無しさんNGNG
私は Java で GUI プログラミングをしたことがないのですが(AWTすらしらない)、
いまから GUI プログラミングをするには、何にしたらいいですか?
SWing ? SWT ? やっぱり基本ってことでAWT?

ちなみに Java、オブジェクト指向の基本は抑えているつもりです。
0089デフォルトの名無しさんNGNG
Swingは簡単だよ。
javax.swing.*
以下のJavadocを全部読め。
009084NGNG
>>86
うるせーばか
>>87
ごめんなさい
>>88
決定版がないのよ。
0091デフォルトの名無しさんNGNG
>>88
C+SDK 経験者なら、断然 SWT が簡単
経験無ければ、本も情報もいっぱいあるので、Swing で コピペプログラムがよいのでは?
009288NGNG
>>89-91
レスどうもありがとう。まずは Swing に手をつけてみます。
オブジェクト指向の設計としては Swing はよくできているらしいので
(そうでないという意見の人もいますが、とりあえずここではそれはおいとく)

>>91
C+SDK はやったことがありません。
自分の GUI プログラミングの経験といえば、Unix で emacs + gcc で、生Xlib でいくつかツールを
作ったぐらいです。
0093デフォルトの名無しさんNGNG
>>88
それが良かろう、基本って事で
0094デフォルトの名無しさんNGNG
>>92
Xlib 生で自分でライブラリー作ってきているなら、SWT が楽かも
まぁそれぐらいのスキルがあれば Swing も問題ないだろうけど。面倒って感じるかも(1週間ぐらいは)
0095デフォルトの名無しさんNGNG
SWTとSwingなら、スキルに関わらずSwingが楽でしょう。
0096デフォルトの名無しさんNGNG
Swing好きなんでage。
やっぱSwing人気ないな。
使いこなすと本当に無理が効くいいライブラリだと思うんだが、
いかんせん速度と見た目がねえ。
0097デフォルトの名無しさんNGNG
>速度
・イベントディスパッチスレッドを理解する。
・応答性が必要なとこでちゃんとマルチスレッド化する。

上の二点に気をつければ遅くないよ。
0098デフォルトの名無しさんNGNG
慣れないと開発速度が「遅く」なりそうだよな
0099デフォルトの名無しさんNGNG
仕事で超リッチなクライアント作ってるが
最長一ヶ月ぐらいあればなんとなくどんなクラスがあるか覚えるだろ。
マルチスレッド非対応ならだが。
EJBの反応が悪いので(w GUIの遅さはよくわかりませんと言う感じ。
>>98
何だろうが最初から慣れてる奴なんかいない
0100pyスレから来ましたNGNG
Swing はJython 使うと perl/tk 以上に使いやすい
(体感開発速度が上がる)感じがした。

どうせ遅いんだしJython使っちゃおう。
0101デフォルトの名無しさんNGNG
>>98
慣れても開発が速くならないMFCというのもあったな。
Swingは開発が進むと、クラスという形で「慣れ」が残っていく。
0102デフォルトの名無しさんNGNG
>>100
Javaじゃないものを組み合わせると
リファクタリングツールなんかが効かなくて不便かなと思った.
XSLみたいな比較的独立したものならいいけど,
メソッド起動とか絡むとね.

でもちょっとしたツールであれば,スクリプト系は良いね.
0103デフォルトの名無しさんNGNG
Jythonはスクリプトと言う扱いなの?
0104デフォルトの名無しさんNGNG
いえ。殺人鬼です。
010596NGNG
お、返事付いてる。
>>97
俺はイベントディスパッチスレッドもマルチスレッド化がなぜ必要かも
理解しているつもりだよ。
ただ、微妙なモッサリ感とか、しばらくほったらかしてから
ウインドウを前に出したときに数秒間グレーののっぺらぼうウインドウが
表示されて反応なくなったりすることとか、直接Swingと関係ないけど
JPEGデコーダーの性能がため息出るほど悪くて
使いものになるグラフィックビューアなんて絶対に書けないこととか、
ちょっとは愚痴りたくなるよ。

ただ、造りが理論的に綺麗だから、理論的にこういう事できそうだな、
と思って実装するとほとんど間違いなくちゃんと動いてくれるのは
すごいと思うよ。
0106デフォルトの名無しさんNGNG
>JPEGデコーダーの性能がため息出るほど悪くて
>使いものになるグラフィックビューアなんて絶対に書けないこととか、

速いJPEGデコーダーを自作すればいい。
0107デフォルトの名無しさんNGNG
JPEGデコーダから自作しなきゃならんライブラリか…。
開発効率悪すぎだな。話にならねー。
0108デフォルトの名無しさんNGNG
jniの魔法を使って最速のJPEGデコーダIJLを召還・・・・・できるのか?

しかもWindows専用という罠が待っている
0109デフォルトの名無しさんNGNG
結論としては、MFC最強?
0110デフォルトの名無しさんNGNG
WTL最強
0111デフォルトの名無しさんNGNG
Swingってスレッドセーフじゃないってマジですか?
0112デフォルトの名無しさんNGNG
マジです
0113デフォルトの名無しさんNGNG
>>97
>>105

Jpeg デコーダは dll なので、そんなに遅い感じはしません(Pentium 4 なら)
十分使用に耐えますけど。。。
0114デフォルトの名無しさんNGNG
IJL以外のほとんどの実装の場合、
最速で連続表示すると実用に耐えない
PC3200 DualChannelとAthXP3200+を使っていても。
0115デフォルトの名無しさんNGNG
「最速で連続表示」?
0116デフォルトの名無しさんNGNG
とりあえず1.5に期待
0117デフォルトの名無しさんNGNG
>>114
113 の者です。
マジレスで。。。表示時間よりHDDの時間が遅いんだと思います。。
連続で最速での表示なら。。。。
時間をあけるんなら、別スレッドで読み込みましょう!
(賢い Viewer はみんな やっているんでしょうから。。 CPIC なんか驚異的にはいですけどね。。
ほかの、おもちゃの Viewer 程度なら。。 Java+Swing で十分なのでは?)
0118デフォルトの名無しさんNGNG
>>111-112
いまどき、ショボ杉。
0119デフォルトの名無しさんNGNG
AWTでも使ってろ
012096NGNG
>>113
自分のメインマシンは2年前のB5ノートなんだけど、
この環境では文句無しにHDよりデコード速度のほうが遅いよ。
もちろん「速いマシンに買い換えろ!」というのももっともだと思うけど、
Java以外じゃそんなに不足感じてないんで、買いかえるのにけっこう悩む。
あと、画像ビューアの場合、少なくとも次画像の事前読み込みは必要だと思うけど、
でかい画像を開いたときに、それが全部ヒープ領域に入るから、
ヘタにでかい画像を連続表示するとOutOfMemoryErrorで落ちたりする。
切ない。
デフォルトの64メガヒープを128メガにでもすれば大丈夫だろうが、
たかだか画像ビューアでそれは贅沢すぎるんじゃないか、と思わないかい?

>>119
>AWTでも使ってろ

あんなやっつけ仕事で作られたライブラリはさすがに勘弁。
0121デフォルトの名無しさんNGNG
>>120はVCでMFCでも使ってなさいってこった。
0122デフォルトの名無しさんNGNG
SWTつかえよ
0123デフォルトの名無しさんNGNG
>>120
う〜ん 作りかたが悪いんだろう(笑)
私のは大丈夫。。。。。
まぁ正直 遅いCPUは知らん(笑)

Z-80 から、こんなことやっているが。。。
先を見ないと!
0124デフォルトの名無しさんNGNG
>>123
文意がつかめないのですが……
0125デフォルトの名無しさんNGNG
>>108
ここはひとつJNIの魔法を使ってSDLを召喚
0126デフォルトの名無しさんNGNG
マシンを買い換えてから、
以前まで毛嫌いしてたSwingが使えるレベルになった。
でもわざわざJavaでクライアントアプリを作る理由が見出せない。
Delphiでいいやん。
0127デフォルトの名無しさんNGNG
わざわざ今更Pascalで何かを作る理由が(r
0128デフォルトの名無しさんNGNG
ネイティブのJavaとネイティブのswingがあればいいのでわなかろか。
continner.add(Integer(1))なんて見るとJavaよりC++の方がいいんだが、
周囲がC++を嫌うしなぁ。
0129デフォルトの名無しさんNGNG
Swingはネイティブにするのは無理だろ。
あれは最後の描画以外全部Javaの中でやってるのが特徴で、
拡張性の元になってるんだから、
ネイティブにしたらSwingじゃなくなっちゃうよ。

0130デフォルトの名無しさんNGNG
Javaで拡張できればいいということなら、
ネイティブなJavaでコンパイルされたswingでもだめかな?
0131デフォルトの名無しさんNGNG
JavaにGUIなんか要らないよ。
0132デフォルトの名無しさんNGNG
>>131
組み込み系の人?
0133デフォルトの名無しさんNGNG
>>132
最近ではServletのことも組み込みって言うんですね。
0134デフォルトの名無しさんNGNG
Write once, run anywhere を生かしたものでないと
あえて Java を使う意味がないような気がする
0135デフォルトの名無しさんNGNG
GUIなしのプログラムならC++の移植ってそんなに大変じゃないです。
C++でCGI書くのもつらくないんです。
むしろGenericsが標準になってないJava言語には魅力がないんだよね。
メリットはswingだけ。
0136デフォルトの名無しさんNGNG
>>130
ネイティブコンパイルは多少パフォーマンスは上がるけど、
それで問題が全部解決するってのは幻想だよ。
Swingは良くも悪くも全部Java(コンパイルされてもね)の上で
描画されてるんだから、ネイティブコンパイルしたからって
JButtonがネイティブのボタンになるわけじゃない。

>>135
俺はJava厨だからよくわからないんだけど、Genericってそんなに必要なの?
Collectionで使うなら便利かもな、とは思ったけど。
0137デフォルトの名無しさんNGNG
C++ユーザーがJava使うと激しく落胆するのはGenericsが標準でないこと。
ため息出てくる。でもswingは好き。パネルレイアウトとかgtk+より進歩的。
C++のGUIクラスライブラリをswingと同じ設計でやってほすい。
0138デフォルトの名無しさんNGNG
Genericsは、プログラム書くのと同じくらいドキュメント書くのに精力尽くさないと、
他の人(半年後の自分を含む)が再利用どころかメンテナンスできないものになっちゃうよう。

実際、他の人たちはどうやって上手にメンテナンスしてるのか知りたいわ。専用スレ逝ってきます。
0139デフォルトの名無しさんNGNG
>>133
サーバーに組み込んで使うから(ウソ)
0140デフォルトの名無しさんNGNG
Swing無知の私です・・・
GUI画面を作ろうと思ってるのですが、調べてもさっぱりわからず・・・ソース
書いても思惑通りならず・・・。
JBuilderとかEclipsみたいな、セパレートされたGUIを作成したいのですが、
どこか参考になるソースやらサイトって、ありませんか?
何を使ったらああいうビジュアルになるのか・・・
0141デフォルトの名無しさんNGNG
セパレートされたGUIってなんじゃ
0142デフォルトの名無しさんNGNG
すいません、言い方悪かったです。
ツリー領域やら、テキスト編集エリアや、エラー情報など、
縦横に分割されていることをいいたかったのです・・・。
0143デフォルトの名無しさんNGNG
それはスプリットペインと呼ばれるものだ
0144デフォルトの名無しさんNGNG
これを調べてもまだ判らなかったら…もうだめぽ。
http://java.sun.com/docs/books/tutorial/uiswing/components/splitpane.html
0145デフォルトの名無しさんNGNG
>>144
1枚目の画像,グロかと思た……
0146デフォルトの名無しさんNGNG
スプリットペインというのですね

チャレンジしてみます。ありがとうございます。
0147デフォルトの名無しさんNGNG
>>140
もしかしてレイアウトマネージャについて理解してないんじゃない?
もしもそうなら、BorderLayout, FlowLayout, FridLayout, GridBagLayoutで
ググってみ。
0148デフォルトの名無しさんNGNG
>>104
それはジェ
0149デフォルトの名無しさんNGNG
かっこいい Swing ルックアンドフィール見つけたよ。
GPLで配布されてます。

http://www.geocities.com/shfarr/
0150デフォルトの名無しさんNGNG
うわ、じじくさ
0151デフォルトの名無しさんNGNG
L&Fごときで、GPLに感染するのはちょっとなぁ。
0152デフォルトの名無しさんNGNG
ちょっと、というか全然ダメダメ
0153デフォルトの名無しさんNGNG
JTabbedPaneに、コンポーネントを追加したんですけど、
タブ部分に、そのコンポーネントの取り消しボタンを設定するには
どうやればいいのでしょうか・・・
0154デフォルトの名無しさんNGNG
まず、そんなアフォなUIは考え直そう。
0155デフォルトの名無しさんNGNG
>>145
・・・。思うか?
0156デフォルトの名無しさんNGNG
>>154
Eclipseなどファイルごとにタブができるエディタや
ページごとにタブができるブラウザ… アフォなUIですかね?
ファイルやページを閉じるときにタブの×を押す。直感的だと思うけど。
0157デフォルトの名無しさんNGNG
SwingのL&FならまずSkinLF
http://javootoo.l2fprod.com/plaf/skinlf/index.php
0158デフォルトの名無しさんNGNG
SwingのL&Fならまずあきらめろ
0159デフォルトの名無しさんNGNG
SWTスレ落ちた?
0160デフォルトの名無しさんNGNG
>>159
みたいね。
0161デフォルトの名無しさんNGNG
SWINGのL&Fいいじゃん。
0162デフォルトの名無しさんNGNG
メタルだけは、鈍臭くて好きになれん。
0163デフォルトの名無しさんNGNG
Windowsで、GTKLookAndFeelって対応してる?
切り替えるとなんかおかしくなるんだけど。
0164デフォルトの名無しさんNGNG
>>163
WindowsXP Pro + build 1.4.2-b28 の SwingSet2 で
LookAndFeel を GTK にしたけどパっと見てそれほど変なところは無かったような。

なんかおかしくなるって具体的には?
0165デフォルトの名無しさんNGNG
>>164
> なんかおかしくなるって具体的には?

Backgroundの色がおかしくなるというか・・・。とりあえずサンプル
作ったので一旦GTKにしてから、ほかのL&Fに戻して、フレームのサイズ
とか変更してみてください。右のパレットが描画されなくなってしまう。

ttp://www2.makani.to/akutoku/upload/dat/1068295978.lzh
0166デフォルトの名無しさんNGNG
>>165
失敗。
ttp://www2.makani.to/akutoku/upload/v.cgi?s=http://www2.makani.to/akutoku/upload/dat/1068295978.lzh
0167デフォルトの名無しさんNGNG
>>165
http://developer.java.sun.com/developer/bugParade/bugs/4931101.html
BugParade みたけど Windows 用 JDK1.5 では GTK LookAndFeel は使えなくなる予定だって。
ひょっとするとバグ多すぎるので Sun の GTK LookAndFeel 作ってる連中が投げた可能性も…

っつか、JDK 1.5.0 の b22 とかって early access とか見ても無いけど
Sun 内部とかでテストしてるって事なんかいな?
0168デフォルトの名無しさんNGNG
>>165
1.4.2-b28 で GTK LookAndFeel に変更した時と
GTK LookAndFeel から他の LookAndFeel に変更した時に確かに変になるね。
0169165NGNG
>>167
ま、L&Fに凝りまくられるより、速度とかに力入れてくれるほうがありがたいですしね。
実際速くなってるし。

>>168
とりあえず、自分の環境だけという訳ではなさそうなので、WindowsではGTKLookAndFeel
は、使わないことにしときます。
0170デフォルトの名無しさんNGNG
GTKすらまともに実装できないとは…やっぱクライアントサイドのJavaって糞だな。
0171デフォルトの名無しさんNGNG
170は何もわかってない予感
0172デフォルトの名無しさんNGNG
swingで質問です。
今、Linux上で複数のWindowを表示するアプリ作ってるんですけど、
Windowを移動させようとするとWindow同士が(正確にはPanel等も)
ぺたぺたくっついて、動かしづらいのですがなんとかならないんでしょうか?

WindowManager?の設定は変えたので、Java以外のアプリ(Ktermとか)は
くっつかないようになったのですが。

環境はRedHat Linux7.3でGNOME使ってます。
0173デフォルトの名無しさんNGNG
Windows XP + VC++ + MFCに乗り換えるのはどうだろう。
0174デフォルトの名無しさんNGNG
>>173
死滅ライブラリキター
0175デフォルトの名無しさんNGNG
互換性に期待してJavaアプリを組んでるやつは
wxWindows/WideStudio/Qtに流れたほうがいいかモナー。
ランタイムの互換性がたいした事ないから、いっそ
再コンパイルを通したソース互換の方がいいじゃん。
0176デフォルトの名無しさんNGNG
おそらく Swing のせいだと思うんだけど JRE がどんどん肥大化してるね。
JRE1.4.1 で 9MB だったのに JRE1.4.2 になったとたんに 15MB とは…。
0177デフォルトの名無しさんNGNG
ほんとだ。増えてるね。
でもswingだけで5MBも増えるとは思えんが...
0178デフォルトの名無しさんNGNG
>>175
正直互換性目的だけでJavaを勉強しはじめましたが
そうかもしれません・・・。でもJavaは日本語ドキュメントが
多いので短期間で習得できるのです。。。
0179デフォルトの名無しさんNGNG
>>176
年々ハードディスク容量も増えてるからいいんじゃないの?
0180デフォルトの名無しさんNGNG
そういえば、SWTって結局殆ど流行らないまま消えそうだね。
0181デフォルトの名無しさんNGNG
そもそもクライアントサイドのJavaが(ry
0182デフォルトの名無しさんNGNG
>>181
略すな!!

でも、Javaアプレットくらいは生き残ってホスィ・・・
1.4以上のJREを前提にしたアプレットって、作っても使ってくれるかね?
0183デフォルトの名無しさんNGNG
アプレットこそ風前の灯じゃないか
0184デフォルトの名無しさんNGNG
1.4以上でないとホイールマウスも機能しないしイヤン。
0185デフォルトの名無しさんNGNG
1.4以上を対象にするのなら、アプレットでなくともJavaWebStartで…。
0186デフォルトの名無しさんNGNG
>>185
同意。
少なくともJavaWebStartはいまだにFlashとかに対する
アドバンテージ持ってるからね。

思うんだが、もしもアプレットのセキュリティの縛りがゆるくて、
ローカル資源にアクセスできたら(ただし確認ダイアログが出る)、
あれってもうちょっと普及してたんじゃないかな。
アプレットには安全だけど役に立たないってイメージあるんで。
0187デフォルトの名無しさんNGNG
共用のデータベースやWebベースのグループウエアの
GUIとしてSwingアプレットはちょくちょく見るけどな。

事務系ではなく、開発・設計などだからクライアントの
スペックが比較的高めだからかもしれんが。
0188デフォルトの名無しさんNGNG
> 思うんだが、もしもアプレットのセキュリティの縛りがゆるくて、
>ローカル資源にアクセスできたら(ただし確認ダイアログが出る)、
そうそう、それで、カチューシャ的な専用ブラウザを
アプリケーションでシコシコ作る羽目になる。
0189デフォルトの名無しさんNGNG
セキュリティ解除のプログラムを配れ
0190デフォルトの名無しさんNGNG
マイクロソフトの自動アップデートで1.4.2うpできるようになるのは
いつ頃ですか??
0191デフォルトの名無しさんNGNG
>>190
うpなんてできるのか?DLだろ?
0192デフォルトの名無しさんNGNG
>>191
Microsoft が Java を独自拡張しようとして Sun に訴えられた裁判での話で、
Sun の 「WindowsUpdate で Sun の JRE を配布すれ」とゆー要求が通って、
裁判所による仮処分命令(?) だったかが出た事があるんよ。

その仮処分命令(?)は結局無効になったはず。
0193デフォルトの名無しさんNGNG
>>186
iアプリみたいな感じだね。

Flashは、アプリケーション版も出すって話ない?
0194191NGNG
>>192

(こんなことわざわざ言う必要もないのだが)

190の発言
「1.4.2うpできるようになるのは 」
この「うp」というのがアップデートの意味ならわかるが
通常は「うp」といえばアップロード
そう考えると190の発言の意味は
「WindowsUpdateで1.4.2をアップロードできるようになるのは いつ頃ですか?? 」
というように意味が通らなくなる。
俺が言いたいのは「アップロードではなくてダウンロードだろ?」と言いたいだけだ

0195デフォルトの名無しさんNGNG
「うp」自体正式名称ではないんだし、それにわざわざ突っかかるようでは
人生で他に他者より優越する機会が無いのかと憐れみを持たれるだけなのでは?
0196191NGNG
(こんなことわざわざ言う必要もないのだが)

そうだよ
0197デフォルトの名無しさんNGNG
(こんなことわざわざ言う必要もないのだが)

2chにわざわざ書く必要があることなどなにもない。
0198デフォルトの名無しさんNGNG
(こんなことわざわざ言う必要もないのだが)

↑これは空気的にお約束で付加しないといけないのですかね?
0199191NGNG
(こんなことわざわざ言う必要もないのだが)

そうだよ
0200デフォルトの名無しさんNGNG
おれは>>190をさらっと読んで、
「マイクロソフトが、SunのJavaVMをマイクロソフト自身のWindowsアップデート用サーバに、
アップロードしておくことができるようになるのは、いつ頃だろうか」と解釈。

>>186
そういえば、ネットスケープやIEはともかくとして、たしか最初にJavaアプレットを実装した
SunのJavaで作られたブラウザは、ローカルな資源も扱えたような気がする。
>>186については、俺も同感。
0201デフォルトの名無しさんNGNG
まあもちろん、ホームページにアニメーションや音を加えて華やかにしたい、
というだけの需要は、その後登場したフラッシュによって置き換わっていっただろうけれど。
もしアプレットがローカルな資源をいじれたら、もっと色々な利用方法があっただろうに。
0202デフォルトの名無しさんNGNG
IBMのダウンローダーアプレットなんかローカル資源
さわりまくりだし、Sunの啓蒙が足らんかったって話だね。
0203デフォルトの名無しさんNGNG
JFileChooserのフォントが太くて見にくいので細くしたいんですが
どうやったらいいんでしょうか?内部のボタンとか触れませんよね?
0204デフォルトの名無しさんNGNG
署名すれば、ローカル資源扱えるでしょ?
警告メッセージがでるけど。
0205デフォルトの名無しさんNGNG
ローカルな資源触れたらって・・・
触ることできるじゃん
パーミッションの問題です
でも、なぜかそういうことすることは難しいことだとあきらめている風潮がある
デフォルトで有効にすると問題があるので制限してあるだけだ。
0206デフォルトの名無しさんNGNG
署名しなくてもユーザーが許可すればローカル資源にはさわれる
0207デフォルトの名無しさんNGNG
>>206
その
> ユーザーが許可すれば
って部分があまり知られていないので、
いちいち説明すんのが面倒くさいんだよね。

Sun の文書もイマイチわかりにくいし。
0208205NGNG
>>207
ま、そういうことです
0209(゜Jし゜)NGNG
AWTとSwingってどっちが軽快に動きますか?
何か本とか見てるとSwingはLightWeightで、AWTはHeavyWeightなComponent
って書いてありましたが。
Java(というかプログラミング)の研修で簡単なGUIを作成するのですが、
低スペックなPCしか用意できないのです。
0210デフォルトの名無しさんNGNG
「用意できない」って言葉を使うってことは、研修で教える側だよなあ・・・
0211デフォルトの名無しさんNGNG
低スペックってどれくらい?
0212(゜Jし゜)NGNG
まぁ正確には教える人の相談役って感じです。
PCとか使えないCOBOLerの人たちを再教育するらしいです。
で、そのために社内で無数に余ってるペンII300メモリ64MBとかのクラスの
PCを再利用して研修を行うらしいです。
マジで正規の担当じゃなくってよかったです。
0213デフォルトの名無しさんNGNG
いまさらSwingの研修を受けさせられる方もかわいそうだなぁ。
0214デフォルトの名無しさんNGNG
そのスペックルではどっちも激重だと思うなり。AWTにしとき。
0215デフォルトの名無しさんNGNG
メモリがつらいよな。
単にGUIってんならDelphiのpersonalを勧めたくなっちゃうくらいだけど・・
JavaでGUIで64Mは・・・
いくらレイヤが下のAWTでも・・・・
OS次第では使い物になるのかな・・・・・
っていうかむしろVJ++・・・・・・
0216デフォルトの名無しさんNGNG
>>203
libの下にあるfont.propertiesをいじるか、

ttp://java-house.jp/ml/archive/j-h-b/049474.html
で、全部のフォントを変えるか、

ttp://www.wikiroom.com/terai/?ST%2FFontChange%2FList
の中からJFileChooserで使ってるフォントを調べるか。
0217デフォルトの名無しさんNGNG
>>209
AWTのほうが軽く動く。
けど、いまさら勉強する価値はない。

PCを使えないオヤジを再教育するならeclipseかNetBeansを使え。
使い方が簡単なのはNetBeansのほう。

でも、192MBはメモリが必要。
0218デフォルトの名無しさんNGNG
>>209
COBOLerクビにして
外注か派遣にしたほうが100倍まし
0219デフォルトの名無しさんNGNG
>>218
その首になったCOBOLerが派遣になるだけ(w
0220デフォルトの名無しさんNGNG
awt最強って言ってた奴は今何をしているんだろうか
0221デフォルトの名無しさんNGNG
>>220
swt最強っていってるんじゃない?
0222(゜Jし゜)NGNG
野郎ども、おはようございます。
多くのレスありがとうございました。
>>215さん
Delphiは言語がマイナーで業務系であまり使われないので駄目だとのことです。
だからと言ってJavaのクライアントサイドにしなくても、とは思うのですが、
何しろ、知っている言語名がJavaとC言語くらいしか無いらしいので。

>>217さん
NetBeansをそのPCで動かしてみたのですが
(JDKと一緒に配布されてたのでインスコが便利だと思ったので)
起動するだけでカップラーメンが作れるくらいに待たされた記憶があります。

>>218さん
近日中に私の方が首になりそうです(自主的に)

まぁ結論としては放置安定ということですな。
0223デフォルトの名無しさんNGNG
>>216
ありがとう。調べてみる。
0224デフォルトの名無しさんNGNG
>>223
Eclipseは
「おうちにインストールしたいんじゃが?」
って質問が来たら、めんどくさいことになる。
NetBeansなら、JDKからTomcatまで、ひとつのインストーラーでOK。
0225224NGNG
ねぼけておった・・・
0226デフォルトの名無しさんNGNG
>>209
>SwingはLightWeightで、AWTはHeavyWeightなComponent
これは処理が重いとか軽いとかのことを言っているわけではない
0227デフォルトの名無しさんNGNG
>>226
(同じだけコンポーネント使ったら)
HeavyWeight のが OS の GUI リソースを使うんだよね?
0228224NGNG
>>227
でもLightWeightのが、メモリ・CPUリソースを使う。
0229デフォルトの名無しさんNGNG
CPUリソース
0230デフォルトの名無しさんNGNG
MacOSXのL&Fって無いの?
0231デフォルトの名無しさんNGNG
>>230
Windows環境から使う場合は
SunのHPからDLするんじゃなかったっけ?
0232デフォルトの名無しさんNGNG
>>230
Appleが「漏れのGUIパクるなゴルァ(゚Д゚#)」と言うので、
Mac OS X版JavaのSwingにしか搭載されません。
0233デフォルトの名無しさんNGNG
アポーの偏狭さがこんなところでも露呈した訳で
0234デフォルトの名無しさんNGNG
意匠権侵害だぞ
0235デフォルトの名無しさんNGNG
>>233
MSだって同じなのだが・・WinLook&FeelはWinでしか使えん
0236デフォルトの名無しさんNGNG
アイコンの著作権問題でね。
0237デフォルトの名無しさんNGNG
ところでMacでJavaやってるやついるか?
どうだAquaUIは
0238デフォルトの名無しさんNGNG
JList
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=JList
0239デフォルトの名無しさんNGNG
JListは、トヨタistの宣伝にでないんですか?
0240デフォルトの名無しさんNGNG
つうかおまえ等はしらんだろうが
1.1.8時代はMacルックつかえたんだよ
0241デフォルトの名無しさんNGNG
>>230
ttp://javootoo.l2fprod.com/plaf/skinlf/screenshot_skinlf.gif
ttp://javootoo.l2fprod.com/plaf/skinlf/index.php
0242デフォルトの名無しさんNGNG
http://javootoo.l2fprod.com/plaf/skinlf/screenshot_skinlf.gif
http://javootoo.l2fprod.com/plaf/skinlf/index.php
0243デフォルトの名無しさんNGNG
http://javootoo.l2fprod.com/plaf/skinlf/screenshot_skinlf.gif
http://javootoo.l2fprod.com/plaf/skinlf/index.php
0244デフォルトの名無しさんNGNG
おい、JFrameってマウスでリサイズ中に表示が更新されないんだけど、
なんか方法あったら教えてください。リサイズ後は勝手に更新されます。
以下のイベントを試したのですがこれもリサイズ後なのでだめでした。。。
JDK1.4.2

JFrame f = new JFrame("hoge");
f.addComponentListener(new ComponentAdapter() {
 public void componentResized(ComponentEvent ev) {
  f.validate(); //これもちゃうのか? paint? repaint?
 }
});

重くなりそうだけど。
0245デフォルトの名無しさんNGNG
>>244
あくまでもcomponentResized(過去形)だからね
windowClosedとwindowClosingがあるように
componentResizingなんてのがあればいいけど・・・

でも 『ドラッグ中にウインドウの内容を表示する』って環境依存じゃないの?
0246デフォルトの名無しさんNGNG
>>224
おいらはそういう人向けにインストールガイドまで作った。
研修のサンプルプログラムもセットで。
0247デフォルトの名無しさんNGNG
>>246
読んでくれないんだよ・・・
教えるときは、「教えられる人は文章をよまない」という前提でやる必要がある。
絵は見るんだけどね。
02486ヶ月目素人NGNG
現在JTableを使ってコピー&ペーストをしたいと思い
↓下記のページのコピー&ペーストを使っていたのですが。
ttp://www.javaworld.com/javaworld/javatips/jw-javatip77.html

いざ、HTMLに載せようとしたら、↑のコピー&ペーストを使うとHTMLにAppletが表示されません。
↑のclassを使わないと表示されるので原因が↑の物だとわかっているのですが
これを解消するにはどうしたらいいのでしょうか。

JTableでのコピー&ペーストについてどなたか実装されてる方は居ませんか?
8月からいろいろ探してるのですが、↑のページしか見つからず、先が見えません。
どなたか、ご指導いただけませんか
0249デフォルトの名無しさんNGNG
クリップボードも、クライアントのリソースになるのでアクセス制限されてるのかな?
02506ヶ月目素人NGNG
今、Cutだけ実装したのアプレットを作ってHTMLにAppletとして乗っけようとしたのですが
プロンプトからは開けるのですが、HTMLには乗ってくれませんでした。

自分にはどこをいじったらいいかわからず、解決できそうにないです。
クリップボード制限あると、、、HTMLには載せること出来ないのでしょうか。
0251デフォルトの名無しさんNGNG
>>250
とにかく、エラーがでているはずなので
IEのメニューからJavaコンソール を開いてエラーメッセージを載せてください
そうしないと解決には向かわない
0252デフォルトの名無しさんNGNG
>>250
というか、HTMLに載せるという表現はやめろ。
0253デフォルトの名無しさんNGNG
>>250
さらに、コンソールからじゃなくてアプレッツビューワだろ
02546ヶ月目素人NGNG
>>251-3 言葉の使い方失礼しました。

Table.java
http://cgi.io-websight.com/index2/uploarder/img/hare6493.bin
ExcelAdapter.java
http://cgi.io-websight.com/index2/uploarder/img/hare6494.bin

↑こちらなのですが、アプレッツビューワでは、コピー&ペーストできるのですが
HTMLに映すと動きません、エラーメッセージ出す右クリック?も動きませんでした。
0255デフォルトの名無しさんNGNG
HTMLに映す、か。
面白い表現考えるね。

でも、やめろ。
0256デフォルトの名無しさんNGNG
>>254
今確認しました
やっぱり、クリップボードのアクセスでjava.security.AccessControlException
がスローされています
ちょっと待っててください。
0257デフォルトの名無しさんNGNG
>>248 8月からそのページ見ているのに、なんでそのページの
サマリーくらい読んでないんだろ。アプレット署名しないと駄目だよって
ちゃんと書いてあるのに。高々850wordsだよ、それ。
02586ヶ月目素人NGNG
>>257
Note that, since the system clipboard is not accessible to unsigned applets,
this functionality will not be available to those Java programs.

unsigned appletsをsignありにするには、どうしたらいいのでしょうかね。

HTMLでは使えないってことですかね。
これを解決する方法は、どこをいじれば良いのでしょうか。

>>256さん、ありがとうございます。
0259デフォルトの名無しさんNGNG
>>258
(1)J2SE SDK日本語ドキュメントの一番最初のページを上から下まで
 眺めてみる。
(2)signed appletでぐぐる。
もちろん、htmlからの呼び出しでも署名付きアプレットは使える。
0260デフォルトの名無しさんNGNG
>>255
じゃあ、なんて言うの?
0261デフォルトの名無しさんNGNG
HTMLはあくまでWebページを記述するための規格であって
それを表示するためのプログラムにはまた別の名前がついているので
「HTMLに載せる」とか「HTMLに映す」という表現は意味不明
これから先は自分で調べて考えてきてね

あとあれをアプレッツビューワと言う人は>>253くらいだと思うので
みんなどう言ってるかも自分で調べてきてね
0262デフォルトの名無しさんNGNG
>>261
おい、失礼なこと言うなよ
>プロンプトからは開けるのですが、HTMLには乗ってくれませんでした。
これに対して
「さらに、コンソールからじゃなくてアプレッツビューワだろ」
と言ったまでだ、どこに疑問があるんだ?appletviewerだろが。
プロンプトを自分の脳内でコンソールに変換してしまったがな
0263デフォルトの名無しさんNGNG
>>261
ま、半可通は黙ってなさいってこった(藁。
0264デフォルトの名無しさんNGNG
http://www.google.com/search?num=100&hl=ja&lr=lang_ja&q=%83A%83v%83%8C%83b%83c%83r%83%85%81%5B%83%8F

アプレッツビューワに該当するページが見つかりませんでした。
"アプレッツビューワ"を含むページは見つかりませんでした。
0265デフォルトの名無しさんNGNG
>>264
ネタにムキになるのはカコワルイ
0266デフォルトの名無しさんNGNG
>>260
アプレットに載せるで十分だろ。
0267デフォルトの名無しさんNGNG
>>265
>>254が真にうけてるから言ってみたんだけど
ネタなら>>262でそういってくれればよかったのに
変なツッコミ入れるからつい本気かと思ったよ
0268デフォルトの名無しさんNGNG
>>267
> >>254が真にうけてるから言ってみたんだけど

あ、ほんとだ。
ネタはこどもがマネするといけないから、ほどほどに。
int型はデータ型ではない。
0269デフォルトの名無しさんNGNG
int型などを参照型に対してデータ型というのはよくない。

ネタに捕捉カコワルイ・・・
0270デフォルトの名無しさんNGNG
データ型はよそのスレでもう終った話題だから(w
02716ヶ月目素人NGNG
えっと、>>260 は自分じゃないです。あしからず。

signの方読んでなんとかします。(これから)
書き込むついでに、もう一つ質問していきます。

HTMLでアプレットとして動いてるJTableからサーバーに値を送って計算
計算結果をJTableに返してくるということをやりたくて、考えていたのですが

ttp://cgi.io-websight.com/index2/uploarder/img/hare6501.bin
↑こんな感じに、アプレット⇔サーブレットのサンプルをいじってるのですが
//TableModel m = table.getModel();
//Object x = m.getValueAt(0,0);
//int amount=Integer.parseInt((String)x);
↑の//をはずして、//int amount=3;にしても、データサーバーに飛ばしてくれません。
どこをいじっていったらいいのでしょうか。。。
0272デフォルトの名無しさんNGNG
>>271
HTMLで、というのを外せ。
0273デフォルトの名無しさんNGNG
>>272
何度も何度も繰り返し「HTML」というのが出てくるから、思わず、
「ぐわぁぁぁ もう二度とHTMLなんていうなぁぁぁ」 と、がきんちょのように
床にゴロゴロころがって泣きたくなってしまった。
0274デフォルトの名無しさんNGNG
>>271 とりあえずHttpURLConnectionとHTTPについて参考書か何かで
勉強したほうがいいと思うよ。リクエストメソッドとはなにかとかも。
そのコード見てるとサーブレット側でdoPostなどをちゃんと実装して
いるかどうかもなんか怪しい気がする。
あと既にSwingの話じゃないのでこれ以上この場所での質問はどうかと。
0275デフォルトの名無しさんNGNG
(こんなことわざわざ言う必要もないのだが)

言葉の定義でそこまで突っ込んでやらんでもいいだろうに。
02766ヶ月目素人NGNG
>>274 そうですか。swingじゃないですかね。

int amount=Integer.parseInt(bookFld.getText());
ではできるのに、
TableModel m = table.getModel();
Object x = m.getValueAt(0,0);
int amount=Integer.parseInt((String)x);
こっちだと動かないので、問題はTableModelかな?って今調べてます。

一応、httpURLConnectionは↓みたいに書いてあります。
極意そのままなのですが、これじゃダメなのでしょうか
ttp://cgi.io-websight.com/index2/uploarder/img/hare6504.bin
0277デフォルトの名無しさんNGNG
>>275
言葉の定義は大切だ。
ようするにそこに勘違いが含まれてるわけだから。
0278デフォルトの名無しさんNGNG
でも誰も正しく説明できない罠。
02796ヶ月目素人NGNG
>>276で出来ないといってたこと解決しました。
ttp://cgi.io-websight.com/index2/uploarder/img/hare6527.bin

>>259さんの出してもらった解決策でコピー&ペーストできるようにしてきます。
お世話になりました。

ところで、自分は学生で、発表の期限が近いため毎日やってるのですが
社会人の方は、どれ位のペースでプログラミングされてるのですかね?
毎日徹夜が当たり前なのでしょうか?
スレ違いな質問すいません。
0280デフォルトの名無しさんNGNG
JListにはなんでsetVisibleColumnCountがないの?
02816ヶ月目素人NGNG
>>259 で言われたことを進めて3日経ちました。。。

未だに解決できません。
ttp://www.dmz.hitachi-sk.co.jp/Java/Tech/security/12signedapplet.html
このページを参考に、何度も試みているのですが、
自分の作ったアプレットはHTMLではエラーになってしまいます。

java.security.AccessControlException のエラーの回避方法を
どうか教えてもらえないでしょうか。
02826ヶ月目素人NGNG
ageます。
0283デフォルトの名無しさんNGNG
そのページのサンプルはそのとおりやってみて動くんだよね?

自分の作った例のテーブルがダメなんですか?
0284デフォルトの名無しさんNGNG
Javaでゲーム作る人って、Swing使うの?
ノベル系のゲームくらいなら何とかなるような気がするんだけど。
02856ヶ月目素人NGNG
>>283 すいません、できました>w<
自分のPC上ではできたけど、これをネットで公開した時の不具合が心配ですが、
一応解決しました。

コピー&ペーストのところで著名が必要だったのですが
jarの使い方そのものからやり直してみたらできました。
煮詰まっても、いいこと無いですね。。。ここに書き込みしたことで一回冷静になれました
スレ汚しすいませんでした。
0286デフォルトの名無しさんNGNG
>>284
使います。
Swing使ったらJava2Dが使えないということはない。
0287デフォルトの名無しさんNGNG
>>286
284はswingだと重いと思ってるんだろ。
swing でも描画は重くない (どころか 1.4 ではめちゃくちゃ速くなった) のに。
0288デフォルトの名無しさんNGNG
「速くなった」と「速い」は違う。(Swingは好きだが)
0289デフォルトの名無しさんNGNG
1.2と1.3の糞加減ですっかり「Java(Swing)=遅くて話にならん」が定着したな。
0290デフォルトの名無しさんNGNG
ゲームならAWTで足りるんじゃないの?
0291デフォルトの名無しさんNGNG
ボタンとか、設定ダイアログとかはSwingでいいんじゃない?
JFrameにCanvas置いてフルスクリーンゲーム作ってもいいし。
0292デフォルトの名無しさんNGNG
VolatileImageでWindowsリソースに直接かきこめるし、
BufferStrategyでフル画面のページフリッピングもできるから、
WinAPI直描きと比べて大きく遅れをとることはない・・・と思うよ。
0293デフォルトの名無しさんNGNG
ほっといてから、アクティブウィンドウにすると
再描画まで、ものすごくまたされるのなんとかならんかね。。
0294デフォルトの名無しさんNGNG
namcoはJ-PHONE用のリッジレーサーを作る時に
まずプロトタイプをJ2SEで作った。

・・らしいのだが、本当にJ2SEでリッジレーサーが作れるものだろうか?
というか、よくJ-PHONEのKVMであれが動いてるよな・・
0295デフォルトの名無しさんNGNG
>>294
描画をJNIでネイティブでやるようにすればいけるのかも。
プロトタイプなら、ふつうにJava3Dでもいいのかもね。
0296デフォルトの名無しさんNGNG
そのプロトタイプで遊んでみたいもんだ。
公開してくれないかなあ・・・
0297デフォルトの名無しさんNGNG
>>294
そのプロトリッジレーサーが具体的に
どの程度のクオリティかわからないけど
意外とそういったゲームはさくさく動きますよ(J2SE)
Appletとかでも、これJava?なんていうのありますし・・
0298デフォルトの名無しさんNGNG
プロトって言ったってWindows版のMascot Capsule使ってるんだろうから,
J2SEとかあんまし関係ないものと思われ.
0299デフォルトの名無しさんNGNG
ネイティブAPIでガシガシ書いてんだからJavaとか全然かんけーねー。あほか。
0300デフォルトの名無しさんNGNG
「ガシガシ書く」という言葉を好む香具師は低脳の法則
0301デフォルトの名無しさんNGNG
リッジレーサー普通に動くんじゃないのか?
だって例えばエミュ使ってJ-PHONEリッジレーサーをPCで動かしたら
やっぱりPC上で携帯以上のパフォーマンス出るんだろ?

iアプリ出はじめはPCと実機での速度は比べ物にもならなかったんだけど
最近はどうなんだろうね
0302デフォルトの名無しさんNGNG
>>301
スクラッチパッドのアクセスは、あほほどおそい。
0303デフォルトの名無しさんNGNG
Swingを使ったアプリを作成し、売上げている方に質問
お客の要求はどのようなものだったんでしょうか?
0304デフォルトの名無しさんNGNG
>>303
MacとWindowsで動くものを安く早く。
0305デフォルトの名無しさんNGNG
>>304
互換性低いじゃん。MacOSX上でソース互換でgccを使ったほうがヨサゲ。
旧マックってJavaですらダメじゃん。
0306デフォルトの名無しさんNGNG
>>305
ウィンドウ表示とか、入出力とか、それぞれ勉強するのが・・・
0307デフォルトの名無しさんNGNG
お客の要求はともかく人材的にJavaしか使えないって言う場合が多いと推測
0308デフォルトの名無しさんNGNG
>>306
勉強しなくてもできる程度のソフトなら値段つかねぇよ。
素人に作れないものを売ってナンボ。
0309デフォルトの名無しさんNGNG
正直、プロとしてちゃんと仕事するんだったら、
GUIは環境ごとに作り直すしかないよ。
wxWindowsなんかもダメダメ。
0310デフォルトの名無しさんNGNG
納期、値段、操作性でネイティブGUIとウェブアプリの中間辺りだな。
0311デフォルトの名無しさんNGNG
>>308
勉強してたら安く早くつくれないだろ。
Windows用・Mac用を別々に作っても同じ。
0312デフォルトの名無しさんNGNG
>>311
ゴミ屑Swingの勉強に費やした費用はどうなってんの?
0313デフォルトの名無しさんNGNG
Swingの質を上げるしかないな
0314デフォルトの名無しさんNGNG
>>309
wxWindows はダメダメだけど Qt は違うよ。
Photoshop Album 見ればわかるって。
0315デフォルトの名無しさんNGNG
>>308
別に素人が作れない技術で作るのが売り物じゃないよ
仕様を精査して
納期を守って
ドキュメントを納品して
保守契約を結べば
技術力の高いアマチュアが作るようなソフトでも値段はつく。
問題はどのくらい客の手間を軽減できるかだ。
0316デフォルトの名無しさんNGNG
>>311
参入の壁が低くなると価格破壊、結局利益が出なくなって、
その分野から撤退。
簡単にできるようになったらビジネスとしてはおしまい。
もっと難しい分野に進出しましょう。
0317デフォルトの名無しさんNGNG
>>307
あ、そうか。それなら納得。
Javaしか使えないソフトウェアも何だかなぁ。
実際にそんなとこあるのかな。
0318デフォルトの名無しさんNGNG
↑×ソフトウェア
 ○ソフトウェア会社
0319デフォルトの名無しさんNGNG
>> 簡単にできるようになったらビジネスとしてはおしまい。
>> もっと難しい分野に進出しましょう。

簡単にできる道を見つけるのがビジネスなの。
0320デフォルトの名無しさんNGNG
簡単・確実・迅速が一番だ。
コードの量なんか少ない程いいよねぇ。書かないでお金は行ってくるなら最高。
1stepいくらで食ってる人たちはどうだかしらないけどさ。
0321デフォルトの名無しさんNGNG
>>320
最初はいいけど、他社と値下げ競争が始まって、
次は人件費の圧縮。
0322デフォルトの名無しさんNGNG
>321
>319の書いたの読んだ?
他人がやらない方法で手を抜くのが他社との差別化さ。
その役に立つならSwingだろうが、VBだろうが、COBOLだってアリアリ。
0323デフォルトの名無しさんNGNG
>>322
確かに
インスタントラーメンを出すラーメン屋も
レンジでチンだけのレストランも成立する。
ノーパンのウェイトレスが出てくれば客は入る。
でもねぇ、そういうアプローチは風俗の手法だよねぇ。
(ノーパンシャブシャブは比喩だからね)
0324デフォルトの名無しさんNGNG
ラーメン屋というからにはすべてのメンを自家製にする必要があるかといえば、そうではない。
ファミレスでパスタゆでて、値段があがるのも本末転倒。

一般的な操作ができればいいのであればSwingで十分。
0325デフォルトの名無しさんNGNG
>>324
でもそれだと本職のコックをリストラしてアルバイトとパートを
増やす世界。本職のソフト屋が生存可能な世界じゃないね。
0326デフォルトの名無しさんNGNG
>>325
> 本職のソフト屋が生存可能な世界じゃないね。

なにか問題でも?w
0327デフォルトの名無しさんNGNG
>>326
問題はない。健康保険も年金払えなくても幸福はあるさ。
0328デフォルトの名無しさんNGNG
SwingWT の開発ペースすごくはやいねー。
いまから SWT 覚える気になれないけど、SWT の速度面のメリットや
OSネイティブコンポーネントの美しさが欲しい人はこれを試してみれ。

http://swingwt.sourceforge.net/
0329デフォルトの名無しさんNGNG
読んでないけど、それって、Swingを前提にコーディングしたものを一発でSWTに変換、とかそういったモノ?
0330デフォルトの名無しさんNGNG
SWTをベースにしたSwingってことじゃないの?
0331デフォルトの名無しさんNGNG
SWTをSwingでラップ?
0332デフォルトの名無しさんNGNG
退化したのか進化したのか
0333デフォルトの名無しさんNGNG
古いワインを新しい革袋に入れて売るようなもんだろ
0334デフォルトの名無しさんNGNG
>>333
逆じゃない?
0335デフォルトの名無しさんNGNG
新しい革袋を古いワインに入れて売るようなもんだろ
0336デフォルトの名無しさんNGNG
>>335
ソレダ!
0337デフォルトの名無しさんNGNG
>>336
ソレナノカ!?
0338デフォルトの名無しさんNGNG
SwingのトロさとSWTの機種依存を兼ね備えた力と技のV3ってとこか。
0339デフォルトの名無しさんNGNG
SwingWT試してみました。一発変換は無理です。
イベントモデルはSWTベースでSWTとSwingに合わせた感じでしょうか。
WindowEventがない点に最初はとまどいました。
だからJFrame.setDefaultCloseOperation()もありません。

他にもイベントモデルによる違いがあり、
例えばこんなコードを書くとプログラムが一瞬で終了します。
public static void main(String[] args) {
 JFrame frame = new JFrame();
 frame.setSize(100, 100);
 frame.setVisible(true);
}
デモプログラムによるとこう書くらしい。
public static void main(String[] args) {
 JFrame frame = new JFrame();
 frame.setSize(100, 100);
 frame.setVisible(true);
 frame.dispatchEvents();
 frame.dispose();
}
あと、私はjavax.swing.BoxLayoutを多用するのですが、これが
SwingWTではAWT以下に移動した上に別物に変わってしまってました。

期待しすぎた俺が浅はかだった…寝よ寝よ
0340328NGNG
>>339
正直スマンかった。。
0341デフォルトの名無しさんNGNG
>>339
チャレンジャーに敬意を表します。
0342デフォルトの名無しさんNGNG
GCJだとswing使えないのでもしかしたらGCJに使えるかもと思ったのですが(というかそれが目的で作った・・・?)
>>339見る限りではまだまだみたいですね・・・
0343デフォルトの名無しさんNGNG
>>339

At present, the following items are working:
・Majority of the AWT Event Model

だなんて言ってるのにね。
漏れも非常に期待したのだが・・・。
なにわとまれチャレンジャー精神に感謝。
0344デフォルトの名無しさんNGNG
まぁ放って置いてもハードがどんどん高速化していくから、
多少の速度差よりも高機能をとるよな。
つか、1.4は別段遅くないし。
0345デフォルトの名無しさんNGNG
Javaで快適に動くようなハードウェア上では
ネィティブではより快適に動作する。
競争に勝てるソフトにはならん。
0346デフォルトの名無しさんNGNG
>>345
ネイティブでは10msで済むがJavaでは50msかかる、
というくらいになれば、人間にはほとんど違いは分からないから良いと思うんだが、
ハードが高速化しても、その頃にはSwingがさらに重くなってる可能性もあるわけで・・・。

>>344
ちなみに、おいらも1.4.2のレスポンスの速さには文句はないのだが、
しばらく最小化した後の復帰時にどえれー時間がかかるのが気になる・・・。
なんとかプログラム側で回避する方法はないのか、どなたかご存知?
0347デフォルトの名無しさんNGNG
>>346
>しばらく最小化した後
描画領域って時間が経つとGC対象になるのかな?
(常にどこかが描画オブジェクトを参照しているわけではない
なんか起きるたびにただ書き直してるだけ)
実際、そうとしか思えないような動作をたまにする
スレッドセーフでないウェジットが多いのもそのためでしょうか?
0348デフォルトの名無しさんNGNG
>>346
Windowsなら、最小化したアプリの使ってるメモリから
優先的にスワップアウトさせるようだけど、それとちがう?
0349346NGNG
レスさんくす。

個人的には>>347が理由ではないかと思ってた。
SWTだと起きないし、同じく独自のウィジット使ってるMozillaさんも、
しばらく最小化させた後は復帰にどえらく時間かかるので。

>>348はどのアプリでも起こることなので仕方ないと思うのだが、
>>347だけでも回避する方法はないものかなーと。
0350デフォルトの名無しさんNGNG
>>349

OS変えたら?
2000からXPにしてから同じアプリでもその現象がでなくなったような
"気"がするので・・・。
0351デフォルトの名無しさんNGNG
>>349
メモリ増設。
0352346NGNG
ううむ。やはりプログラム側ではどうしようもないのか。
ネイティブと並んでSwingなGUIアプリが普通にデスクトップに登場する日を願ってage。
0353デフォルトの名無しさんNGNG
SwingをQtみたいにマルチプラットホーム、マルチ言語で
ネイティブにすればいいのに。それならハナシは簡単。
ライトワンスなんて意味ねぇよ。
0354デフォルトの名無しさんNGNG
あなたが意味ないと思っても多くの人は write once の恩恵には大いにあずかってる
0355デフォルトの名無しさんNGNG
Javaでミドルウェアとか書いてると、二度とwrite onceじゃない環境で書きたくないなーと思うよね。
0356デフォルトの名無しさんNGNG
せめてネイティブコンパイルさせてくれ。
0357デフォルトの名無しさんNGNG
>>356
ネイティブコンパイラは色々ありますが何か?
貧乏人はgcjでも使ってなさいってこった
0358356NGNG
Swing使っててもネイティブコンパイルできるコンパイラってある?
別途JREが必要とかそんなんじゃなくて。
0359デフォルトの名無しさんNGNG
>>358
多くのAOTコンパイラでGUIアプリにJREが必要ってのは、ネイティブコンパイルが
出来ないからじゃなくてネイティブコンパイルしても配布/実行時にJREに含まれて
いるGUI周りのネイティブライブラリ(dll)やリソースが必要だからじゃなかったっ
けか。それでJOVEとかJETとかはJREが必要ないGUIアプリを作るのにSWTに走ったと。
http://www.xlsoft.com/jp/products/jet/jetswt.html

SWTの本家IBMはSWTの上にAWTを再実装してAOTコンパイラと一緒に出荷してる。
でもJ2ME向け製品だからSwingはやらないだろうね。
0360デフォルトの名無しさんNGNG
>>359
サンクス。そういう訳だったんですね。
>>339のSwingWTが一発変換に近くなってくれるのに期待。
0361デフォルトの名無しさんNGNG
おまいら
http://wwws.sun.com/software/javadesktopsystem/details.html
これって、Swingの実装か?
知ってる奴おしえれ
0362デフォルトの名無しさんNGNG
>>361
確かJOGLだったかな?
0363デフォルトの名無しさんNGNG

JDS自体はlinuxベースのOS。
そのウィンドウシステムとしてSunが今作ってんのが
http://slashdot.org/articles/03/12/09/0616205.shtml?tid=102&tid=108&tid=126&tid=156&tid=187&tid=189
これ。

なにげにうただのCDが見えるんだよな。
0364デフォルトの名無しさんNGNG
>>362
JOGL と Java Desktop System と何の関係が?
JOGL は Sun の OpenGL Java binding だと思ったけど…
0365デフォルトの名無しさんNGNG
「Java Desktop SystemにはJOGLベースでSun独自のウィンドウマネージャを実装」
ttp://www.zdnet.co.jp/enterprise/0309/18/epn12.html

「レビュー:SunのクライアントOS「Java Desktop System」を検証する」
ttp://www.zdnet.co.jp/enterprise/0310/01/epn12.html

あたりが参考になるのでは。

X Window sytem 部に JOGL が関係しているらしい。
興味あるけど、Sun の製品だし微妙だな…。
0366デフォルトの名無しさんNGNG
やっぱ技術力としては
IBM > MS > Sun
となるのかな。
0367デフォルトの名無しさんNGNG
技術力というより(能力×人数)って意味での開発力なら
そんな感じかも。
0368デフォルトの名無しさんNGNG
能力×人数なら
MS > IBM
になる気がする
MSは巨人かヤンキースみたいなイメージがあるのだけど。

どっちにしてもSunには越えられない壁がある。
0369デフォルトの名無しさんNGNG
>>368
OSに限っていえばそのとおりだけど
IBMのほうが商売手広いイメージがある
MSも意外といろんな分野に手をだしてるけど
0370デフォルトの名無しさんNGNG
おまえら、IBMは巨人ですよ。
MSなどまだまだ新参の成金。
0371デフォルトの名無しさんNGNG
アメリカの特許の年間出願件数の一位は長い間IBMが
とってて、そのかなりの部分がソフトウェア特許って
ことを考えるとMSなんかたいしたことないきがする。
0372デフォルトの名無しさんNGNG

企業の規模。
IBM>MS>SUN

しかし得意なもの、主要な顧客が微妙に違う。
MSはプロセッサ作ってないし、
IBMはJavaや.Netのような大きな処理系作らない、
それに企業端末弱い、OS/2は負け組。
0373デフォルトの名無しさんNGNG
>>372
端末はね。
でもAS400とか勝組み。
0374デフォルトの名無しさんNGNG
「汎用機」といえばIBM製とその互換コンピュータを指す。
0375デフォルトの名無しさんNGNG
>>374
PCといえば、IBM製PC-ATとその互換コンピュータを指す
0376デフォルトの名無しさんNGNG
現在店頭に並んでいるPCはPC-ATとの互換に欠ける罠
0377デフォルトの名無しさんNGNG
AWTXってどうよ?
Swingは結局アレなんかい?
再びAWTが復活するわけね?
0378デフォルトの名無しさんNGNG
>>377
AWTXってhttp://scand.com/jp/products/awtx/のこと?
なんか妙にアプレットにフォーカスした文章で、Swing駄目って
いってるけど、そんなにJavaPluginを使ったJREの自動インス
トールって駄目なのかなぁ。htmlconverterがあまり使われてない
現状ってのはあるけど。
そいや一昔前はKFCとか軽量コンポーネントあったけど
最近話をきかないね。Swingでみんな満足ってことなのかな。
まあ実用で使っているJavaアプリケーションってうちではEclipse
だけだし、なんでもいいや。
0379デフォルトの名無しさんNGNG
Swingでデジタル時計を作りたいのですが
1秒後とに表示を変えていくにはどうすればいいのですか?
0380デフォルトの名無しさんNGNG
あー.... あなたはスレッドって聞いたことありませんか?
0381デフォルトの名無しさんNGNG
sleep。これ。
0382デフォルトの名無しさんNGNG
>>380
そんな処理にスレッドを勧めるなんて・・・
javax.swing.Timerだろ。
0383デフォルトの名無しさんNGNG
>>378
違う。そっちのAWTXじゃない。

http://www.javadeveloper.jp/JavaOne/NewsEntry.html?rensai=10&issue=5

 そのほかにもJVMのメモリー使用量を節約する,起動を速くするなど
地道な改良が模索されている。また,AWTの新版(?)としてAWTX
が搭載されるという。

0384デフォルトの名無しさんNGNG
>>383
その記事大丈夫か?

メタデータの使用例とかいって generics と auto boxing のサンプル出したりしてるし、
例内のコードは list が List だったり、list.add が list add だったり間違いのオンパレードだ。
0385デフォルトの名無しさんNGNG
>>383
> AWTXってどうよ?
> Swingは結局アレなんかい?
> 再びAWTが復活するわけね?

お前は何も分かってない。
0386デフォルトの名無しさんNGNG
AWTXねぇ
もうSUNのやる事には何も期待できないわけですが
0387デフォルトの名無しさんNGNG
AWTX で検索したら
http://www5.airnet.ne.jp/sakuraba/java/diary/200306.html
> でも、クオリティは ×。p22 のリスト 1 はメタデータでなくて Generics だし。AWTX じゃなくて XAWT だし...

で、XAWT で検索したらこんなのが見つかった。
http://servlet.java.sun.com/javaone/sf2003/conf/sessions/display-1999.en-60358.jsp
> XAWT: A Faster, Lighter AWT for X11 Desktops
0388デフォルトの名無しさんNGNG
一番手前に表示されるような
ウィンドウを作りたいのですが
どうすればいいのですか?
0389デフォルトの名無しさんNGNG

Windowsでよくある"常に前面に表示"みたいなやつなら
coreAPIだけじゃできない。nativeありならAPI2,3行でいけたはず。
0390デフォルトの名無しさんNGNG
>>388
同一 VM のウィンドウの中で前面に出たいなら java.awt.Window#toFront()
他のネイティブアプリより前に出るのは Windows だったら
JNI 使えばできるかも知らんが他は知らん。
0391デフォルトの名無しさんNGNG
>>389
Windows nativeでいいので
やりかた教えてください
0392デフォルトの名無しさんNGNG
>>391
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1&q=java+window+always+top+jni&lr=
0393デフォルトの名無しさんNGNG
Javaって死滅しちゃうの?の1より

>Javaの理想も破れ、貧弱な言語と重いGUIという印象だけが残った。
>のろのろと改良を目指しているがその内容は某言語のパクリである。
>SUNの洗脳から解かれた人民は某言語にシフトしている。

まんまやね。
0394デフォルトの名無しさんNGNG
> 某言語のパクリ

頭悪そうだな。
0395ミルコ・マグカップNGNG
そんな Swing 使って検索アプリ作りました。
指定されたページの検索とそのリンク先のページの検索をします。
数あるニュースやテレビ番組等のサイトを一括検索。
検索サービスの無いサイトの検索にも。
興味ある人はコチラ → ttp://www.geocities.co.jp/SiliconValley-Bay/6911/
0396デフォルトの名無しさんNGNG
http://www.geocities.co.jp/SiliconValley-Bay/6911/
0397デフォルトの名無しさんNGNG
JComboBoxについて質問します。以下のプログラムを実行し、コン
ボボックスのhogeを編集した後、ボタンを押すとhogeが出力されま
す。もう一度ボタンを押すと編集されたテキストが出力されます。
一度押すだけで、編集したテキストを表示させるにはどうすればい
いでしょうか。
import javax.swing.*;import java.awt.*;import java.awt.event.*;
public class ComboBox implements ActionListener {
    JComboBox box;
    public ComboBox() {
        String[] patternExamples = { "hoge" };
        box = new JComboBox(patternExamples);
        box.setEditable(true);
        JButton button = new JButton("hoge");
        button.addActionListener(this);
        JFrame frame = new JFrame();
        frame.getContentPane().setLayout(new FlowLayout());
        frame.getContentPane().add(box);
        frame.getContentPane().add(button);
        frame.pack(); frame.show();
    }
    public void actionPerformed(ActionEvent e) { System.out.println(box.getSelectedItem()); }
    public static void main(String[] args) { new ComboBox(); }
}
0398デフォルトの名無しさんNGNG
>>397
普通に編集されたテキストが出力されるけど?
どんな環境で使ってるのかな。
0399397NGNG
>>398
Red Hat Linux 9です。
java -version
java version "1.4.2_01"

もう一つ分からないことがあります。
button.addActionListener(this);
この行を
box.addActionListener(this);
に変えて実行し、hogeを編集してからリターンを押すと編集したテ
キストが2回表示されます。編集しずに押すと一回だけ表示されま
す。
しかも編集したときは、なぜかボタンを押してもテキストが2回表示
されます。
0400 NGNG
>>399
自分も398と同じく普通に編集されたテキストが出力される。
OSはWindowsだけど。LinuxのVMがおかしいのかな?

399の方は自分も躓いた。自分もSwing勉強して間もないので間違いもあるかも知れんが
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7943&forum=12&4
でも話題になってる。
コンボボックスが発生させるアクションイベントは実は2種類に細分化できて
comboBoxChangedとcomboBoxEditedがあるみたい。
actionPerformedの引数として渡されるActionEventオブジェクトのgetActionCommand()で区別できるみたい。

選択項目が変化するとcomboBoxChangedのほうが、リターンキーを押すとcomboBoxEditedの方が来る。
編集してリターンキーを押すと選択項目も変化するから2回アクションイベントが発生する。

またコンボボックスを編集可能にして編集して項目書き換えると、
コンボボックスがフォーカスを失うときに、選択項目が変化したとみなされcomboBoxChangedが発生する。
だからボタンを押すとコンボボックスがフォーカス失ったので選択項目変化のためと、ボタンが押されたことによるアクションイベントの両方が起きる。
0401400NGNG
で何故397のようなことが起こりうるのかについての推測だけど
編集可能なコンボボックスのテキストを編集しても
編集してる最中にはたくさん文字が入力されたりして変化してるから
選択項目が変化したとコンボボックスが判断するのはリターンキーを押されたかフォーカスを失った時になって初めてである。

だから397さんの環境だと、コンボボックスを編集した後ボタンを押すと
ボタンのアクションイベントの処理がまず最初になされ
その後になってコンボボックスのフォーカス喪失の処理がなされて
選択項目の更新がなされるようになってるのかな。

自分のWindowだとボタンを押せばその前にコンボボックスのフォーカスが失われたことによる選択項目の更新がまずなされ、
その後ボタンのアクションイベントの処理が行われるからうまくいく。

見当外れだったらすまそ。
コンボボックスとボタンの両方にアクションリスナーを登録してactionPerformedの中で
イベントオブジェクトのgetSourceかgetActionCommand()でどっちが先に呼ばれてるか調べてみたら。
ボタンの方が先に呼ばれてたら推測があってるかも。
でも常識的にフォーカス失ったほうの処理の方が先だよな。
0402399NGNG
わかりやすい説明ありがとうございます。
>>399の編集した後リターンを押すと2回表示されるのは
comboBoxChangedとcomboBoxEditedによるものでした。また、ボタ
ンを押したときも同じイベントが発生していました。Tabキーでコ
ンボボックスのフォーカスをはずすだけでも同じイベントが発生し
ました。

buttonとboxの両方にアクションリスナーを登録してどのイベント
が発生しているのかを確認したところ、button、comboBoxChanged
、comboBoxEditedの順で発生していました。buttonのイベントのと
きはbox.getSelectedItem()で得られるテキストは編集前の状態で
、boxのイベントのときは編集後の状態でした。
0403デフォルトの名無しさんNGNG
>>402
編集したらコンボボックスがフォーカスを失うだけでcomboBoxChangedとcomboBoxEditedの両方発生したね。
間違ったこと書いてゴメン。
あと自分のWindowsではやっぱりボタンにアクションリスナー登録しても
コンボボックスのイベントの方が先に処理されてました。
LinuxとWindowsじゃ違うみたいだね。

解決策はあまりいい方法は思いつきませんでした。上にあげた
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7943&forum=12&4
が参考になるかも。
0404デフォルトの名無しさんNGNG
もう済んだ話かもしれないけど、
RedHat9 + Java 1.4.2_03 では、>>397 のようにはならず、>>398 のようになったよ。
0405デフォルトの名無しさんNGNG
結論:Javaを使うならやっぱりWindows環境がイイ!
0406デフォルトの名無しさんNGNG
そしたらJava使う意味ないじゃn
0407デフォルトの名無しさんNGNG
低速なのにどうして使うの?
0408デフォルトの名無しさんNGNG
Javaって、Windowsで使うと意味無いんですか?
ショック。
0409デフォルトの名無しさんNGNG
Windowsで使うことに意味がないわけではないが
"Windowsだけ"で使うんだったら意味は半減するわな。
0410デフォルトの名無しさんNGNG
>>407
基地外だから
0411デフォルトの名無しさんNGNG
>>409
なんの意味が半減するの?
0412デフォルトの名無しさんNGNG
Javaって、Windows以外で使うと意味が倍増するんですか?
すごーい。
Javaやってみようかなー。
0413デフォルトの名無しさんNGNG
馬鹿の集まりだな
JavaのバイトコードはJavaVMがあればWindowsでもLinuxでもSolarisでもそのまま動くということも知らずに
Javaスレに来るとは
0414デフォルトの名無しさんNGNG
>413
師匠!師匠と呼ばせてください。
0415デフォルトの名無しさんNGNG
>>413
意味が半減する理由にはなっていないと思うが?
ケースバイケースという言葉を知らないの?
0416デフォルトの名無しさんNGNG
>>415
師匠に理屈を言ってはいけません。
0417デフォルトの名無しさんNGNG
>>387
つまりXAWTがSwingを死滅させるということでFA?
0418デフォルトの名無しさんNGNG
Windows上でGUIをやる場合Javaに比べて
VBの方が圧倒的に簡単に作れる。
VCの方が圧倒的に自由度が高い。

だからWindows上だけでGUIを作る場合
Javaを積極的に選択する理由がない。

よって複数プラットフォームを視野に入れてJavaでGUIをやる意味に比べたら
Windows上だけでJavaでGUIをやる意味は減っている。
0419デフォルトの名無しさんNGNG
>>418
Javaをやるのは理屈じゃねーんだよボケ
0420デフォルトの名無しさんNGNG
信じるものは救われる
0421デフォルトの名無しさんNGNG
>だからWindows上だけでGUIを作る場合
>Javaを積極的に選択する理由がない。

JTableをVCやVBでやろうとするとそれはそれは大変な道程となる訳で。
文化オリエントの製品を別途購入しVCだと更にCOMの奥義を極めるのが普通、
というまさに茨の道。
0422デフォルトの名無しさんNGNG
作り手にとってよいというのはあるだろうさ。
でもSwingで作ってあるアプリはなんかがっかりなんだよね、ユーザーとしては。
0423デフォルトの名無しさんNGNG
Linuxで日本語フォントがガタガタなんですが
どうにかなりませんか?1.4です。
0424デフォルトの名無しさんNGNG
1.5のSwingはかなりいい感じだが。
もっと早くやってくれよという。
0425名無しさんNGNG
>>3
0426デフォルトの名無しさんNGNG
Javaって相変わらずGUIが枯れてないんですねぇ…。
J#に走ろうかと考えてますがやっぱりあれですか?
0427 NGNG
JTextAreaの重さには愕然とした。
たいした事の無い量のテキストでスクロールが明らかに重い。
Swingで使える軽い奴ないかな。
0428デフォルトの名無しさんNGNG
>>427
残念ながらあなたの要望にJavaはついてこれません・・
JTextAreaのスクロールが重い・・とは思った事ないなぁ・・
0429デフォルトの名無しさんNGNG
>>428
そもそも、JTextAreaにスクロール機能なんて無い。
重いとかいってるのは、スクロール量が小さすぎるからだろう
から、自分で調整しろ。てか、API Doc読め。

JScrollPane scroll = new JScrollPane(new JTextArea());
scroll.getVerticalScrollBar().setUnitIncrement(25);
0430427NGNG
_| ̄|○ >>428 >>429
0431デフォルトの名無しさんNGNG
>>418
VBのほうが簡単ってありゃオブジェクト指向言語としては最低だよ。
VBもVC++もソースコードの管理のしやすさ、メンテナンス性では
Javaに劣る。
0432デフォルトの名無しさんNGNG
>>422
マシンパワーが2GHz以上、メモリ1GB以上あれば
Swingで作ってあろうと満足に動く。
しかも最近のSwingアプリはルックスが綺麗だ。
0433デフォルトの名無しさんNGNG
>>432
「最近」=1.5というのなら同感
0434デフォルトの名無しさんNGNG
>>431
オブジェクト指向は手段であり、目的ではなく、ましてや何かを比較する尺度では無い訳で。
0435デフォルトの名無しさんNGNG
Javaはすべて、Swingがぶちこわしたと言っても過言じゃないと思う。

なんで、標準的でもっとシンプルでかるいtoolkitにしなかったのか
0436デフォルトの名無しさんNGNG
>>435
使い勝手は悪くても、作り勝手はいいんだよなぁ。
0437【中吉】NGNG
1 名前:ひろゆき@どうやら管理人★ 投稿日:03/07/04 21:40 ID:???
おみくじ機能を搭載しました。
名前欄にomikujifusianasanといれて書き込むと、
【大吉】【中吉】などに変換されますです。。。
0438デフォルトの名無しさんNGNG
>>435
「なんで軽いtoolkitにしなかったのか」というのはわからんでもないが
Swingより標準的でシンプルなtoolkitってなんだ?

>>436の言うとおりなのだが、PCの性能がついてくればSwingのつかいごこちもじょじょによくなっていくのだろう(今のPCではSwingの豪快な機能拡張に絶えられない)
それが>>435の回答だと思うのだが
0439デフォルトの名無しさんNGNG
昔に比べるとSwing自体もかなり軽くなったって言われてるが、
実際に昔のPCで今のSwing動かすとどうなの?
もう手元にそんなPC残ってないもんで、わからないんだけど。
0440デフォルトの名無しさんNGNG
PCの性能が上がれば云々ってJava出た当初からずーっと言ってるよ。
その間PCの性能が一切上がってないとでも?
0441デフォルトの名無しさんNGNG
もうちょっとなんだよなぁ。
2GHz512MBが当たり前になればいいのかな、と思う。
まぁ、昔ほど遅くなくなった。
1.5はVMの起動も速いし、結構使えるかも。

「使い勝手」っていったのは、IMEの制御とかクリップボード関係とか、WindowsでいえばDLLが必要になるような機能が使えないので、かゆいところに手が届かないことがあるってこと。
0442デフォルトの名無しさんNGNG
俺、別に今のPCでけっこう快適にSwing動いてるんだけど。
明らかに遅いSwingアプリって、Swingが悪いんじゃなくて書いた人間が
ヘタクソってケースがよくあるよ。
0443デフォルトの名無しさんNGNG
ちょっとヘタクソなコード書いたくらいで、パフォーマンスに大きく影響がでるのも、Swingの良くないところだな。
0444デフォルトの名無しさんNGNG
>>442-443
だよねえ。Java質問スレのほうでも
シングルディスパッチスレッドとか、そのあたりについて質問していた人がいたようで。

それは逆を言えばSwingって簡単に使えるから、よく原理を分かっていなくても、
どうにか動くものが作れてしまうってことでもあるんだけど。

【初心者】Java質問・相談スレ38【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1071613279/867-869n
0445デフォルトの名無しさんNGNG
> ちょっとヘタクソなコード書いたくらいで、パフォーマンスに大きく影響がでるのも、Swingの良くないところだな。
ちょっと乱暴な運転したぐらいで、人を殺せてしまうのも、自動車の良くないところですね。

キミはプログラム書かないほうが幸せだと思われ。
0446443NGNG
>>445
ん?
VBとかVCLとかだと、ヘタクソなコードでパフォーマンスに大きく影響が出たりしないからな。
小回りは効かないけどな。

445の言い方をすればちょっと乱暴な運転しただけで人を殺せる車は良くないということだな。
普通の車なら、ちょっと乱暴な運転しただけでは人を殺せないからな。
なんなら、そこらへんの車で乱暴な運転してみ。あんたの腕では暴れもしないから。
もちろん、車というものは人を殺そうとして運転すれば人を殺せる。

# 日本車でちょっと乱暴な運転で暴れるのは前期SW20か。
0447デフォルトの名無しさんNGNG
>>445←こういうのが俗に言うJava厨の慣れの果て
0448デフォルトの名無しさんNGNG
Swing のシングルスレッド規則なんか、そうしないと使いもんにならない
くらい遅かったから後付けしたんだろ。JComponent#setText とかは
「このメソッドはスレッドセーフですが、〜」って中途半端なんだよ。




とかよく知らずに言ってみる。
0449デフォルトの名無しさんNGNG
> そうしないと使いもんにならないくらい遅かったから後付けしたんだろ。
イベントディスパッチスレッドで重い処理すれば止まるのは Windows も同じ。
0450デフォルトの名無しさんNGNG
>>446
> VBとかVCLとかだと、ヘタクソなコードでパフォーマンスに大きく影響が出たりしないからな。
例えば BCB で OnMouseMove 内に while(true); だけ書いておけば即死すると思うが。

> 445の言い方をすればちょっと乱暴な運転しただけで人を殺せる車は良くないということだな。
書き方が悪かったか? まぁその部分は枝葉だし
「ちょっと余所見したぐらいで、人を殺せてしまうのも、自動車の良くないところですね」
「ちょっと巻き込み確認を怠ったぐらいで、人を殺せてしまうのも、自動車の良くないところですね」
でも何でも良いわけだが。
0451デフォルトの名無しさんNGNG
>>450
> 例えば BCB で OnMouseMove 内に while(true); だけ書いておけば即死すると思うが。

明らかに殺意あり。密必の恋。
0452443NGNG
>>450
そのたとえに、やっちゃいけないことやったらよくない結果になる、という以上の意味はあるのか?
っていうか、お前はちょっと余所見したくらいで人殺してしまうくらい殺伐とした道路事情の場所に住んでるのか?
そこは中国か?勇気がないと道路渡れんようなところか?

まぁ、発言するたびにバカ晒してる感じだから、そろそろやめとけ。
0453デフォルトの名無しさんNGNG
>>451
> 明らかに殺意あり。密必の恋。

単に
> > ヘタクソなコードでパフォーマンスに大きく影響が出たりしないからな。
が間違いだって例をだしただけ。
0454デフォルトの名無しさんNGNG
>>453
while(true);が「下手糞な」コードだ、と?
0455443NGNG
>>453
で、その例が、適切でないという指摘をうけたわけだな。

Swingの場合、コーディングの自由度が高いから、安易に組むと、最適に組んだときとのパフォーマンスの差が大きいという話をしてるわけだろ。
VCLの場合、コーディングの自由度が低いから、差はでにくい、と。VBよりは自由度あるけど。
VCLでもコーディング次第でパフォーマンスを落とせるとか、そういう話じゃないだろ。
0456デフォルトの名無しさんNGNG
>>452
> そのたとえに、やっちゃいけないことやったらよくない結果になる、という以上の意味はあるのか?
無い。

> っていうか、お前はちょっと余所見したくらいで人殺してしまうくらい殺伐とした道路事情の場所に住んでるのか?
仮に、脇見運転で人を殺したら道路事情のせいにするのか?

> そこは中国か?勇気がないと道路渡れんようなところか?
例え話にそんなツッコミされても…
中国行ったこと無いし。
0457デフォルトの名無しさんNGNG
>>454
> while(true);が「下手糞な」コードだ、と?
イベントディスパッチスレッドを止めるような事をしてはイカンのは
Java も BCB も同じという例だから、while(true); でなくても別に構わないんだけどね。
0458デフォルトの名無しさんNGNG
>>455
> VCLでもコーディング次第でパフォーマンスを落とせるとか、そういう話じゃないだろ。
Swing 以外でも同じようにコーディング次第でパフォーマンスが落とせるなら、
Swing が悪いわけでは無いという事になりますが…
0459443NGNG
> 仮に、脇見運転で人を殺したら道路事情のせいにするのか?

するわけないだろ。

歩行者もバカじゃないし、普通の速度でちょっとくらい脇見しても、死ぬようなタイミングで突っ込んできたりはせんよ。
普通車で自転車まきこんでも、よほど壁にはさんだりしない限り、死ぬようなこともないし。
だからといって、脇見や巻き込み確認をしなくてもいいわけじゃないよ。
たとえが適当じゃない、っていいたいだけ。
0460443NGNG
>>458
その直前の文章くらい、読んでくれ。
0461デフォルトの名無しさんNGNG
>>459
> > 仮に、脇見運転で人を殺したら道路事情のせいにするのか?
>
> するわけないだろ。
普通はそうだよね。

プログラム組む時も同じような心構えなら
> ちょっとヘタクソなコード書いたくらいで、パフォーマンスに大きく影響がでるのも、Swingの良くないところだな。
とか言わんと思うんだが。
0462デフォルトの名無しさんNGNG
>>460
> ちょっとヘタクソなコード書いたくらいで、パフォーマンスに大きく影響がでるのも、Swingの良くないところだな。
> VBとかVCLとかだと、ヘタクソなコードでパフォーマンスに大きく影響が出たりしないからな。
とかゆー発言から、
「Swing だけが、ヘタクソなコードでパフォーマンスに大きく影響が出る」
のかを問題にしてる。
0463デフォルトの名無しさんNGNG
>>461
もう放置しろよ。屁理屈捏ねる粘着相手にしても切がないでしょ。
0464デフォルトの名無しさんNGNG
>>463
「ちょっと下手糞に書くとSwing『だけ』パフォーマンスが『著しく低下する』」
に対する反論はしないわけ?
それともできないわけ?

窮地に追い詰められた時に「屁理屈捏ねる粘着相手」と相手を蔑むことで
その場から逃げようとする姿勢は情けなく思います。
0465デフォルトの名無しさんNGNG
俺Swingはヘタレなんで知らないけど

下手糞なコーディングする自分を恥じる心は無いわけ?
「うわぁい、俺実装のクイックソートはバブルソートより遅いぞ☆」
悪いのはクイックソート?下手糞な俺実装?それとも使ってる言語か?
0466デフォルトの名無しさんNGNG
>>465
ワラタ そりゃー下手糞なコーティングしてるヤシが悪いだろ。
俺はSwingとか今から始める段階だから知らないんだけどさ
「ちょっと下手糞に」の「ちょっと」ってのが嫌だナァ。

言葉だと面倒だから良いコーティングと悪いコーティングのソースキボン
0467デフォルトの名無しさんNGNG
>>465
> 下手糞なコーディングする自分を恥じる心は無いわけ?
そりゃ恥じるべきだよ。
> ちょっとヘタクソなコード書いたくらいで、パフォーマンスに大きく影響がでるのも、Swingの良くないところだな。
> VBとかVCLとかだと、ヘタクソなコードでパフォーマンスに大きく影響が出たりしないからな。
とかゆー発言から、
「Swing だけが、ヘタクソなコードでパフォーマンスに大きく影響が出る」
のかを問題にしてる。
0468デフォルトの名無しさんNGNG
具体的に、どんなヘタクソなことができるの?
0469デフォルトの名無しさんNGNG
俺Swingは趣味(?)でやってて、仕事で個人的に使うツールを作って使ってるだけなんだけど
2GHz512MBでもちょっと遅い・・と思うけどなぁ
あと4倍は速くなって欲しいと思う。いつになったら8GHzの時代になることやら。。
あと、専門でやってるわけではないのでヘタレコーディングになってるかもしれない
自分では普通につくっているつもりなのだが。
0470デフォルトの名無しさんNGNG
>>469
SWTスレの↓なのが気になったけどどうなんだろ?
> Eclipse3.0M6からの、SWTへのSwing埋め込みを試してみた人レポートよろ
0471デフォルトの名無しさんNGNG
>>470
元カキコした者です。↓が簡単な紹介になってます。
http://download.eclipse.org/downloads/drops/S-3.0M6-200312182000/eclipse-news-part1-M6.html

自分で評価しろやゴルァと言われそうですが、僕はSWTでしかJavaのGUI作ったことないので評価しにくいのですよ。
0472デフォルトの名無しさんNGNG
>>470
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/snippits/snippet135.html
SunをEclipseコンソーシアムに引きずり込みたいIBMが
「SwingのコードもEclipseに組み込める」というために
つくったものだったけど、結局無駄になったね。internal
なAPIから正式なAPIになったけど、これ以上すすめる
モチベーションがIBM/OTIにあるのかは疑問。
0473デフォルトの名無しさんNGNG
とりあえず、443は何故そんなに必死なんだ?
0474デフォルトの名無しさんNGNG
SWTにSwing組み込めるのは、おまけだろ
SWTはSWTで組まないと意味内
0475デフォルトの名無しさんNGNG
へたくそが使っても、へんなふうにはならない部品というのは、
たしかにすごいけど、SwingやAWTにそこまで求めるのも酷のような気がする。
まあそこまで使い勝手のいいようにラップされた部品というのも、
Java以外のなにかのシステムのGUIコンポーネントには、あるのかもしれないけど。

Javaチュートリアルを日本語に訳して誰でも読めるようにしてくれれば、
固まるようなJavaのGUIアプリも、ずいぶんと数が少なくなりそうなんだが。

>>468
俺も、すごく基本的なことしかわからないけど、
まず基本的な問題として、Javaにおいては、
ボタンがクリックされときに処理をするとか、画面を描画したりするとか、
そういうGUI関連の処理をしてくれるスレッドは、ひとつしか存在しない。

ゆえに、
「ボタンをクリックしたら10秒くらいの時間がかかる処理をはじめる」
とか、そんなソフトをなんの考えもなしにつくったら、
そのボタンをクリックしたら最後、10秒くらいGUIが固まっちゃうのさね。

これを固まらないように作るとすれば、
別のスレッドを用意して、10秒くらい時間のかかる処理は、
その別スレッドにまかせてしまうという感じ。

SwingWorkerクラスとか色々あるので、まじおすすめ。
0476デフォルトの名無しさんNGNG
Win上でSwingアプリをSpy++で見ると
InternalFrameとかタブとかあっても一つのjavax.swing.JFrameしか
見えないんだけどこれってその窓に全部自前で描画してるってこと?
0477デフォルトの名無しさんNGNG
そういうこと。

Swingの重量コンポーネントと軽量コンポーネントでぐぐるとその辺のことが出てる。
0478デフォルトの名無しさんNGNG
>>476
だから、リソース的には軽い。
0479468NGNG
>>468
> 「ボタンをクリックしたら10秒くらいの時間がかかる処理をはじめる」
> そのボタンをクリックしたら最後、10秒くらいGUIが固まっちゃうのさね。

これって、SwingだけじゃなくほとんどのGUIツールキットで起こらない?
逆に、スレッドや同期が気軽に使えるSwing(Jave)のほうが有利なくらいだと思うのだけれど。

「リストにアイテムを突っ込むときに○○○してからじゃないと遅い」
とか
「モデル側でのエレメントの取得処理は十分高速でないといけない」
みたいな例があるのかと思って。
素人ですんまそん。
0480468NGNG
レス番間違えた >>475
0481475NGNG
>>479
>これって、SwingだけじゃなくほとんどのGUIツールキットで起こらない?
たとえば、つぎのようなGUIコンポーネントのシステムが
考えられるとおもうよ。

システムが、ワーカースレッドを複数つくっておいて、それをプール。
クリックされたときなどに行う処理は、ワーカースレッドにすべて引き渡す。
こういったことを、プログラマーが意識しなくとも、システムが自動的におこなってくれる。

これなら、へたくそなプログラマーが、
どんなに重い処理をなんの考えもなしに記述しても、
描画や、ボタンがクリックされたかのチェックを行うスレッドは、固まらない。

キューを作っておいて、そこのキューに仕事をため込むことで、
あるていどのバッファとしたりしてもいいかもしれない。

もちろん、重い処理をつぎつぎと発生させれば、
ワーカースレッドも、つぎつぎと浪費されていくことにはなるし、
キューも、やがてはあふれて処理を取りこぼすだろうけどね。

それはさておきJavaでも、既存のSwingのうえに
このようなコンポーネントシステムを構築(ラップ)することは可能だとおもう。
ただ、Javaの場合は、
もうひとつ『シングルスレッドルール』なるものを考慮しないといけないけどね。

// つーか俺がしらないだけで、
// Swingを使ったそういうコンポーネントのシステム、どこかにありそうだけどね。
0482475NGNG
>>479
>みたいな例があるのかと思って。
その手の例なら、最近のJava Live Transcriptsのテーマにあったとおもう。
俺は、英語苦手だから、全部目を通したわけではないが。
http://java.sun.com/developer/community/chat/JavaLive/2003/jl0121.html
0483デフォルトの名無しさんNGNG
>>481
> たとえば、つぎのようなGUIコンポーネントのシステムが
ちなみに、そのような方法を採用したGUIコンポーネントのシステムってあるの?
0484デフォルトの名無しさんNGNG
>>481
画面からの入力がコマンドになってるCommandパターンなわけね。
面白いと思うけど、各処理を同期させないといけない場合なんかは
面倒くさそうだな。
0485デフォルトの名無しさんNGNG
coreJava2Vol2.応用編より

Swingの設計者は、2つの理由からSwingをスレッドセーフにしないことを決めた。
まず、スレッドの同期には時間がかかるため、Swingの処理速度を
これ以上遅くしたくなかった。
さらに重要な理由として、他のチームがスレッドセーフな
ユーザーインターフェースツールキットを開発したときの経験が挙げられる。
ユーザーインターフェースツールキットを構築する場合、
他のプログラマがユーザーインターフェースツールキットに独自の
要素を追加できるように拡張性を持たせたい。
しかし、スレッドセーフなツールキットを使うと、同期を行わなければ
ならないという制限のためにプログラミングが難しくなり、
デッドロックの可能性を秘めたコンポーネントが生成される傾向がある。
0486デフォルトの名無しさんNGNG
>>481
そういうのは今まで見たことがないな.

アプリケーションへのコールバックがマルチスレッドで行われる場合,
イベントハンドラが全てスレッドセーフになっていなければならないってことになるよ.
foolproofのつもりが,かえってプログラマに対する要求がきつくなってる.

あと,いわゆる先行入力ができなくなる.
たとえばボタンを押すとダイアログボックスが開くというような場合,
普通のツールキットならダイアログが開くまで
重い処理があっても入力はキューされるので
ユーザは先行してEnterとか入力することができるけど,
おまいさんのモデルの場合はダイアログが開く前の(重い処理中の)
入力が他のウィジェットに吸収されてしまうので,先行入力ができない.
こういうのはくだらないと思うかもしれないけど,
ユーザの使い勝手の点では重要.

普通に使われてるウィンドウツールキットが
同期的なイベントハンドリングをするのにはしっかりした理由があるので,
ちょっとした思い付きで改善できるならとっくにそうなってるよ.
その点に関してSwingはVBやVCLと比べて優劣の違いはない.普通.
AWTと比べればスレッドアンセーフだけど,むしろその方が一般的だし.
0487デフォルトの名無しさんNGNG
結論:MFC >>>>>>>>>>>>>>>>> Swing
0488デフォルトの名無しさんNGNG
>>487
プログラムの組みやすさ以外は、ある意味そうだと思う。
0489デフォルトの名無しさんNGNG
>>488
マルチプラットフォームだしね。
http://www.bristol.com/windu/

Mac版もあったけど資料が見当たらない……。
0490デフォルトの名無しさんNGNG
動作速度、カスタマイズ、大きさ、全てにおいて、MFCの勝ちだな。
0491デフォルトの名無しさんNGNG
>アプリケーションへのコールバックがマルチスレッドで行われる場合,
>イベントハンドラが全てスレッドセーフになっていなければならないってことになるよ.
>foolproofのつもりが,かえってプログラマに対する要求がきつくなってる.

Swingの場合、それをシングルスレッド規則が包括しているわけですの。
「コールバックしたらイベントキューに突っ込め。ユーザスレッドで再描画するな。」
ですから。

シングルスレッド規則って、しらん人多いんでわ。←これが問題
0492デフォルトの名無しさんNGNG
シングルスレッド規則知らん人なんですけど
「コールバックしたらイベントキューに突っ込め」
これがどういう事なのかすらわからないのですが

といか、そこまでSwingきわめて、ちみらいったい何つくったわけよ?
0493デフォルトの名無しさんNGNG
極める何てレベルでなく
基 本 中 の 基 本
です
0494デフォルトの名無しさんNGNG
>>493
どっちでもいいけど何作ったの?
0495デフォルトの名無しさんNGNG
>>494
簡易ダウンローだ
0496デフォルトの名無しさんNGNG
>>494
>>395
0497デフォルトの名無しさんNGNG
>>491
> シングルスレッド規則って、しらん人多いんでわ。←これが問題
普通は知ってる。

理由:他のGUIツールキットも同じだから
0498デフォルトの名無しさんNGNG
>>434
あのな。わしが言いたいことは
VBとか.net frameworkとかはAPIの質が低いといっているのだよ。
なんというか、初心者みたいなのとかオブジェクト指向を知らない香具師とか
使い捨てプログラムしか作る気がない香具師には便利なんだろうけど。

拡張性を求めるとあれらのAPIはごちゃごちゃして使い勝手が悪い。
(ドキュメントを見る限りでは)WinFXでもまだまだ汚なさは残っているようだ。
0499デフォルトの名無しさんNGNG
>>445
> > ちょっとヘタクソなコード書いたくらいで、パフォーマンスに大きく影響がでるのも、Swingの良くないところだな。
> ちょっと乱暴な運転したぐらいで、人を殺せてしまうのも、自動車の良くないところですね。
その喩えは奇異だ。そういうのは

ちょっと乱暴なコーディングをしたぐらいで、メモリリークやバグを量産させてデスマーチを起こせてしまうのも、
COBOL, C/C++の良くないところですね。

というならなるほどって思うが
0500デフォルトの名無しさんNGNG
>>452
そういう危険な国は中国と言うよりむしろポルトガルだよ。
世界一交通死亡事故がおきやすい道路というのがあそこにある。

アメリカや日本の警察のように、国が事故原因をしっかりと詳細に調べず、
事情聴取なとといったこともろくにせず
道路標識を修正・追加するとか、その後の対策をしっかりととらないから
いつまでたっても死亡事故が減らない。

なんだか、C++プログラマを見ているようだ。
0501デフォルトの名無しさんNGNG
>>498
> VBとか.net frameworkとかはAPIの質が低いといっているのだよ。
そーゆー事は「質の高いAPI」を作ってから言ってください。
0502デフォルトの名無しさんNGNG
>>499
> というならなるほどって思うが
なるほどって思っちゃうのか。困ったもんだ。
0503デフォルトの名無しさんNGNG
>>502
なんか読み違えてない?
0504デフォルトの名無しさんNGNG
>>500
> なんだか、C++プログラマを見ているようだ。
そーゆー話をしたければ死滅スレにでも行け。
0505デフォルトの名無しさんNGNG
>>501
比較すればSwingAPIの質は高いと思うぞ。
0506デフォルトの名無しさんNGNG
APIの美しさだけ見ると、一番優れているのはなんだろう。
0507デフォルトの名無しさんNGNG
>>506
とりあえず「API の美しさ」を定義してください。

しっかし厨が好きそうな話題ですな。
0508デフォルトの名無しさんNGNG
ttp://cgi.io-websight.com/index2/uploarder/img/hare7300.bin
ttp://cgi.io-websight.com/index2/uploarder/img/hare7301.bin

こんな感じのアプレットをサーブレットで動かそうと考えたのですが
普通に開くと見られるのですが
サーブレットで開くとアプレットを開くことが出来ません。

いろいろいじってみたのですが、行き詰まりました、
もしよろしければ助言いただけないでしょうか
0509デフォルトの名無しさんNGNG
>>508
サーブレットで開くというのが意味不明。
要解説
0510デフォルトの名無しさんNGNG
普通に開くは、HTMLとしてアプレットを表示するだけのソースで開き

サーブレットで開くというのは
http://localhost〜/servlet/MondaiL4 
と言う感じにサーブレット通して開こうとすることを思って書きました。

一応アプレットとして開くと見られるのですが
サーバー通して動きを付けようとサーブレットで開くとアプレットすら表示されません
アプレット表示されて、動きが現れない、なら対処しようがあるのですが
アプレット表示することが出来ず立ち止まっています。
0511デフォルトの名無しさんNGNG
>>510
で、そのときのHTMLはどんなのが出力されてるの?

ま、「サーブレットで開く」って言葉から、理解不足がありあり感じられるわけで、そろそろ「スレ違い」という目も怖くなってくるわけで。
0512デフォルトの名無しさんNGNG
Swingのおすすめの本を教えてください
0513デフォルトの名無しさんNGNG
Swingスレでサーバサイドの話題かよ!
0514デフォルトの名無しさんNGNG
>>507
何とかかんとか2 とか 何とかかんとかEx
みたいなクラス名, メソッド名があるのは美しくないですね。
意味不明な略語が使われてるのも美しくないですね。
0515デフォルトの名無しさんNGNG
JavaWebStartアプリをHttpServletと会話させてリッチクライアントな
Webサービス、ってのはアリじゃないのかね。
0516デフォルトの名無しさんNGNG
>>514
privateなら"なんとかかんとか0"ってのがあっても良いの?
0517デフォルトの名無しさんNGNG
>>515
Avalonがそれに近いことを実現させようとしている
0518デフォルトの名無しさんNGNG
>>515
「API の美しさ」ってのは名前だけで決まる、と。

ところで、JComponent とかの J は許せるのか?
0519デフォルトの名無しさんNGNG
>>516
private なものは公開しないことが前提
裏でどうなっていようと利用する側から触れないところならば問題ない
0520デフォルトの名無しさんNGNG
>>518
名前も美しさの一因だろうが「名前だけで決まる」なんて書いてないだろ。
0521デフォルトの名無しさんNGNG
>>520
>>514 では名前に関してしか書いてない。

ところで、JComponent とかの J は許せるのか?
0522デフォルトの名無しさんNGNG
名前に関してしか書いてないから名前だけで決まる
と考えるなんてすごい○○○ですね。
JComponent の J はない方が美しいでしょうね。
0523デフォルトの名無しさんNGNG
>>522
> > とりあえず「API の美しさ」を定義してください。
の答えが
> 何とかかんとか2 とか 何とかかんとかEx
> みたいなクラス名, メソッド名があるのは美しくないですね。
> 意味不明な略語が使われてるのも美しくないですね。
だったら、それが全てと解釈されても仕方ない。
他にも条件があるような事も全く書いてないし。
0524デフォルトの名無しさんNGNG
>>515
アリ。俺そんなの作って公開してるから探してみな

APIの課題になってるけど
JavaAPIについて

boolean型の戻り値を持ってるメソッドの、isXXXXX / getXXXXXXはどういうきり分けになっているのだろう?って思う、どちらかに統一してくれれば良いのに、、と思うけど
あと、.length()、.getLength()、.size()も統一して欲しい
あと、.size()とかって、ゲッターでしょ?getSize()にすべきなのではないか?と思うけど

反論求む
0525デフォルトの名無しさんNGNG
>>524
Swing に関して言えば、そこそこ統一されてると思うが。
0526デフォルトの名無しさんNGNG
Jなんとかって汚過ぎ。何のためのpackageなのか分からん。
0527デフォルトの名無しさんNGNG
>>524
immutableかどうかで変わるとかJava厨が言ってた。
オレは納得してないがな。
0528デフォルトの名無しさんNGNG
>>527
そう?.getLength()、.size()があるあたりimmutableかどうかで命名されているとは考えにくいのだけど
ちょっと調べてみよ

Jなんとかはいいでしょう
packageはネームスペースの意味もあるけどクラスライブラリの分類/整理が主目的だと思うよ
パッケージが分かれてもクラス名なんか一致しないほうが良いと思う
AWT、Swingは共存して実装できるのだからもしJがなかったらコード醜くなると思うよ
0529508NGNG
>>510  すいません、問題はclassの抜け落ちでした。。。。

ところで、サーブレットで開くという表現を使ったのですが
どんな言い方をすればよかったのでしょうか。。。スレ違いですね、ありがとうございました。
0530デフォルトの名無しさんNGNG
>>508のは「普通に開く」といっても、
>>508のいう「普通」ってどういうことを想定して「普通」と言っているかもわからないし。
「サーブレットで開く」もよくわからないし。

でも、そんな>>508の書き込みでも、
APIの美しさについてのどうでもいいような話よりは、
まだ有意義かもしれないとおもったよ。

言葉の正確さはともかくとして、>>510の
>サーブレットで開くというのは
>http://localhost〜/servlet/MondaiL4 
>と言う感じにサーブレット通して開こうとすることを思って書きました。
で、だいたい言わんとするとは理解できたよ。

つーか、なんでSwingスレで、質問しようとおもんたんだい?
0531デフォルトの名無しさんNGNG
もしSwingを使ったアプレットなら、そっちの話でもしてみないかい。
なんか解らんことがあったら、解る範囲で答えるよ。
0532508NGNG
では、お言葉に甘えて
ttp://cgi.io-websight.com/index2/uploarder/img/hare7301.bin
これが、アプレットなんですが
Appletを継承しています。
JAppletを継承して初めは作っていたのですが、見つけたソースがAppletだったため
Appletになってしまいました、これはAwtと言う奴で、Swingとは違うのでしょうか?
その辺が良くわからず、困惑しています。変な質問すいません

JAppletに戻すにはどうしたら良いかとやってみたのですが出来なかったもので
もしよろしければ、教えていただけると幸いです。
0533デフォルトの名無しさんNGNG
SwingとAWTは別物だよ。

あと基本的なこととして、
WindowsのIEがデフォルトで使用するマイクロソフトのJavaVMでは、
Swingが使えない。

Swingを使用するためには、Sunなどが提供している最近のJavaVMを
クライアント側がインストールしておく必要がある。

ただWindowsマシンでも、
東芝やDellのマシンでは、もしかしたらデフォルトでSwingが使えるかもしれないけどね。

そんなわけで、現状ではAWTのほうが、
より多くの人がそのままで利用できるアプレットにはなるとおもうけれど。
まあ、それでもSwingでアプレットを作ってみたいなのなら、
ここが参考になると思うよ。英文だけど、断片的なソースの所は理解できるだろうから。
http://java.sun.com/docs/books/tutorial/uiswing/converting/how.html
How to Convert
0534デフォルトの名無しさんNGNG
ああいま中身をみたけどこれならSwingでも問題なさそうだね。
とりあえず、 extends Applet を、extends JAppletに。
0535508NGNG
>>534 JApplet にすると動かなくなりました。

あと、今困っていることが増えまして
ソースの
MyCellRenderer_Aと↓にあるコピー&ペーストを一緒に使いたいのですが
�@ ttp://www.javaworld.com/javaworld/javatips/jw-javatip77.html

�@を使おうとすると、MyCellRenderer_Aで設定したことが消えてしまいます。
これは、競合??してるからなのでしょうか、これから勉強してみますが
もし、すぐわかることでしたら、教えていただけると幸いです。
0536デフォルトの名無しさんNGNG
>>535
だからよー。そのJavaPluginはSwingに対応してるのかい?
0537508NGNG
一応使えると思います
�@もMyCellRender_Aもバラバラには使えるので

両方同時に使おうとすると�@の方だけになってしまうので、今困ってます
0538デフォルトの名無しさんNGNG
http://www3.starcat.ne.jp/~ura228/java/work1/Applet1.java
元にしたのはこれか

>>535
どこが動かない?
0539508NGNG
そうです
1:テーブルのヘッダーの撤去と列番号の入力
と
上記�@のコピー&ペーストの実装を同時に行おうとすると、
列番号など表示されず
さらに、�@の機能まで、縮小されてしまいます
(範囲内でペースト可能なのが、選択1セルに対してのみペーストするようになってしまいます)

両方の機能を同時に使いたいのですが、どこを直したら良いのかわからず困っています
0540デフォルトの名無しさんNGNG
凄くお馬鹿な質問なんですが、出来なかったので質問させてもらいます。

アプリケーションとして作ったものをアプレットにするにはどうしたらよいのでしょうか
アプリケーションはJFrameを継承しています
アプレットはAppletを継承しないとできませんよね、、、

どうやって、機能を移したら良いのかわからず、何でわからないのかすらわかっていない自分、、ダメすぎでした。。。
0541デフォルトの名無しさんNGNG
>>540
JFrameを使うアプレットにすればいいじゃん。
0542デフォルトの名無しさんNGNG
あぁーあ、質問スレになってしまった。
0543デフォルトの名無しさんNGNG
【クレジットカードのショッピング枠を現金化!】

クレジットカードで買い物をすると、商品代金の80〜90%のキャッシュバック!!
10万円の買い物をすれば8〜9万円の現金がお手元に!!

■■朝日カード■■
http://www2.pekori.to/~ryu/asahi/
0544デフォルトの名無しさんNGNG
>>520=522
美しさの例として、よりにもよって最初に挙げたのが名前だった君の言葉じゃ説得力なし。
0545デフォルトの名無しさんNGNG
>>544
ほんきのあふぉ?
0546デフォルトの名無しさんNGNG
>>545
必死だな。これだから「Java厨は…」って言われるんだよ。
0547デフォルトの名無しさんNGNG

  ま  た  J  a  v  a  厨  か  !  !  

半可通の分際で「美しさ」とか言うから、墓穴を掘るんだよ。
0548デフォルトの名無しさんNGNG
>>546-547
ヒッシダネ
0549デフォルトの名無しさんNGNG
>>547
死滅スレで好きなだけやってくれ。
http://pc2.2ch.net/test/read.cgi/tech/1047748598/
0550デフォルトの名無しさんNGNG
>>533
このまえ hp のパソコンかったら、プリインストールの Windows に
JRE1.4.2_01 がすでにインストールされていました。
各メーカーがこういう取り組みをしてくれると、開発者としてうれしいなぁ。
0551デフォルトの名無しさんNGNG
>>550
このまえ富士通のパソコンかったら、プリインストールの Windows に
.NET Framework 1.1 がすでにインストールされていました。
各メーカーがこういう取り組みをしてくれると、開発者としてうれしいなぁ。
0552デフォルトの名無しさんNGNG
>>551
単に富士通の糞ランチャーなどの独自アプリが使ってるからでは?
0553デフォルトの名無しさんNGNG
>>552
Office 2003 PersonalのHomeStyle+が.NETを使ってるから、
Office 2003 Personalプレインスコのマシンにはメーカー問わず入ってる。
0554デフォルトの名無しさんNGNG
>>552
.netとは直接関係ないが、今現在のOSにはVBランタイム 6.0, 5.0はデフォルトで
入っているのと同じ感覚なのだろう。

4.0や、3.0,2.0はさすがにランタイムが入っていないが
0555デフォルトの名無しさんNGNG
>>554
今現在のOS? Windows だよね。Linuxとかにも .net ランタイムが
入ってるのか?
0556デフォルトの名無しさんNGNG
そんなんだから「Java厨必死だな」といわれるわけだ。
0557デフォルトの名無しさんNGNG
そろそろSwingの話を……

>>492や俺のような基本中の基本も理解していないレベルのやつのために
シングルスレッドルールや、その意味合いなどを。
0558デフォルトの名無しさんNGNG
結城氏のJavaデザインパターンマルチスレッド編とかいう本を読むとよくわかるよ
0559492NGNG
>>557
たのむ教えてくれ

>>558
読むのめんどくさいから教えてくれ
0560デフォルトの名無しさんNGNG
そういえば、イベントディスパッチスレッド以外から、Swingコンポーネントをいじくろうとすると、
イベントディスパッチスレッドがデッドロックを起こすことってありますかね?

むかし、訳もわからないままJTableをいじってて、
GUIが完全に固まったことがあったんですが。

もうそのときのソースは学校のハードディスクの中なので確認はできませんが、
ほかのスレッドは、コンソールにメッセージを出し続けていたようだから。
今にして思えば、JTableなどのSwingコンポーネントのメソッドを
イベントディスパッチスレッド以外から呼び出して、
デッドロックを起こしたと解釈すれば納得が。
0561デフォルトの名無しさんNGNG
>>559
教えてもらう側なのにえらそうだな。死んでいいよ。
0562デフォルトの名無しさんNGNG
>>561
教える側なのにえらそうだな。
0563デフォルトの名無しさんNGNG
まずスレッドに対する一般的な知識として、ここを。
http://www-6.ibm.com/jp/developerworks/java/010427/j_j-thread.html
dW : Java technology : マルチスレッド化Javaアプリケーションの作成

Swingにおける具体的な例としてはこのサイトが、例も短くて理解しやすい。
http://black.sakura.ne.jp/~third/system/java/swing4.html
Swing とスレッド

英語ならここが短くまとめられている。
http://www.math.cuhk.edu.hk/TechInfo/JavaTutorial-2/ui/swing/threads.html
Threads and Swing
ここの三つの記事などを一通り読むのも。
http://java.sun.com/products/jfc/tsc/articles/threads/threads3.html
The Last Word in Swing Threads
Swing自体についてはここも。
http://java.sun.com/products/jfc/tsc/articles/painting/
Painting in AWT and Swing

>>560
ソースを見ないと正確なことは言えないが、有り得る。
0564デフォルトの名無しさんNGNG
Javaのレイアウトって使えないよね
0565デフォルトの名無しさんNGNG
>>557-560
シングルスレッドルールといっても、
Javaチュートリアルのページにもあるようにそれほど恐ろしいものではないよ。
普通にイベントハンドラに、処理を書いておく限りにおいては、
>>560のようにデッドロックを引き起こすことはまずないし。

もちろん長時間かかる処理を行わせれば、処理が終わるまでGUIは固まるが。


マルチスレッドなシステムによる描画なら、MVCの構成が参考になるかもしれない。
システムをMとVCに区分けして、画面の描画はpaintComponent()メソッドにのみ置く。
paintComponent()メソッドは、モデルのデータを読みとって画面に描画する。

イベントディスパッチスレッド以外のスレッドは、
モデルのデータをいじっても、ビューに対する描画は行わないようにする。
スレッドが、モデルのデータをいじったあとは、
repaint()などの、どのスレッドから呼び出してもかまわないメソッドのみを呼び出し、
イベントディスパッチスレッドにpaintComponent()メソッドを呼び出させてビューを更新する。
0566デフォルトの名無しさんNGNG
>>564
そう?
使えないって、使い方がわからないだけ?
0567デフォルトの名無しさんNGNG
>>540
JFrameの部分をJAppletに変えればいいじゃん。
0568デフォルトの名無しさんNGNG
>>564
>Javaのレイアウト

満足行くようにしたかったら自作せよ。そんなに難しくない。
それかSpringLayoutを使いこなせ。
それ以外のレイアウトをそのまま使う奴は素人。
nullを指定するやつはド素人。
0569デフォルトの名無しさんNGNG
>>568
漏れにとっては、GridBagLayoutのほうが使いやすい。
SpringLayoutは良く分からん。
0570デフォルトの名無しさんNGNG
そこでNetBeansですよ
0571492NGNG
EmptyBorderを簡略化するとレイアウトしやすいよ、
俺はEmptyBorderDecoratorを作ってレイアウトしてる。
↓こんな感じ、どう?
// 空白の枠を「5」にして、ボタンを配置
getContentPane().add(
  new EmptyBorderDecorator(new JButton("ボタン"), 5));

0572デフォルトの名無しさんNGNG
>>563-565
ありがとうございます。
563の二つ目の例をMVCのやり方で書くとこんな感じでいいんでしょうか。
もちろん複数回のrepaintは、ときには一回だけしか実際にはpaintされないとして。

public class Test extends JFrame implements Runnable {
public static void main(String args[]) {
JFrame frame = new Test();
frame.setBounds(10 , 10 , 400 , 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}

private int color;
public Test() { new Thread(this).start(); }
public void run() {
while(true) {
color += 0x050505;
if (color == 0xFFFFFF) color = 0;
Thread.sleep(100);
repaint();
}
}
public void paint(Graphics g) {
setForeground(new Color(color));
g.fillRect(0 , 0 , getWidth() , getHeight());
}
}
0573デフォルトの名無しさんNGNG
SwingのMac用ルック&フィールって、もうダウンロードできないんでしょうか。
このページには、

>A Mac L&F for Macintosh systems is also available, as a separate download from
>the Java Developer Connection Web site.

(Macintosh systems用のMac L&Fもまた利用可能です。
(Swing toolkit packageなどとは)別に
Java Developer Connection Web siteからダウンロードできます)

とあるのですが。

Getting Started with Swing
http://java.sun.com/products/jfc/tsc/articles/getting_started/index.html
0574デフォルトの名無しさんNGNG
Mac用L&Fは、Macでしか動かない罠。
0575デフォルトの名無しさんNGNG
>>574
そういうローカルルールのような物をゆるすから、めちゃくちゃになって
ゆくんだよ
0576デフォルトの名無しさんNGNG
>>573
Apple の行動から察するに、
Mac 用 LookAndFeel は Apple の知的財産なので(以下略)
と言われた、とか言われて訴訟沙汰になるのを Sun が恐れたのでは、と推測。
0577デフォルトの名無しさんNGNG
>>575
UIManager 使えばインストールされてる LookAndFeel のリストとかが得られるので
めちゃくちゃにはならない。

もっとも、UIManager の使い方しらない馬鹿はめちゃくちゃにするかもしれないが。
それは使い方知らない馬鹿が悪いって事で。
0578デフォルトの名無しさんNGNG
>>574
そんなんですか。残念です。
それでダウンロードはまだ可能なのでしょうか?
他のプラットフォームでは動かなくてもダウンロード可能なら手に入れてみたいのですが。

>>576
>Mac 用 LookAndFeel は Apple の知的財産なので(以下略)
その辺の理由で、separate download にされたっぽいですよね。
>>573の記事が書かれたのもけっこう昔っぽいから、また状況がかわって、
ダウンロードもできなくなったんでしょうかね。

それらしいものがなかなか見つかりません…
0579デフォルトの名無しさんNGNG
そんなんですかじゃなくて、そうなんですかです。
すみません…
0580デフォルトの名無しさんNGNG
Windows で Mac の L&F 動かした香具師がサイト公開してたぞ。どこか忘れた。
やり方は問題があるので公開できませんってあったけど。
たぶん os.name 判定いぢるだけでいけそうだ。
0581デフォルトの名無しさんNGNG
jdk1.5.0βのSwingはどうですか?
0582デフォルトの名無しさんNGNG
>>581
Swing に関しては何も変わってない。
0583デフォルトの名無しさんNGNG



 ま た A P P L E か ! 



0584デフォルトの名無しさんNGNG
>>582

そう?

Metal Look and Feel にグラデーションがかかって
多少見栄えが良くなったよ。
フォントは相変わらずだけど。
0585デフォルトの名無しさんNGNG
このアプレットをappletviewerで実行してもキーイベントが発生し
ません。どこがいけないでしょうか。
環境はRed Hat 8, java 1.4.2_01です。
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
//<applet code="KeyTest" width="500" height="500"></applet>
public class KeyTest extends JApplet {
  public void init() {
    addKeyListener(new KeyAdapter() {
      public void keyPressed(KeyEvent e) {
        System.out.println(e);
      }
    });
  }
}
0586デフォルトの名無しさんNGNG
init() 文の中で setFocusable(true); をすれば良さそうだと
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/event/KeyAdapter.html
からたどれる
http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
を読めば見当がつく。
0587585NGNG
>>586
ありがとうございます。できました。
0588デフォルトの名無しさんNGNG
>>584
同意、最初は「ああ、まぁマシになったな」くらいにしか思わんかったけど
見慣れてくるとWindows LookAndFeelよりいいかも、とさえ思える
0589585NGNG
import javax.swing.*;
import java.awt.event.*;
//<applet code="KeyTest" width="500" height="500"></applet>
public class KeyTest extends JApplet {
  public void init() {
    setFocusable(true);
    addKeyListener(new KeyListener() {
      public void keyPressed(KeyEvent e) {
        System.out.println("keyPressed");
      }
      public void keyReleased(KeyEvent e) {
        System.out.println("keyReleased");
      }
      public void keyTyped(KeyEvent e) {
        System.out.println("keyTyped");
      }
    });
  }
}
linuxのjavaではAなどのキーを押すとkeyPressed,
keyTyped, keyReleasedの順で呼ばれます。キーを押している間は
何回も呼ばれます。

windowsではキーを押している間はkeyReleasedは呼ばれないと思う
のですが、この違いを無くすにはどうすればいいでしょうか。
0590デフォルトの名無しさんNGNG
何故このスレで聞くのか謎な気もするけども。

ttp://forum.java.sun.com/thread.jsp?thread=478835&forum=31&message=2226939

で全く同じ問題が議論されてる。

「System プロパティを見てプラットフォームごとにコードを変えろ」とか
「Press されるたびにそのキーを監視しろ」とか
「初めてキーが押されたらタイマーを開始して云々」とか書いてある。
0591デフォルトの名無しさんNGNG
>System プロパティを見てプラットフォームごとにコードを変えろ
Javaなのに???
Javaってプラットフォーム非依存なんじゃないの???
0592デフォルトの名無しさんNGNG
煽りはスルーなのでございます。
0593デフォルトの名無しさんNGNG
>>591
ネイティブコードではそれさえできない
0594デフォルトの名無しさんNGNG
なるほど。Bug Paradeにも山ほど報告されてるね。例えば、
ttp://developer.java.sun.com/developer/bugParade/bugs/4274879.html
ttp://developer.java.sun.com/developer/bugParade/bugs/4504217.html
ttp://developer.java.sun.com/developer/bugParade/bugs/4153069.html
>>591は、これを読んで感想文を提出するように(400字程度)。

> It may not be desirable to fix this: most people will want Java applications
> to act the same as other applications on their system.
とも言ってるけど、GUIに関しては違いを吸収するためのAWTと、
Metal L&FのSwingを用意してるんだし、
キーイベントも、Metal L&Fでは共通であった方が良いと思うが。
ネイティブに近い動作を望んだときは、例えばMotifとかWindowsに変えれば良い。
・・・と言う考え方は間違ってるのかな。
上記のリンク先でも似たような意見が却下されてるし。
0595585NGNG
>>590
ありがとうございます。
0596デフォルトの名無しさんNGNG
同じコンポーネントを移動させたいんですけど、
なんかしっくりくるやりかたがありません。
なんかいい方法ありますか?

具体的にいいますと、フレーム内に
パネルAパネルBパネルCと三つパネルがあるとして、
ボタンを押すことで、パネルAの位置にパネルBが
パネルBの位置にパネルCが、パネルCの位置にパネルAが
くるようにしたいんです。

なんかいい方法ありますかね?
0597デフォルトの名無しさんNGNG
レイアウトマネージャ自作したら?
0598デフォルトの名無しさんNGNG
removeしてaddするんじゃだめなのか?
0599デフォルトの名無しさんNGNG
CardLayoutで紙芝居とか。
1枚目が「A B C」でボタンを押すと2枚目の「B C A」を表示させる。
0600596NGNG
remove,addで作ったんですけど、
やったらおそいんですよね。

理想としてはCardLayoutのようにスムーズに
変えられるといいのですが
0601596NGNG
599の方法だと、うまく表示されません。
同じコンポーネントは複数のコンテナーにaddできないんですよ。
0602デフォルトの名無しさんNGNG
>>601
コンテナごとにボタン増やせばいいじゃん。
0603596NGNG
具体的には、パネルにあるのはボタンじゃなくて動画なんですよ。
それで、それを複数生成するのは、かなりのコストがかかってしまうので
うまく同じリソースを使って移動したいのです。。。
0604デフォルトの名無しさんNGNG
ならば配置される位置は決め打ちできるのだから
レイアウトマネージャ使わずにnullにしておいて
自分で配置しなおせば瞬時におわると思われ。
0605596NGNG
そうですね。nullで配置しなおします。
それが、一番しっくりしそうです。
ありがとうございます。
他にもいいのがあったらご教授してくださいませ
0606デフォルトの名無しさんNGNG
>>605
nullよりレイアウトマネージャ自作するほうが綺麗.
3つの場所をくるくる入れ替えられる
変なレイアウトマネージャだけど.
0607596NGNG
レイアウトマネージャを自作するのもよいのですが、(できたら自作したい)
なんか、自作するのって、むずそうで。
もし、自作するのにいい参考ページがあればご教授してください。

0608デフォルトの名無しさんNGNG
>>600
遅いのはsetVisible(false)してないからじゃないの?
0609デフォルトの名無しさんNGNG
>>608
setVisible(false)してから、removeして、addするとはやくなるんですか?
0610デフォルトの名無しさんNGNG
>>608
早くなりました。
でも、なんでだろう


0611デフォルトの名無しさんNGNG
Swingって基本的な情報はともかく
高速化のための細かいテクニックって情報が分散してない?

具体的にはこういう奴のことね
http://java.sun.com/products/jfc/tsc/articles/ChristmasTree/

>>610描画したままいじくるよりは、描画しない状態でいじくったほうが、
高速だからじゃないですかね?
0612デフォルトの名無しさんNGNG
M$に依存したくないネットワークアプリを作りたくて
J2SDKを入れてみたが、Demoを見る限りそんなにSwing
遅いと感じなかった。 Xeon2.8デュアルの2Gメモリだから
あまり参考にはならんがJAVAでやってみるよ。GUIも
派手じゃなく簡単なものでいいんで。

話それるが、Winsock使わずにWin32 + C/C++でネットワークアプリ
をそれなり簡単に作る方法はないのかね。せめてUNIXにある
ソケットライブラリみないなのがフリーであれば嬉しいんだが。
0613デフォルトの名無しさんNGNG
>>612
初心者は、板とかスレとか考えて質問することから始めよう!
0614デフォルトの名無しさんNGNG
>>612
JNI で Java のネットワークライブラリを呼び出す。
0615デフォルトの名無しさんNGNG
>>612
シグウインとか。
でも結局なかでwinsockAPI呼んでると思うけど
0616デフォルトの名無しさんNGNG
TextFieldに日本語入力すると文字化けしてしまうんですが
どうしたらよいでしょうか
0617デフォルトの名無しさんNGNG
>>616
自分の愚かさを嘆いてください
0618デフォルトの名無しさんNGNG
>>616 もっとよく調べる。FAQだよ?
0619デフォルトの名無しさんNGNG
>>612
AthronXP2500+@2GHzでも軽いよ。
0620デフォルトの名無しさんNGNG

新しいL&FのSynthってどうなん?

XMLでL&Fを定義できるみたいだけど、かなり凝ったものも作れるのかな?
0621デフォルトの名無しさんNGNG
Swingを覚えるためにドローエディタを作っている初心者です。

Windowsの「ペイント」では「ファイルを開く」でファイルを参照できますよね。
あのような機能を付けて、エクスプローラーのように、xmlファイルを参照
できるようにしたいのですが、どうしたら簡単にできるのでしょうか?
0622デフォルトの名無しさんNGNG
>>621
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JFileChooser.html
0623621NGNG
>>622
それです!!
ありがとう。
0624デフォルトの名無しさんNGNG
ここで聞く前になぜオフシャルのドキュメントを読まないのかと (ry
0625デフォルトの名無しさんNGNG
>>621
ttp://www.google.com/search?hl=ja&ie=UTF-8&oe=utf-8&c2coff=1&q=swing+filefilter&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0626デフォルトの名無しさんNGNG
>>620
興味あるのでソース希望
SynthとJavaでググってもシンセサイザ関係しかでてこない。
0627デフォルトの名無しさんNGNG
Synthはまだサンプルさえないらしい。
http://www.javalobby.org/thread.jspa?forumID=61&threadID=11187&start=0&mode=flat
0628デフォルトの名無しさんNGNG
JTabbedPaneでタブにに色をつけると、タブの耳の部分には色がつきません。
setBackground()ではできないのでしょうか。
0629デフォルトの名無しさんNGNG
>>628
ttp://www.codeguru.com/java/articles/320.shtml
0630628NGNG
>>629
ありがとうございます。
UIManager.put("TabbedPane.selected", Color.green);で選択されたタブ
の色を指定することができました。

ちなみに、選択されたタブにそれぞれ別の色を付けることはできるのでしょうか。
UIManagerを調べようと思いAPIを見てみたのですが、ちょっとよくわかりませんでした。
0631629NGNG
>>630
tab.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e){
JTabbedPane jtab = (JTabbedPane)e.getSource();
jtab.setVisible(false);
int sindex = jtab.getSelectedIndex();
String str = jtab.getTitleAt(sindex);
for(int i=0;i<jtab.getTabCount();i++){
if(i==sindex){
if("今週のネタ".equals(str)){
jtab.setBackgroundAt(i, Color.green);
}else{
Color sc = (sindex%2==0)?Color.red:Color.blue;
jtab.setBackgroundAt(i, sc);
}
}else{
jtab.setBackgroundAt(i, null);
}
}
jtab.setVisible(true);
}
});
0632デフォルトの名無しさんNGNG

Synth

Swing Enhancements in the Java 2 SDK, v1.5.0
http://java.sun.com/j2se/1.5.0/docs/guide/swing/1.5/index.html

Package javax.swing.plaf.synth
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/synth/package-summary.html

File Format
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/synth/doc-files/synthFileFormat.html
0633__NGNG
Swingつかってるひとなんているの?
MSのVMではうごかないし・・
当然APPLETは1.1べーすでつくるでしょう
0634デフォルトの名無しさんNGNG
>>633
なんで Applet?
0635デフォルトの名無しさんNGNG
swingはjavaアプリケーションで使ってるし
アプレット使うくらいならjavaアプリのWEBスタートにする
アプレットのWEBスタートはもう意味無いし

フリーソフトとかその辺は最新のjreを落とさせるくらいよい作品がでればいいだけ
VBのランタイムみたいな位置づけで問題ないだろ

jarファイルが凄く小さいので、大きいアプリだとランタイム込みでも
win32ネイティブとあまり変わらなかったり

swingの場合速度面よりメタルのかっこわるさのほうが問題だったよな
1.1+SwingライブラリがでたときのマシンスペックとVMの最適化されてなさを考えると
当時はかなり無理していたのがよくわかる

もうローエンドが2GHzCeleronとかになってる現状では重さは問題ない
swingDemoが重いならかなりのへぼマシンだろ
0636デフォルトの名無しさんNGNG
>>635
まだそんなこと本気で言ってんの?
使うのが開発者なら、そういう屁理屈が通用するかもしれない。

例えば物書きをする人がエディタを探してて、ほとんどが一瞬で起動する
なか、ひとつだけ 3 秒くらいかかったら、その時点でアウトだろ。
起動後の動作にしても、機能が同じなら少しでも軽いほうを選ぶ可能性が高いが
VC や Delphi 製が 10 本、Java 製 1 本あったとして勝負になるのか?
(もちろん使う側は何製なんか知らない)

一応使ってみたら、ファイルの関連付けとかどうすんだ?なんだこりゃ!
補助ソフトとして使ってるタスクトレイ関連とか、キーバインド変更のソフトも
うまく動かねぇ。とか。

マルチプラットフォーム? Mac でも動く? そういえば IE は Windows でも
Mac でもサクサク動くね。
0637デフォルトの名無しさんNGNG
いや、だからそういう人はSWTを使おうという話しに
向こうでもなってます。

Java 高速GUI SWT 2
http://pc2.2ch.net/test/read.cgi/tech/1068349883/

君の言うことには同意、ただ最近のPCなら3秒とか
かかんないよ、最近のJDKで。
それとMac用のIEは死滅しました。
0638デフォルトの名無しさんNGNG
>>635
>もうローエンドが2GHzCeleronとかになってる現状では重さは問題ない
つまりSwingは趣味でやってろってことだな。

数十台も2GHzマシン買う予算なぞそう簡単に下りるわけねーだろ。
0639628NGNG
>>631
各タブの色を固定したかったのですが、そのソースだと選択されると色が変わってしまいませんか?
0640デフォルトの名無しさんNGNG
1.1+Swingライブラリやってたころはマシンが200MHzとか割と普通だったから
今では市販がsono2GHzクラスで、ここ数年にかった人なら1GHzくらいはあるはず。

1GHzもあればだいたい快適に動作するはずだ、というわけだ。
VMの進化も大きいけど、やっぱり時間がかなり解決してくれたよ。

テキストエディタくらいならjava製でも俺の1GHzのマシンで起動に1秒程度だし
我慢できる範囲ではある。

クロスプラットフォームに関してはkylixより現実的ってところで十分だと思ってる。

ネイティブにはもちろんかなわないけど、確実に進化して実用段階になってきたというところ。
0641デフォルトの名無しさんNGNG
趣味でもなんでもSwingを使ってる人の為のスレなのです。
0642デフォルトの名無しさんNGNG
>>637
SWT 使ったら一瞬で起動するの?
Eclipse が爆発したのはフリーで高機能かつ、ライバルがいなかっただけ。
他のフリーIDEは販促用だしね。もし Eclipse ネイティブ版があったらアンタどうする?

まあ、とりあえず SWT がマシだから使いましょう、ってのは同意。
つか IBM あたりに VM プールサービスとかデーモン作ってほしい。
。。。IBM は Windows から Linux 置き換え検討してるから無理か。

> それとMac用のIEは死滅しました。
知ってるけど、それがどうかしたか?
0643デフォルトの名無しさんNGNG
VMプールサービスってどんなの?
VMが常に動き続けて、Javaプログラムを実行してくれるみたいなサービス?
そうだったらかなり欲しいかも。
0644637NGNG
>> 他のフリーIDEは販促用だしね。もし Eclipse ネイティブ版があったらアンタどうする?

もとがJavaならどうもしない。
http://pc2.2ch.net/test/read.cgi/tech/1075108690/43-44
↑読んで。(書いたの俺。)


>> つか IBM あたりに VM プールサービスとかデーモン作ってほしい。

JDK1.5beta1からClassDataSharing(旧称SharedVM)が
入ってます。

マシン上で動くJavaプロセス1個目は
システムクラスローダがロードしJITしたクラスを
共有メモリに貼り付け、2個目以降に起動する
Javaプロセスはそれらを共有メモリから読み出すため
起動が速く、かつメモリ消費が減る。
(↑概要、ちょっと説明端折ってる。)
0645デフォルトの名無しさんNGNG
つか、エディタを一々起動する奴があるか、と。
0646デフォルトの名無しさんNGNG
起動の早い/遅いは SWT/Swingどっちつかっても基本的には変わらんよ。
起動時に発生する大量のクラスのロードと初期化が主な原因だから。
0647デフォルトの名無しさんNGNG
1.5Beta1使ってみたけど、起動時間かなり早くなったよね。
0648デフォルトの名無しさんNGNG
無料で使わせてもらってるのに、文句の多い馬鹿がいるな。
0649デフォルトの名無しさんNGNG
文句の多い奴に大した奴はいないの法則。
0650デフォルトの名無しさんNGNG
>>635
そんな横柄な態度で、 わざわざ Webstart 使って閲覧してくれる人がどれだけいるのか知りたい。

俺は JRE の新バージョンが出るたびにインストールする方だが、
Webstart なんてほとんど使ったことがないっすよ。

そんなわけで未だに弱気にJDK1.1 互換でアプレット作ってたりする俺。カッコワルイ。
0651デフォルトの名無しさんNGNG
一体、635の何処が「横柄」に見えたのかと小一(r
0652デフォルトの名無しさんNGNG
635 は横柄とかゆー前に文章になってない。
0653デフォルトの名無しさんNGNG
例えばSwing使ってリッチクライアントなシステム作ろうって案件があったとして
(WebベースはFnキー使えないし、リロードがどーたらだから業務の生産性が云々のため。AppletとかFlashはおいといて)
そのための配備技術じゃないの?jnlpって
ようやくSwingも顧客に提案出来るぐらいの見栄え(1.5ね)と速度(1.4以降ね)になってきたと思うんだけど

だから閲覧してくれるとかそう言う次元の人たちや、不特定多数の人間が触るシステム(web通販サイトとか)
にはフツーにJSFやら何やら
使ってWebベースで作ればいいんでないの?
そんなにFnキー使ってバカバカ物買うやつ居ないだろ

VBやら何やらで作られたC/S系のシステムの操作性+Webアプリの保守性(?)ってのが狙いだと思われ

まぁでも早い、簡単、乱絵にウェアに越したことは無い罠
0654デフォルトの名無しさんNGNG
Swingは乱絵にウェアじゃないですわよ。
0655新語解説委員NGNG
乱絵にウェア【らんえ・に・うぇあ】
乱絵とは、まったく持ってみる価値の無いくだらく、意味の無い絵のこと。
それに着物(ウェア)を掛けることで絵画を誰にも見えなくすること。
本来は「誰も見れないし理解できない」という時に使われていたが、
それが逆裏的に転じて「誰でも見れるし理解できる」という意味で使われだした。
プログラミング言語的に解説すれば
「どのプラットフォームでも(誰でも)実行可能(見れるし理解できる)」ということ。
つまり「RunAnyWhere」ということである。
0656デフォルトの名無しさんNGNG
>>655
ありがとう。
0657デフォルトの名無しさんNGNG
>>655
anywhere は一つの単語だったよーな…
0658新語解説委員NGNG
>>657
突っ込むなボケ!!
0659デフォルトの名無しさんNGNG
>>658
ボケたのは>>656のよーな・・・
0660デフォルトの名無しさんNGNG
ボケの集うスレはここですか?
0661デフォルトの名無しさんNGNG
>>659
いやボケたのが >>655 で >>656 はボケ返しだろ。
で、>>657 は突っ込みだがつぶやき型だな。
0662デフォルトの名無しさんNGNG
みんなヴァカということで、次。
0663デフォルトの名無しさんNGNG
SwingってAVI扱えないよね?
0664デフォルトの名無しさんNGNG
jmfってあるけどswingとは関係ないぞ

http://java.sun.com/products/java-media/jmf/2.1.1/formats.html
0665デフォルトの名無しさんNGNG
あにめGIFならImageにすると勝手に動いてくれる。
0666デフォルトの名無しさんNGNG
>>664
JMF って AWT と関係してるから Swing とも関係あるっつーか…
0667デフォルトの名無しさんNGNG
swingはりソースリークがまだまだ枯れてないわけだが。
0668デフォルトの名無しさんNGNG
>>667
具体的には?
0669デフォルトの名無しさんNGNG
>>667
っつーか原因調べて BugParade に投稿するなりすればいーじゃん。
0670デフォルトの名無しさんNGNG
投稿するまでもなくバグパレードでleakでサーチすると閉じてないのがいっぱいあるぞ
0671デフォルトの名無しさんNGNG
>>670
leak Swing で調べたけど上位10個は全部 closed になってるぞ。
0672デフォルトの名無しさんNGNG
結論:Swingは重くてバギーな駄目ライブラリ。使う香具師は池沼。
0673デフォルトの名無しさんNGNG
WinFormsも結構ヒドイぞ。昔のSwingを思い出す。
SWTの方がよかったりして。
0674デフォルトの名無しさんNGNG
>671



上位10個は





…ぷっ




0675デフォルトの名無しさんNGNG
Swing leak で検索した結果の 113 個のうち、
In progress, bug は 8個
In progress, request for enhancement は 4個

閉じてないのが「いっぱい」あるようには見えんな。
0676阪人NGNG
JDK1.5のSwingいいね。
だいぶ見た目良くなった。
ただThemeで色買えたりすると前のMetalに戻ったりしない?
0677デフォルトの名無しさんNGNG
>>676
Swing の L&F は Metal のまま変わっていない。
Theme のデフォルトが変わっただけ。
今回の Theme はずっと以前からある。
0678デフォルトの名無しさんNGNG
>>674
…ぷっ
0679阪人NGNG
>>677
ほんまですか?
なんて言う名前のテーマですか?
0680デフォルトの名無しさんNGNG
>>679
1.5 で Metal のデフォルトテーマ になったのは ocean、それ以前は steel
0681デフォルトの名無しさんNGNG
Oceanは前からあったのか。
まぁ、デフォルトが綺麗になったからよしとするか
0682デフォルトの名無しさんNGNG
おーしゃん前からあったっけ?
0683あぼーんNGNG
あぼーん
0684デフォルトの名無しさんNGNG
なぁ…JTableにエクスプローラからD&Dでファイルを入れるサンプルコード、どっかに落ちて無い?
D&D先のセルの位置の取り方が分からんのだよ…。
0685デフォルトの名無しさんNGNG
思いっきりてきとうなこと言うけど、
DropTargetDropEvent#getLocationして
Pointが返ってくるから
JTable#rowAtPoint( Point point)
JTable#columnAtPoint( Point point)
じゃだめなの?
0686デフォルトの名無しさんNGNG
>>683
そうなんだよ。困るよね。
0687デフォルトの名無しさんNGNG
>>683 が何だったのか気になる。
0688デフォルトの名無しさんNGNG
>>685
神
0689デフォルトの名無しさんNGNG
swingのきたない日本語フォントは日本の文化に対する冒涜だな。
SWTはきれいだけど。
0690デフォルトの名無しさんNGNG
そういえばSwingってTrueTypeレンダラ自前で持ってるんだったっけ
0691デフォルトの名無しさんNGNG
すまん、おしえてくれ
Swingのフォントのどのへんが汚い?
0692デフォルトの名無しさんNGNG
>>691
フォントの汚さで「どのへん」って一体どういう質問だ。バカにしてんのか?
0693デフォルトの名無しさんNGNG
つーかSwingにデフォルトで使われるRenderingHintsって変更できないのかな

確かLookAndFeelは設定ファイルで指定する方法があったんだけど
0694デフォルトの名無しさんNGNG
>>689
文句を言う前に汚いと思うなら自分で変えてるか?
変え方も知らずにほざいてるだけならタダのバカとみなす。
0695デフォルトの名無しさんNGNG
もしかしてみんなboldのままつかってるの?
0696691NGNG
俺はmainの最初に

System.setProperty("swing.plaf.metal.controlFont","Monospaced-12");

っていれてるぞい
そういう問題じゃなくて?
0697デフォルトの名無しさんNGNG
boldでもいい。アンチエイリアスがかかれば。
0698デフォルトの名無しさんNGNG
あのサイズのアンチエイリアスみたか?
とてもじゃないがみれたもんじゃないぞ
MSゴシックにしても同じだ
0699デフォルトの名無しさんNGNG
>>694
689じゃないけど、何で汚いフォントがデフォルトになってるの?マジレス希望
0700デフォルトの名無しさんNGNG
元々swingはboldだった
しかし、小さいフォントはあまり太くならなかった
特にアルファベットの場合日本語と違って線が細いとかえってみにくかったり
まぁ、このみがあるが、1.1の外部ライブラリ時代や1.2は問題なかった

1.3から急激に太くなる
そして1.4でさらに太く

フォントのアルゴリズムをちゃんとしたものに変えたらしい

問題はswing部分じゃなかったというのが通説

http://www.lake.its.hiroshima-cu.ac.jp/~mondo/Java/TnE/005.html
0701デフォルトの名無しさんNGNG
>>697

>>700をみればわかるがアンチエイリアスがかかってないのが問題ということではない
0702デフォルトの名無しさんNGNG
>>700
そのページすごく分かりやすいね。

BugParade に登録されていれば vote したいのだが、それっぽいのが
見つからないなあ。
0703デフォルトの名無しさんNGNG
0704デフォルトの名無しさんNGNG
>>696
これと同じ事をJAppletでやるには、
どうしたらいいんでしょう?

アプレットだと、セキュリティ違反になるので、
システムプロパティの変更以外に一括してフォントを変更するやり方がわからないんです。
0705デフォルトの名無しさんNGNG
普通にコントロールをどんどんたどってかえればいい

ってGUI作るのにコードで処理してるの?
普通にNetBeansとかJBuilderで作れば気に入らないところは自由にかえれるし
手間ではないはず

それよりもL&F変えるほうがはるかにいい
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
0706デフォルトの名無しさんNGNG
>>704
こういうのはどうでしょう?(少々面倒くさいのですが)

UIDefaults ui = UIManager.getDefaults();
Font font = new Font("Dialog", Font.PLAIN, 12);

ui.put("Label.font", font);
ui.put("Button.font", font);

ui.put("<コンポーネントの名前>.font", font);
0707704NGNG
>>705
JBuilderとか使っても、結局コードですよね。
手でたくさん直すのは大変ですよ。
L&F変えるとした場合は、
現在のMetalを元にフォントを変えたL&Fを作って、それに置き換えるという方法?
「現在のMetalを元にフォントを変えたL&Fを作る」方法が良く分からなくて…。

>>706
ありがとう。
これならば、コンポーネント単位で指定すればいいだけですね。
試してみます。
0708デフォルトの名無しさんNGNG
>>707
みんなローカルの環境にあわせたGUIになるので安心してさわれるってこと
メタルの方がいいという顧客には会ったこと無いので

JBuilderとかそういうGUIエディットついてるやつはコンポーネントを複数選択して
フォント設定すればいいだけなのでらくちんということ

メタルのboldが気にくわないとはいえ、それがデフォルトの動作なんだから
コントロール単位で設定するのはわりとまっとうなことだと思うけど

0709デフォルトの名無しさんNGNG
メタルというのはMSのやることに何でもケチをつけたがるSunがやりそうなこと。
Windows使っているものにはWindows標準のL&Fがしっくりくるし、
Motof使っているものにはMotifが使いやすい。
今ではOSに依存しないL&Fなるものはイラネ
0710デフォルトの名無しさんNGNG
>>709
自前のGUIライブラリ(Win32ラップしただけの奴とかじゃなくて)作ったら
誰でも自前のL&Fを作りたくなるでしょ。むしろ WindowsL&F がデフォルトで
用意されてるだけ良心的だと思われ。

> Motof使っているものにはMotifが使いやすい。
これは無いな。
0711デフォルトの名無しさんNGNG
こんなにいろいろ言う奴がイッパイいるのに、なんでオプソとかに
「より生のWindowsのLAFに近いSwingのLookAndFeelを作る」企画
とかが出ないのでしょうか?単に趣味の問題で、結局需要ないんで
しょ?
0712デフォルトの名無しさんNGNG
>>711
ttp://www.javadrive.jp/tutorial/uimanager/index1.html
0713デフォルトの名無しさんNGNG
>>711
JGoodies Windows LAF
ttp://www.jgoodies.com/freeware/looks/index.html
SkinLF
ttp://www.l2fprod.com/

とかは試した?
0714デフォルトの名無しさんNGNG
>>710
> > Motof使っているものにはMotifが使いやすい。
> これは無いな。
あるよ
http://fz.bigmountain.cc/article/art_4.php

2chにいるから本人に聞いてみ
http://pc2.2ch.net/test/read.cgi/tech/1020215602/
0715デフォルトの名無しさんNGNG
>>711
ありますが何か?
https://winlaf.dev.java.net/
0716デフォルトの名無しさんNGNG
メタルがなにがだめってボタンだと思う

立体的じゃないボタンはそれがボタンとわかってくれない人が多かったよ

Swingが1.5からはどう評価されるか楽しみだ
0717デフォルトの名無しさんNGNG
確かSwingって太陽と寝助が共同開発したんじゃなかったっけ?
0718デフォルトの名無しさんNGNG
fontごときの問題が現在までこの状態でSwingなんか使えるわけねーだろ
他にも問題は山済みだわ
SwingはまだVersion.0.3くらいのレベル
1.0になってからリリースしろ
0719デフォルトの名無しさんNGNG
ttp://a.jmpd.com/upload/download.php?id=142&idc=A&db=nakama
J2SDK1.5.0でSwingのコンポーネントを適当に配置してみた。
(日本語は文字化けしちゃう…Linuxだからかな…)
0720719NGNG
ttp://a.jmpd.com/upload/view.php3?db=nakama&page=1&Vt=Y&id=142&idc=A
これで見られるかな?
0721デフォルトの名無しさんNGNG
>>718
× 山済み(やまずみ)
○ 山積み(やまづみ)
0722デフォルトの名無しさんNGNG
>>716
そんな馬鹿のためには、ボタン名に"[ ]"でも付けりゃあ済む話だ。
見た目だけだよ。見た目だけ。
0723デフォルトの名無しさんNGNG
>>722
GUI は見た目が大事。
0724デフォルトの名無しさんNGNG
>>722
そんなんで解決してれば苦労しないわな
0725デフォルトの名無しさんNGNG
>>722
0726デフォルトの名無しさんNGNG
>>724
解決してるから、そんなんで苦労しないわな
0727デフォルトの名無しさんNGNG
>>726
マニュアルかなんかに[ ]がついているのはボタンで押せますとか書いてる人か
0728デフォルトの名無しさんNGNG
[___]これでおk!!!
0729デフォルトの名無しさんNGNG
ボタンなんてボーダーつけりゃいいじゃん。
0730デフォルトの名無しさんNGNG
はっはっは。
buttonObj.setBorder(BorderFactory.createRaisedBevelBorder())
で解決だねえ。

3人寄ってもみんな馬鹿だとイミナイ。
0731デフォルトの名無しさんNGNG
ばかはおめーだ
それだとへっこまない

そしてそんなところ作り込むのもばからしい
結局systemdefaultにするのが一番

ALTでメニューへカーソルが行くとか細かいところもあるしな
0732いなむらきよしNGNG
キケー!
0733デフォルトの名無しさんNGNG
>>731
>そしてそんなところ作り込むのもばからしい
ButtonUIに作りこむのはだめかい?UIResource書き換えるのはだめ?

>ALTでメニューへカーソルが行くとか細かいところもあるしな
DefaultのInputMap書き換えちゃだめかい?

どれもたいした手間でもないと思うけど。
0734デフォルトの名無しさんNGNG
細かいところだとボタンのクリックをキーボード操作でやる場合とか
ほかにもいろいろあるからね
すべてやろうとするとやはり手間だよ
0735デフォルトの名無しさんNGNG
>>734
ドメインの要求に合わせたプロパティセットをUIに差し込むのは、どん
な仕組みであれ、やらにゃならんよね。

Swingって、UIコンポーネントごとの属性セットのデフォルトさえ書き
上げれば、あとはなにもせんでもインスタンス全てに適用されるよね?
それ以上の効率化は無理ちゃうか、と思うけど?
0736デフォルトの名無しさんNGNG
Metalがダサ過ぎる…。
0737デフォルトの名無しさんNGNG
そう思うなら変えればいいじゃん
0738デフォルトの名無しさんNGNG
1.4までのMetalのデフォルトのテーマ(Steel?)は
見るだけでなんかくらい気分になったけど
1.5のOceanはいい感じだと思う。


自分でテーマとか新しいL&Fを作るにはどうやったらいいのかな?
0739デフォルトの名無しさんNGNG
BluecurveみたいなLFきぼんぬ。
0740デフォルトの名無しさんNGNG
質問です。
ホームページを見に来た人がJavaアプレット上のJTextPaneに、
その人のパソコンの中にあるテキストファイルの内容を読み込
ませたいのですが、何かいい方法はありますか?
TextAreaの場合は、メモ帳で開いてコピー・貼り付けしてもら
えばよいのですが、JTextPaneの場合、システムクリップボー
ドからの貼り付けが使えないので。
環境はWindowsXPです。
0741デフォルトの名無しさんNGNG
普通にファイルを読み込ませる。
0742デフォルトの名無しさんNGNG
アプレットはサンドボックス内でうごきます
通常ローカル環境には触ることは出来ません
できるとセキュリティホールになります

WebStartにするとこれが少し緩和されます
選択したファイルはセーブロードできるとかね
そのかわりjnlpAPI経由でしかアクセスできません
簡単ですけどね

アプレットもwebstartで動かせるのでそっちにするという手もあることはあります
0743デフォルトの名無しさんNGNG
Java APにする。
0744デフォルトの名無しさんNGNG
>>742
> できるとセキュリティホールになります
ということはWebStartはセキュリティーホールになるということだね。
0745デフォルトの名無しさんNGNG
>>744
いいえ。
アプレットでは完全に無理だったことが
「ユーザの自己責任において」一部可能になったということです。
0746デフォルトの名無しさんNGNG
>>740
ここで聞いても無駄です。
C#スレで質問しなおしてください。
0747デフォルトの名無しさんNGNG
>>746
c#厨の出張がなんでこのスレには多いんだろ
0748デフォルトの名無しさんNGNG
C#のダメさかげんと人気の無さがJavaのせいだとおもってるんでない?
0749デフォルトの名無しさんNGNG
普通のホームページにWebStart、て
0750デフォルトの名無しさんNGNG
ローカルのファイルをそもそもブラウザ上で表示しなきゃならないことがあるんか?
0751デフォルトの名無しさんNGNG
>>745
変だな? アプレットの場合はセキュリティーホールになるんだろ?w
0752デフォルトの名無しさんNGNG
>>746-748
お前ら。どうしてあの質問がC#関連だと思うんだ?
実はかなりコンプレックスあるだろ?
0753デフォルトの名無しさんNGNG
SWKでいいじゃん
バランス感覚なくしてはいいものはできないよ
0754デフォルトの名無しさんNGNG
>>751
jnlpAPIとか調べてからの発言なんだろうな?

ローカルファイルを勝手にアクセスすることができない
あくまで対話によるユーザーの選択したファイルのみアクセス可能ってことだ
ブラウザのファイルアップロードするときに選択ダイアログで選ばせるのと同じ

これが勝手にローカルのファイルをアップロードしたり実行したりできらセキュリティホールだろ
実際そういうのIEに過去にたくさんあって問題になったんだが
0755デフォルトの名無しさんNGNG
はぁ? アプレットの場合でもローカル環境にアクセスするときに
ユーザの選択したファイルのみアクセスにすればいいじゃん。

セキュリティーホールになる原因はなんだと思っているんだ?
アプレットかどうかじゃねーだろ。
なにが、アプレットの場合はセキュリティーホールになる。だ。
0756デフォルトの名無しさんNGNG
アプレットもWebStartもオートパイロットは不可能ってこと?
0757デフォルトの名無しさんNGNG
>>755
アプレットの出た時期にjnlpAPIはなかった。
一般のAPIでローカル環境かどうかの判定入れるのはつらいだろうしな。

あくまでもアプレットは埋め込み技術なのでその辺はサーバーとの
対話で解決できると思ってたんだろ。
似た技術として最新のFlashだってローカルアクセスできないぞ。

個人的にはあのセキュリティなんてなんにも考えられてなかった時代で
セキュリティ考えてたのはすごかったと思ってるが。

アプリだけじゃなくアプレットだってjnlpAPI使えるって知ってるか?
0758デフォルトの名無しさんNGNG
誰もアプレットの場合セキュリティーホールになる、何て言ってないのだが。
勝手にローカル環境にアクセスできたらセキュリティーホールになるというだけで。

>はぁ?アプレットの場合でもローカル環境にアクセスするときに
>ユーザの選択したファイルのみアクセスにすればいいじゃん。
こう思うのはもっともだが、アプレットはそれが不可能な仕様になっているんだから仕方がない。
0759デフォルトの名無しさんNGNG
署名付きにすればいいじゃん
フルアクセスよん
0760デフォルトの名無しさんNGNG
がんばって実装して広めてくれたまえ>こうあるべきじゃん君
0761デフォルトの名無しさんNGNG
>アプレットはそれが不可能な仕様

1.0の仕様の頃はね。
0762デフォルトの名無しさんNGNG
証明書作るのマンドクサイ
0763デフォルトの名無しさんNGNG
>>762
コマンドラインでちょちょっと操作するだけやんか
ベリサインとかがめんどくさいって言う意味か?
べつに正式な認証機関通さなくたってできるよ
「認証されていません」とか「安全ではない」とか言うメッセージは出るが
そんなのJavaでなくてもWindowsコンポネとかドライバーでもよくみかける
0764デフォルトの名無しさんNGNG
おいおまいら、Swingの話をしてくだちい。
0765デフォルトの名無しさんNGNG
ところで、Swingでこういうのって出来ます?
二重のヘッダというか、列の下に列をつけるという…
ttp://sinjya.milkcafe.to/cgi/up/log/435.gif
で、列はユーザの操作で増えたり減ったりします。
0766デフォルトの名無しさんNGNG
swingでウィザード作りたいんですが、
いいGUI部品はありますか?
0767デフォルトの名無しさんNGNG
>>765
できる。
0768デフォルトの名無しさんNGNG
>>766
JButton,JLabel,JFileChooser
0769 NGNG
ウィザードはCardLayoutじゃないのか?
0770デフォルトの名無しさんNGNG
>>765
無理。
まさかTableのセルにTableを入れる訳にも行かないし。
0771デフォルトの名無しさんNGNG
いやカスタムレンダラで出来る
0772デフォルトの名無しさんNGNG
それって、自前で罫線を引くのですか…。
セルの編集とか凄く大変そうですね。
0773デフォルトの名無しさんNGNG
>>765
http://www.senun.com/Left/Programming/Java_old/Examples_swing/JTableExamples1.html
の一番上みたいな事がしたいのか?
0774デフォルトの名無しさんNGNG
>>773
神。

いや773ではなくてリンク先が神。
0775629NGNG
> いや773ではなくてリンク先が神。

リンク先は単にミラーしてるだけだな。Tamemasaさんに感謝しとけ。
0776775NGNG
774の629は書き間違い、失礼。
ちなみに、以下のようなミラーサイトもある。
ttp://www.physci.org/codes/tame/
0777デフォルトの名無しさんNGNG
なにが正しいのかわからんな。
0778デフォルトの名無しさんNGNG
とりあえず >>770 はウソだった、と。
0779デフォルトの名無しさんNGNG
Tamemasaさんを知らなかったので調べてみました。

調査結果:
為政敦男氏が1998〜1999年にSwingExamplesを書き、
オリジナルサイト消滅後もミラーされ続けている。

SwingExamplesページの記録(1999/11/26〜2003/06/03まで変化なし)
http://web.archive.org/web/*/www2.gol.com/users/tame/swing/examples/SwingExamples.html

Re: JTable を使ってカラムのグルーピング(1998/11/11)
http://java-house.jp/ml/archive/j-h-b/021258.html
>>773のサンプルを紹介しています。

5年以上前にSwingの素晴らしい使い方を示してくれた為政さんに感謝します。
0780デフォルトの名無しさんNGNG
5年も前から公開されてた情報を見つけられなかったアホも居る、と。
0781デフォルトの名無しさんNGNG
ネット上の情報に、いつから公開されているかは問題にはならんな。
大切なのは、いまリンクがどれだけあるか、だ。
0782デフォルトの名無しさんNGNG
>>781
リンクもいっぱいあるぞ。やっぱ見つけられなかった奴はアホだな。
0783デフォルトの名無しさんNGNG
Java使ってるj(ry

とか言われるから煽りはやめろ
0784デフォルトの名無しさんNGNG
確かに。Swing使う人はただでさえ少ないんだから仲良くしようよ。
0785デフォルトの名無しさんNGNG
C#で携帯用のアプリ作れねぇかなぁ。
0786デフォルトの名無しさんNGNG
.net のライブラリを携帯上に移植すれば可能だね。
c# ソースを java のソースにトランスレート (java の class にコンパイルでも可) しても可能だね。
携帯の java 上に .net のライブラリを実装しても可能だね。
0787デフォルトの名無しさんNGNG
Swingで2chブラウザもどきを作っているんだけど
起動するだけでメモリ30Mだよ・・・・
0788デフォルトの名無しさんNGNG
それがいやならjavaやめるべし

メモリだけは贅沢じゃないと中間言語系はやってられんよ
0789デフォルトの名無しさんNGNG
このスレで>>787みたいな意見を言うと、>>788のような大人の対応が見られるが、
他のJavaスレで>>787みたいな意見を言うと、滅多糞に叩く。
「Swingは速くなったから今のマシンでは問題ない。お前のマシンが遅いだけ」
何故でしょうね。
0790デフォルトの名無しさんNGNG
今見たらOpenJaneも27Mくってるな

実際にスレ何個か開いてるような環境でのメモリ使用量の報告がほしいな
0791787NGNG
簡単なテキストエディタみたいなのでも20M以上食うんだね。
自己満で作っていて配布もしないからメモリ食おうが遅かろうが
かまわないけど、少し驚いた。
0792デフォルトの名無しさんNGNG
VMが動いている以上イニシャルコストは必ずかかる
でもそこからの上昇は少な目

最近はネイティブアプリでもサイズ、使用メモリが贅沢なことを考えると
高々2、30Mなんて誤差にしかならん
0793デフォルトの名無しさんNGNG
>>789
そりゃメモリ量のことを言ってるのに速度のことを言ったらタダのアホだからな。
0794デフォルトの名無しさんNGNG
>>789
「遅い」に関してはそういった1.4.2で速くなったっていう反論がでるけど、「メモリ食う」というものに関して反論がでることはあまりない。
そして、「メモリ食う」に関して「1.4.2で速くなった」っていう反論がでることは、きっとない。
0795デフォルトの名無しさんNGNG
JTabbedPane tab = new JTabbedPane();
tab.add("hoge", new JButton());

上記のような方法でJTabbedPaneに貼り付けたコンポーネントを参照する方法はありますか?
0796デフォルトの名無しさんNGNG
>>795
おまえはマニュアルちゃんと見たのか?
見たなら見たで何が分からなかったとかかいてもらわんと
0797デフォルトの名無しさんNGNG
>>793-794
すまん。言われてみりゃそうだ。訂正するわ。

このスレで>>787みたいな意見を言うと、>>788のような大人の対応が見られるが、
他のJavaスレで>>787みたいな意見を言うと、滅多糞に叩く。
「今のマシンはメモリを大量につんでるから問題ない。お前のマシンがへぼいだけ」
何故でしょうね。

お前のマシンっつーか、配布先がしょぼいんだから仕方ない。
全員が全員CPUGHz越え・メモリ100MBなわけじゃないんだからさ。
PC関係なんてそんな簡単にリプレースできるとは思えんし。
関係ないけど.NETもメモリ食い過ぎ。結局Win32API使う羽目に。

っていうか俺の言いたいことは、このスレの住人は大人ですねってこった。
0798デフォルトの名無しさんNGNG
そんでもやっぱりEclipseのSWTは軽さが違うよねぇ。
比べてみても時間差はわからないけど、感触がまるで違う。
0799795NGNG
>796
すんませんすんません。
ちょっと投げやりになってたもんで失礼しました。
+
自己解決できてしまいました。

お騒がせしてすいませんでした。
0800デフォルトの名無しさんNGNG
SWTを誉める香具師は多いが、使っている香具師は極めて少ない罠。
0801798NGNG
感触がまるでちがうからといって、SwingからSWTに乗り換えるかといわれると微妙
0802デフォルトの名無しさんNGNG
>>800
大勢がSWTに乗り換えるよりもSwingとの性能差が縮む方が早かったという。
0803デフォルトの名無しさんNGNG
JNI使ってる時点で快適かもしれんがサンドボックス内で扱うのに著名必須なので
スタンドアロンアプリ以外は使いにくいと思われ
サイズもでかくなるしね

実は企業内システムでリッチクライアントの普及がSwingを後押ししているかもしれん
0804デフォルトの名無しさんNGNG
署名人
0805鳥取砂丘lo;ソーュキサルイハ (゚�听)&lro;NGNG
dd
0806デフォルトの名無しさんNGNG
GUIが貧弱なJavaはいずれシェアを奪われる
http://pc5.2ch.net/test/read.cgi/tech/1082151386/

の続き。話題的に重複スレだったので、こっちを消費。
あっちのスレの名言はコレ。
http://pc5.2ch.net/test/read.cgi/tech/1082151386/950-952


950 名前:デフォルトの名無しさん 投稿日:04/06/04 15:09
速さは質の50%くらいに影響する
見た目は10%、残りは堅牢性

951 名前:デフォルトの名無しさん 投稿日:04/06/04 15:31
使いにくいほど遅くなければ、いいってことじゃないのか?
しかも、質が速さと見た目と堅牢性だけだとは。
ゲームで言えば、カラフルなキャラクタがすばやくとまらずに動いてれば、質のいいゲームなんだな。

952 名前:デフォルトの名無しさん 投稿日:04/06/04 15:55
要求仕様は全て堅牢性に包括されるだろ
0807デフォルトの名無しさんNGNG
何故それが名言なんだか理解に苦しむな。
只の寒い不発煽りじゃん。
0808デフォルトの名無しさんNGNG
名言ならもっといいのがあったような
0809デフォルトの名無しさんNGNG
>>806 が書いたのが含まれてるんだろ
0810デフォルトの名無しさんNGNG
Metalのテーマって、いろいろあるもんかな?
0811デフォルトの名無しさんNGNG
SwingDemo を見る限り 4 つだったか 5 つは少なくともあるけど。
0812デフォルトの名無しさんNGNG
Mac風、Win風、GTK風、Motif風、Metalの5つ?
0813デフォルトの名無しさんNGNG
>>812
それは LookAndFeel であって
Metal 自体に 4 つだか 5 つだかあるぞ。
0814デフォルトの名無しさんNGNG
>>812
それはLookAndFeel。
質問をよくみて。

クラスとしてはDefaultMetalThemeのほかにOceanThemeが追加されてるね。
0815デフォルトの名無しさんNGNG
orz 参考になります多。
0816デフォルトの名無しさんNGNG
なんだ?最近sWINGの話題が豊富じゃないか。
2年前なんて全然閑古鳥状態だったのに・・・
0817デフォルトの名無しさんNGNG
>>816
1.4.2から、やっと使い物になる速さになった。
0818デフォルトの名無しさんNGNG
>>816
sWINGなんて書くからWINGsかと思った
WINGsの情報は皆無に等しいがな
0819デフォルトの名無しさんNGNG
無料でばらまいてから、消えたな>WINGs
0820818NGNG
>>819
???
俺が言ったのはWindowMakerが使ってるやつ
0821デフォルトの名無しさんNGNG
wingS?
0822デフォルトの名無しさんNGNG
ttp://wings.mercatis.de/tiki-index.php
0823デフォルトの名無しさんNGNG
サンデープログラマーですが、何か作ろうと思っています。
Null Layoutはあまり使わないってどこかで見ましたが、実際はどうなんでしょうか?
VBっぽくNull Layoutで作ろうと思ってます。
0824デフォルトの名無しさんNGNG
>>823
好きにしろ。
自分しか使わないようなアプリならどっちで作っても他から文句はでないだろ。
0825823NGNG
>>824
まあ、そうなんですが一般的な話を聞いているだけですよ。
0826デフォルトの名無しさんNGNG
>>825
一般論で言えば、VB出身者は null Layout を好む。
エディタ+コマンドラインツール派は Layout Manager を好む。
0827デフォルトの名無しさんNGNG
>>825
一般的には、作るものに応じたものを使う。
0828デフォルトの名無しさんNGNG
>>823
一般的にはNullLayoutは使わない。
>>826
null Layoutを好むVB PGもJavaではLayoutManager使うでしょう

それはそうとSwingは糞
誰かJavaWebStartのネイティブorSWT版作ってくれ。
せっかくSWTの美しいアプリ作ってWebStartで公開しても
起動メニューがアレじゃあ俺様のアプリがへっぽこに見えるじゃねーか
0829デフォルトの名無しさんNGNG
決めつけ(・A・)イクナイ
NullLayoutが適切な場面であれば、NullLayout使えばいい。
0830デフォルトの名無しさんNGNG
>>828
> null Layoutを好むVB PGもJavaではLayoutManager使うでしょう
VB PG は JBuilder とかで null Layout を使います。
以前にVBを主に使ってて Layout Manager を使う人は見たことないです。

> それはそうとSwingは糞
そーゆー話題は他のスレで気の済むまでやってください。

> 誰かJavaWebStartのネイティブorSWT版作ってくれ。
必要なら自分で作ってください。
0831デフォルトの名無しさんNGNG
>起動メニューがアレじゃあ俺様のアプリがへっぽこに見えるじゃねーか
実際にへっぽこなんだろ?
0832デフォルトの名無しさんNGNG
>>828
1.5beta2についてるやつ使ってみ。
0833デフォルトの名無しさんNGNG
>>830
> VB PG は JBuilder とかで null Layout を使います。
> 以前にVBを主に使ってて Layout Manager を使う人は見たことないです。

漏れは、以前にVBを主に使ってたが、SwingではGridBagLayoutをメインに使ってる。
0834デフォルトの名無しさんNGNG
NetBeansなんかだと、null LayoutからGridBagLayoutにがんばって変換してくれるしね。
EclipseのVEでももう少し賢くできるんじゃなかろうか。知らんけど。
0835デフォルトの名無しさんNGNG
久々に Swing でコーディングしてるが、
思いのほか動作が軽快でいい感じ。

JavaWebStart も凄く便利。
感動した。
0836デフォルトの名無しさんNGNG
SwingのUIって
ニ セ ブ ラ ン ド み た い な 怪 し さ が あ る よ ね !
0837デフォルトの名無しさんNGNG
>>836
あーはいはい。で?
最近はまっとうな批判ができなくなったから、ただの中傷するだけになったん?
0838デフォルトの名無しさんNGNG
いかようにもなるので「SwingのUI」なるものはありません。
0839デフォルトの名無しさんNGNG
>>836
そういや、VCLもそんな雰囲気だったなぁ。
MFCで作るものと、動きが違うものがあった。
ウィンドウ最小化するときのアニメーションがなかったり。
0840デフォルトの名無しさんNGNG
使う必要がなくなったので、最近の事情は知りません。
したがって、真っ当な批判も出来ません。

ここの書き込みによると、今ではswingも充分高速になり、見栄えもすばらしいものになったようですが、
評価できないのが残念です。
0841デフォルトの名無しさんNGNG
まっとうなフォームデザイナでフリーのやつがあればなぁ。
JFaceも気になるけどねぇ。
0842デフォルトの名無しさんNGNG
とりあえず、1.4.2を使ったことなくて遅いというな、と。かなり改善されてる。
起動が遅いのは変わりないけど。ちょっとずつ改善されてる。
1.5ではフォントの描画もきれいになってるし、VM使いまわすみたいだから、2つめのアプリからは起動が速い。
0843デフォルトの名無しさんNGNG
>>841
NetBeansでいいじゃん。
JBuilderは知らんけど、あれも無料で使えんかね?
0844デフォルトの名無しさんNGNG
APWORKSっていうのもあるよ
0845デフォルトの名無しさんNGNG
Swingは見た目よりも中身だろ。
どうせお前らは何もできないからSwingの欠点をつくことしかできないわけでw
0846デフォルトの名無しさんNGNG
>>838
毎度おなじみの「作ればできる。」ですかw
いや「作ればいかようにもなる。」でしたねw
0847デフォルトの名無しさんNGNG
NetBeansで問題ないな
というか、いまのところJavaのGUIエディタはアレが最高峰だ

JBuilderは無料のヤツがパーソナルではなくなってファンデーションになったので
商用開発も可能

扱いやすさではJBuilderがEclipseやNetBeansより上だからまずは初心者は
JBuilderさわったほうがいいかも
ただ、初心者だと下手にコードいじってコンパイル通らなくなる可能性もあるから
NetBeansのような保護が欲しいところ

EclipseVEはまだまだ今後のバージョンアップに期待というところか
JBuilderやNetBeansにくらべるとGUIエディタは劣る

1.5β2はSwing特有のboldの文字が綺麗になったのでびっくりしたというところか

0848デフォルトの名無しさんNGNG
>>846
UIを作るどころか、切り替えれもしないやつがひとり。
0849デフォルトの名無しさんNGNG
SWTは結局流行らなかったな。
まぁAWTで捨てた道だから当然といえば当然だが。
0850デフォルトの名無しさんNGNG
SWTは未だにJava UIの最適解だと思われ
あれはプッシュする組織が少ないのが問題なんでしょう
標準じゃないってだけで流行らないのは人間の佐賀
0851デフォルトの名無しさんNGNG
標準ですでにノウハウや部品のあるSwingから移行ができない、というのが欠点だと思うよ。
0852デフォルトの名無しさんNGNG
>>850
作る側にとって最適解でないというのが改善されれば…
0853デフォルトの名無しさんNGNG
>> SWTは結局流行らなかったな。
充分流行っていると思うが。
まぁ、流行っても流行んなくても関係ない
一ついえる事はJavaで「ニセブランド」の怪しさをかもし出さないGUIアプリを作るには
今のことろSWTを使うしか、方法がない事
0854デフォルトの名無しさんNGNG
ネイティブルックアンドフィールでいいじゃん。
0855デフォルトの名無しさんNGNG
ネイティブL&Fにしてから適当にコンテナのツリー辿って、
特定のコンポーネントのボーダーはずしたりして調整すると
見た目はほぼ同じになるよ。
0856デフォルトの名無しさんNGNG
それは微妙に動きが違う、とか言うんだろうけど、VCLでもMFCとは違うし、本物っぽく、つまりMSのアプリケーションの動きに近づけたければMFC使うしかない。
最近のアプリはみんな独自UIだしね。
0857デフォルトの名無しさんNGNG
>>856 ユーザーが困らなかったら、外見は Metal でも Windows でもいいと思われます。
>>848 Look & Feel (スキン)の切り替えができることを知らない人が多いから、やむを得ない反応では?
>>846 この辺を参照されるとよいかと。

http://www.javadrive.jp/tutorial/uimanager/index1.html

 ソースコード中ではなくて、以下のようにシステム・プロパティーをセットしてもいいけど。

java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel [起動クラス]
0858デフォルトの名無しさんNGNG
>>857
Swingで作る側がSwingDemo一度も動かしていないとは考えにくいが
あれは動的なLAF変更で遊ぶものだよ
0859デフォルトの名無しさんNGNG
普通
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
を呪文の様に入れる。
0860デフォルトの名無しさんNGNG
>>859 OSごとにデザイン変わるやん。
0861デフォルトの名無しさんNGNG
>>860
それでいいんじゃないの?
0862デフォルトの名無しさんNGNG
windowsLAFはWindowsしか持ってないからな
固定で書くサンプルもよくみるが>>859がベター
0863デフォルトの名無しさんNGNG
JEditorPaneでsubmitするにはどうしたらええですか?
0864デフォルトの名無しさんNGNG
あげ
0865デフォルトの名無しさんNGNG
WindowsのL&FもMacみたいにネイティブで実装すればいいのにね。
0866デフォルトの名無しさんNGNG
WindowsがJavaを意識したUIを作ってくれれば可能だね。
0867デフォルトの名無しさんNGNG
ダサい方に合わせてどうすんだ
0868デフォルトの名無しさんNGNG
>>865
だってMacだとJavaはほぼネイティブと同じものなんだもん。

>>867
ハァ?
0869デフォルトの名無しさんNGNG
>>868
それは、mac向けのjvmはappleが作ってるから。

まぁjdk1.5からは、デフォルトがmetalじゃなくなるし、
ボールドなフォントもわりとマシになるから、見た目的には
実用に耐え得るようになると思うがね。
0870デフォルトの名無しさんNGNG
スクロールするリストの上部にTextFieldがあって、互いに連動する、
Windowsでいうところの「ListBox」を作っているんですが、うまくいかんです。

List から項目を選択すると、TextField に選択項目が表示される処理、は上手くいっていますが、
逆に、TextFieldを変更したときに、Listの選択項目が変わる処理、が以下のような例外を投げて
しまいます。

>java.lang.IllegalStateException: Attempt to mutate in notification
>at javax.swing.text.AbstractDocument.writeLock(Unknown Source)
>at javax.swing.text.AbstractDocument.replace(Unknown Source)
>at javax.swing.text.JTextComponent.setText(Unknown Source)
>at AListBoxPanel.valueChanged(AListBoxPanel.java:31)
> (以下略)

ソースはこちら。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548

なにがマズイのか、ご教授くださいませ。
0871870NGNG
すいません、ソースのリンク間違えました。
正しくはこっちです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=90&fi=no
0872デフォルトの名無しさんNGNG
>>870
よく読んでないけど

テキスト変更
↓
リストの選択項目変更
↓
その結果がさらなるテキスト変更を引き起こす
↓
最初のテキスト変更と競合

ってことじゃなかろうか。SWINGはプログラム内部で操作しただけでも
ユーザ操作と同じイベントが発生するので注意。
0873デフォルトの名無しさんNGNG
>>870
ListBoxっつーかドロップダウン?ComboBox?
JComboBoxをsetEditable( true)にして使うのはそのものでない?
0874デフォルトの名無しさんNGNG
>>873
ドロップダウンリストが常に表示されてるようなコントロールです。
JComboBox は選択時にしかリストが出ませんよね?

JComboBox でも機能としては間に合うんですけどね。
WardPad の Font選択ダイアログ画面みたいなのを、似せて作ってみようかと。

>>872
どうも、そうみたいです。
Listで選択→TextFieldへ反映、の方も上手くいってませんでした。同じ例外投げてます・・・。
0875870NGNG
自己解決できました。
isFocusOwner() で、自分にフォーカスがあるか調べて、フォーカスがあるときだけ
処理をするようにしたら良いみたいです。
0876デフォルトの名無しさんNGNG
>まぁjdk1.5からは、デフォルトがmetalじゃなくなるし、

よくそう言われるけど、Metalがデフォじゃないってソースは?
どこを探してもテーマが違うだけって話しか見つからないんだが。
0877デフォルトの名無しさんNGNG
http://java.sun.com/j2se/1.5.0/ja/relnotes.html#swing

Swing
以下の記述はこのリリースの Swing 機能に関連しています。
リリース 1.5 では Java の Look & Feel が変わりました。
新しい Look & Feel の名前は「Ocean」であり、自動的にロードされます。
Ocean は以前のデフォルトの Look & Feel (Metal) で使用されていたウィジェットサイズを維持します。
見た目は変わりましたが使い心地はほとんど変わりません。
Metal の Look & Feel はシステムプロパティ swing.metalTheme=steel を設定すれば指定できます。

詳細はバグレポート4607364 および Swing のリリースノートを参照してください。
0878デフォルトの名無しさんNGNG
つまり、プログラム仕様をみてるか、リリースノートを見てるかの違いだな。
プログラム的には、MetalLookAndFeelなんだが。
0879863NGNG
JEditorPaneでsubmitする方法、教えてくれよ。
じゃないと、むしゃくしゃして、大阪のほうの小学生をなでまくるぞ。
0880デフォルトの名無しさんNGNG
submitするってのはどゆこと?
0881863NGNG
>>879
簡単にいえば、グーグルで検索するみたいな。
入力フォームでsubmitを。
リンクはhyperlinkUpdateイベントでできるんだけど。
0882デフォルトの名無しさんNGNG
>>881
submit って言葉がようわからんけど、

google だったら検索する単語をアドレス後方に付けて GET メソッドだし、
他のものでの POST メソッドで呼び出しゃいいんちゃうの
0883デフォルトの名無しさんNGNG
>>879
やってみてないけど
1.5にはjavax.swing.text.html.FormSubmitEventがあるね、ってことは
どっかからこれをプログラム的にイベントポストすることはできる気がする。
0884デフォルトの名無しさんNGNG
JEditorPane使ってブラウザ作る気ならやめとき。
ポテンシャルの低さにガックリさせられるよ。
AA多いスレ開いた日には泣くよ。
0885デフォルトの名無しさんNGNG
>>882
呼び出すのはいくらでもできるけど、submitボタンのタイミングが取れない。

>>884
いや、ブラウザ作るほどじゃなくて単なる簡易表示なんだけど、アンカーはイケるのにsubmitできないから中途半端で。
0886デフォルトの名無しさんNGNG
JTableの1つのセルを編集するごとにある処理を行いたいのですが、
リスナーなどをインプリメントして、ActionPerformedのように
なんかしらをオーバーライドすればよいのでしょうか?
イマイチどうやったらよいものかわかりません。よろしくお願いします。
0887デフォルトの名無しさんNGNG
>>886
ttp://java.sun.com/docs/books/tutorial/uiswing/components/table.html
0888デフォルトの名無しさんNGNG
>>887
ありがとうございます。
テーブルの変化を読み取ることができるようになりました。
しかし、その中で table.setValueAt("hoge",0,0)のようなことを行うと
何度も tableChangedメソッドを繰り返してしまいます。
このメソッドをコメントアウトすると、一編集に対し、一度だけきちんと動作するのですが…
ご存知でしたら教えてください。
0889888NGNG
自己解決しました。
どうやら、setValueAt()をすることで、tableChanged()を呼んでしまい
再帰的にグルグルと回っていたようです。
一時的にtableModelListenerを解除してなんとか切り抜けました。
0890デフォルトの名無しさんNGNG
>>889
詳細が分からないからはっきり言えないけど、invokeLaterを使うべきではない?
0891デフォルトの名無しさんNGNG
>>891
初めてそのメソッドを知りました。
これから調べてみます。
レスありがとうございました。
0892デフォルトの名無しさんNGNG
      |ハ,_,ハ
      |´∀`';/^l
      |u'''^u;'  |
      |∀ `  ミ  ダレモイナイ・・・
      |  ⊂  :,    モサモサ スルナラ イマノウチ
      |     ミ
      |    彡 
      |    ,:'
      |''~''''∪


               l^丶            
        もさもさ   |  '゙''"'''゙ y-―,     
               ミ ´ ∀ `  ,:'     
             (丶    (丶 ミ     
          ((    ミ        ;':  ハ,_,ハ
              ;:        ミ  ';´∀`';,  
              `:;       ,:'  c  c.ミ  
               U"゙'''~"^'丶)   u''゙"J


            /^l
     ,―-y'"'~"゙´  |   もさもさ
     ヽ  ´ ∀ `  ゙':
     ミ  .,/)   、/)
     ゙,   "'   ´''ミ   ハ,_,ハ
  ((  ミ       ;:'  ,:' ´∀`';
      ';      彡  :: っ ,っ
      (/~"゙''´~"U    ι''"゙''u
0893デフォルトの名無しさんNGNG
もっさりさんキタ━━━━━(゚∀゚)━━━━━━!!!
0894yukiko♪NGNG
JLabel imageLabel = new JLabel(new ImageIcon("imgs/hoge.jpg"));
container.add(imageLabel, BorderLayout.WEST);
this.setSize(600, 400);
this.setVisible(true);

containerはgetContentPaneで取得して、レイアウト設定済み。
こんな感じで作ってるんだけど、
なぜか画像が表示されないよ〜。
サンプル見て作ってるのにわけわかめ。

パスもこのクラスファイルの格納されてるフォルダーimgs-hoge.jpeg
あってるはずなのに。。

誰かわかる人いない〜?
もういや(。_ _)。

javaのversionは1.4.2です。


0895名無しさん@そうだ選挙に行こうNGNG
>>894
こんな情報でなんかわかるやつがいたら、神かストーカーだな。
0896名無しさん@そうだ選挙に行こうNGNG
>>894
NetBeans使って楽しろ。
もしくはpack()をはさむ
0897名無しさん@そうだ選挙に行こうNGNG
thisはJFrameなんだろうなぁというくらいしかわからんな
あとウインドウはサイズ指定よりpack使え
サンプルもサイズ指定ならそのサンプル捨ててしまえ

ちなみにそのコードそのまま使ったら画像普通に表示されたけど?
0898名無しさん@そうだ選挙に行こうNGNG
まあ画像へのパスがおかしいんだろ。
0899名無しさん@そうだ選挙に行こうNGNG
サイズ指定は要るだろ。
それか、選挙いけ。そしたら、100年後にはクソサンプルも減るだろう。
0900名無しさん@そうだ選挙に行こうNGNG
なんでサイズ指定させるんだよ
この場合JLabelに推奨サイズ指定してJFrameはpackだろ

pack使わなかったら同じWindowsであってもうまく表示されないぞ

もしかして特定の環境でしか動かなくていいという人?
0901名無しさん@そうだ選挙に行こうNGNG
>>900
・・・うまく表示されないってのがどういうことかわからない。
とりあえず、ここらへんで意図したとおりに動かなかったことはないのだが。
0902名無しさん@そうだ選挙に行こうNGNG
setSizeはinsetsを含むから同じWindowsであってもXPとクラシックでずれが生じる
さらに全く同じWinのバージョンでも人によってタイトルバー大きくしてたりするから
問題が出る

pack使ってない本はすべて捨てていいよ
0903名無しさん@そうだ選挙に行こうNGNG
>>902
あぁ、そういうことね。
「うまく表示されない」っていうほどのことじゃないと思うが。

気になるなら、addNotifyオーバーライドしてこう。
 public void addNotify(){
  super.addNotify();
  Dimension d = getSize();
  Insets is = getInsets();
  setSize(d.width + is.left + is.right, d.height + is.top + is.bottom);
 }
0904yukiko♪NGNG
みんな返事ありがとう♪

eclipseでやってるんだけどどうもパス関係があやしいみたい。。。

パス指定をルート(c:/eclipse/workspace/.....)
から書いたらいけたo(*^▽^*)o

けどなぜ駄目なんだろ?
eclipseの階層表示のとこにclasses以下のフォルダが表示されてない
のが気になるんだけど、ちゃんとローカルにフォルダが出来ててビルド結果も
ちゃんとそこに入ってるのに。。。

classパスはメインが実行できてるからOKなはずだし、
その確実にとおってるパスの直下のフォルダのjpgファイルが
どうして表示されないんだろ(*_*)
0905デフォルトの名無しさんNGNG
>>904
/imgs/hoge.jpgにしたら?
0906デフォルトの名無しさんNGNG
クラスパスとカレントパスは全然関係ない
0907デフォルトの名無しさんNGNG
new JLabel(new ImageIcon(getClass( ).getResource("/imgs/hoge.jpg")));
とテストもせずに言ってみる
0908デフォルトの名無しさんNGNG
>>904-907 Eclipseのパッケージエクスプローラは生成したクラスファイルが
保存されるフォルダを隠蔽して表示しないから。多分プロジェクトの
プロパティでclassesがbin出力フォルダになっているはず。

で、907の通りにgetResource()を使うのは定番なんだけど、このとき
うっかりclassファイルがあるフォルダ(classesかな?)に自分で(手動で)
imgs/hoge.jpgを入れるのではなく、ソースファイルがある対応した
フォルダにimgs/hoge.jpgを作らないとはまるので注意。あとは実行時や
export時にeclipseがよきにはからってくれるのでそれに任せる。
0909デフォルトの名無しさんNGNG
>>908
ドキュメントに「文字列は URL に変換され」とあるから、明示的にgetResource使う必要はないと思ってたのだが、どうか?
0910デフォルトの名無しさんNGNG
>>909 getResourceを使うとクラスパスを基準としたファイルの位置指定になるから
jarかどうかといった実行形態によらない管理ができて楽になるよ。
0911デフォルトの名無しさんNGNG
>>910
いや、等価になると思ってたのだが、どうか、という話なのだが。
0912デフォルトの名無しさんNGNG
>>911
ImageIcon(String filename)は最終的にfilenameに手を加えずにそのまま
Toolkit#getImage(filename)を呼ぶだけなので等価にはならない。
0913デフォルトの名無しさんNGNG
>>912
了解。
サンクス
0914yukiko♪NGNG
>>905
よくわかんないけど
/imgs/hoge.jpgは絶対パスだから
c:/imgs/hoge.jpgになっちゃいません?

<<906
わけわかめ状態になっちゃってて。。。。(。_ _)。バタ!


>>907
new JLabel(new ImageIcon(getClass( ).getResource("/imgs/hoge.jpg")));
なら表示されますたo(*^▽^*)o♪

>>908
主導でclasses以下に放り込んではないよぉ〜。
classes以下を全て削除してからもう一度ビルドして
みたんだけど同じですた(*_*)

0915デフォルトの名無しさんNGNG
クラスパスとファイルのパスの違い分かってるの?
0916yukiko♪NGNG
ファイルパスは/ではじまったら絶対パスでカレントディレクトリの所属する
ルートからの位置。
/なしで始まったらカレントディレクトリから読み始める相対パス。

クラスパスはただclassファイルやjarファイルが置いてあるディレクトリを
コンパイル時に参照できるように設定するもの。
これはルートから書く。

。。。と思ってるけど違うの?
0917デフォルトの名無しさんNGNG
違います。
0918デフォルトの名無しさんNGNG
>>916
違ってはないけど、クラスパスに関しては正しいともいえない。
ひとつつっこむと
× classファイルやjarファイルが置いてあるディレクトリ
○ classファイルやリソースが置いてあるディレクトリやjarファイル
0919デフォルトの名無しさんNGNG
>>918
明らかに間違ってるだろうが。

>コンパイル時に参照できるように設定するもの。
実行時もクラスパスは必要。

>これはルートから書く。
相対パスでも問題ない。
0920デフォルトの名無しさんNGNG
「間違っている」と「間違っている箇所がある」は違うぞ。
0921デフォルトの名無しさんNGNG
いや同じだ。
0922yukiko♪NGNG
まぁまぁ( ^-^)_旦~
おふたりさん、ありがとう♪
おかげで勉強になりましたm(__)m

あたしって向いてないんだよねプログラマo(*^▽^*)o
理論とか理屈はあまり好きじゃなくて感覚でやってるとこあるから・・・

軽蔑されるかもしんないけど、
この業界に入ったきっかけもかっこよくてできるイケメンプログラマ
との出会いを求めてだからね〜o(*^▽^*)o♪

でもクラスパスを書くときに相対パスで書く場面とゆうか
具体的な例が思い浮かばない。。。
0923デフォルトの名無しさんNGNG
>>922
ウザ。
プログラマじゃなく人間やめた方がいいよ。
0924デフォルトの名無しさんNGNG
>>922
> この業界に入ったきっかけもかっこよくてできるイケメンプログラマ
> との出会いを求めてだからね〜o(*^▽^*)o♪

正しい姿勢だと思うが。
出生率低下の歯止めに貢献しろ。
0925デフォルトの名無しさんNGNG
とりあえず俺と
0926yukio♪NGNG
>>925
え、オレでいいの?
0927由紀夫NGNG
>>925
お前は俺のモノだ。
0928デフォルトの名無しさんNGNG
やらなイカ。

いいこと考えたぜ。
お前ら俺のケツで小便しろ。
0929デフォルトの名無しさんNGNG
import java.awt.*;
import javax.swing.*;
public class BoundsTest extends JFrame {
  public static void main(String[] args){new BoundsTest();}
  Display display = new Display();
  BoundsTest(){
    Container container = getContentPane();
    container.add(display);
    setSize(display.getSize());             // これだとダメ。
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }
}

class Display extends JComponent {
  Dimension DEFAULT_SIZE = new Dimension(200, 200);
  public Display(){
    setSize(DEFAULT_SIZE);
  }
  public void paint(Graphics g){
    Rectangle clip = g.getClipBounds();
    g.setColor(Color.white);
    g.fillRect(clip.x, clip.y, clip.width, clip.height);
    Dimension size = getSize();
    g.setColor(Color.red);
    g.drawString("width = " + size.width + "  height = " + size.height, 20, 20);
  }
}
Display のサイズに合わせてJFrameをオープンしたいのですが、どーもうまくいきません。
上のようにdisplay.getSize() で得たサイズでそのままJFrameのサイズを設定しても、ちょっと小さくなってしまいます。
JFrameの全体サイズではなく、クライアント領域のサイズを設定しないとダメだと思うのですが、その方法がわかりません。
どうしたらいいんでしょうか?
0930929NGNG
別のJavaスレでまさにこの話題やってた。
JPanelでPack()するか、addNotify()オーバーライドのinsets。
後者は知らんかった、調べてみます・・。
0931デフォルトの名無しさんNGNG
>>930
もとは>>903あたりのやりとりなんだけどね。
0932今日は蒸しますねNGNG
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); しておいて、
windowClosingで本当に閉じるか確認メッセージを表示後にdisposeしています。
「X」ボタンからはうまくいってます。

自前の終了ボタン(JButton)のイベントからwindowClosingを経由させて閉じたい場合
どんな方法があるのでしょうか?
(disposeするとwindowClosingを経由しません。)
0933デフォルトの名無しさんNGNG
経由させたいなら勝手にwindowClosingを呼べばいいのではないのかね
0934932NGNG
>933
そうですね。
ありがとうございました。
0935デフォルトの名無しさんNGNG
age
0936デフォルトの名無しさんNGNG
936
0937デフォルトの名無しさんNGNG
937
0938デフォルトの名無しさんNGNG
938
0939デフォルトの名無しさんNGNG
939
0940デフォルトの名無しさんNGNG
ここにもスレ番荒らし出現してんのか。
0941デフォルトの名無しさんNGNG
次スレ
http://pc5.2ch.net/test/read.cgi/tech/1068349883/
0942デフォルトの名無しさんNGNG
netbeansが4.0βになってずいぶんと使いやすくなったので
(Antベースのプロジェクト機能が大きい)、遊んでたんだが、
最近のSwingってOSネイティブな感じで結構速いのな。
おれには実用的な速度に思える。
0943デフォルトの名無しさんNGNG
>>941
つうことは、そこでSwingの話していいのか?
0944デフォルトの名無しさんNGNG
NetBeans3.6まで触ってきた人にとって4は鬼門
Ant標準なのはいいのだが・・・うーむ
いままでNetBeansが敷居が低かった部分をすべて破壊してEclipseのまねごとへ向かってる感じ
Swing部分はまったくかわってないし

とりあえず安定度がお話にならないから3.6使った方がいいぞ

0945デフォルトの名無しさんNGNG
安定度に関してはβなんだし細かいこというな。

「ファイルシステム」がなくなったのがいやだな。
0946デフォルトの名無しさんNGNG
NetBeans4はある意味改悪だな
0947デフォルトの名無しさんNGNG
そなの?
おれ4.0になってから分かりやすくなったけど。
マウントとか、いままでのnetbeansユーザには使いやすかった
ようだが、おれはいまのプロジェクトシステムのほうが分かりやすい
けど。
0948デフォルトの名無しさんNGNG
>>947
ライブラリを使うときってどうやるの?
ヘルプがないからわからん・・・
0949デフォルトの名無しさんNGNG

おれはプロジェクトディレクトリにlibディレクトリをつくって
そこにぶち込んでる。libはもともとプロジェクトに入ってるので、
勝手に認識する。

ビルドの時には、lib下のjarも全部アプリケーションjarにマージ
するようにAntスクリプトを書き加えてる。

0950デフォルトの名無しさんNGNG
・・・前のファイルシステムの方がわかりやすいな。
0951デフォルトの名無しさんNGNG
951ゲット!!
0952デフォルトの名無しさんNGNG
>>949
分かりやすいのか?
0953デフォルトの名無しさんNGNG
Eclipseからのユーザーを奪おうとして
結局NetBeansユーザーが逃げるよな

ユーザーが欲しいのは似たような方向へ動くことではなくて
各IDEが特徴出しつつ得意不得意をどうやっていくか、だと思うけどな

Swing関係は3.5からまったくかわってねぇーし
新機能も大事だが、既存のいい部分をのばすというのも大事だと思う
Swing使うならNetBeansで現状決まりなのだが、これをさらにすすめて
クライアントサイドはSwing、結果的にNetBeansできまりというような

具体的にはイベント周りの強化、TableModelとかListModelなどの
細かいコードを書く支援とか、やるべきことはいくらでもあるだろうに
0954デフォルトの名無しさんNGNG
イベント周りを使いやすく、コンポーネントの配置位置をわかりやすくしてほしい。
0955デフォルトの名無しさんNGNG
955
0956デフォルトの名無しさんNGNG
そこでWebLogic Workshopですよ。
0957yoyoNGNG
いきなり質問します。
俺の実力ではどうしても解決出来なかったのでここに掲示します。

JComboboxでコンボボックスが展開した時のイベント、
また、閉じられた時のイベントを取りたいですが、どうすれば
取得できるのでしょうか?ていうか本当に取得は可能なのでしょうか?
結構長い時間調べてみましたが、全然分かりません…
よろしくお願いします。

お答えお願いします。
0958デフォルトの名無しさんNGNG
PopupMenuListener じゃだめなの?
0959yoyoNGNG
お答えありがとうございます。
Popuopもいいですね〜〜〜。
出来ればJComboboxでやりたいですが…
もうちょっと調べてみますが、これも回避策として入れておきます。
hm... 出来ないのかな…
0960デフォルトの名無しさんNGNG
>>959
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JComboBox.html#addPopupMenuListener(javax.swing.event.PopupMenuListener)
0961デフォルトの名無しさんNGNG
>>959
> 出来ればJComboboxでやりたいですが

だからJComboBoxにPopupMenuListener
0962yoyoNGNG
すみません。
勘違いしました。
まさしく、私が探していたのはこれ!です。^^;;;
本当にありがとうございました。
助かりました…
0963デフォルトの名無しさんNGNG
963
0964デフォルトの名無しさんNGNG
964
0965デフォルトの名無しさんNGNG
965
0966デフォルトの名無しさんNGNG
次スレを立てるのなら、Swingにこだわらず、
昔この板にあったスレッドのように、
クライアントサイドJavaスレッドというようなタイトルにして、
SwingもAWTもSWTも、まとめてあつかったほうがいいかもしれない。

Swingスレッドのレス数と、とくにSWTスレッドのレス数をみるに、
それでも、十分のようにおもう。

検索しやすいように【Swing】クライアントサイドJava【SWT】のように、
【】のなかに、Swingなどの文字もつけたうえで。
0967デフォルトの名無しさんNGNG
SWTはPart2まで行っているのなら、
あっちはあっちで独立スレッドのままでもいいかもしれない。

スレッドタイトル。
【Swing】クライアントサイドJava【SWT】

本文。
GUIをはじめとして、クライアントサイドにおけるJavaについて語るスレッド。

前スレッド。
Java低速GUI Swing
http://pc5.2ch.net/test/read.cgi/tech/1062271447/965-

クライアントサイド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/
0968デフォルトの名無しさんNGNG
GUIという土俵は同じだが、考え方が全く違って宗教論になって終わる希ガス
0969デフォルトの名無しさんNGNG
>>966
クライアントサイドっていわれるとねぇ・・・
JavaGUIだね。
0970デフォルトの名無しさんNGNG
このスレの内容なら初心者Javaスレで十分だと思うのだが。
0971デフォルトの名無しさんNGNG
クライアントサイドというのならゲームもリッチクライアントもはいるしなぁ
0972デフォルトの名無しさんNGNG
>>971
むしろ、そこが狙い。
対象範囲を広く取ったクライアント全般のスレッドを今一度。
0973デフォルトの名無しさんNGNG
新スレッドを、GUI関連をまとめて扱うスレッドにするにしても、
クライアント関連をまとめてあつかうスレッドにするにしても、
SWTは、別にしておいてもいいようにおもう。
0974デフォルトの名無しさんNGNG
だからさぁ、Swingは標準でついて来るから初心者Javaスレでいいし、
SWTは別個のライブラリだからスレも別個でいいじゃん。
0975デフォルトの名無しさんNGNG
SwingスレとSWTスレで、妙にレスがおおいなって思ったときは
大抵、Swing vs SWTとか、Javaおせーとか、exeじゃなきゃ駄目だ
とかそんな話ばっかなんだよな。
0976デフォルトの名無しさんNGNG
そうそう。
そもそもここも「高速GUI SWT」スレをパロって作られただけだし。
無理してSwingを単独スレにする必要もないと思う。
初心者Javaスレでも普通にSwingの質問扱ってるし。
0977デフォルトの名無しさんNGNG

じゃあ、異論がなければSWTの文字は削除して、
次スレッドを立てるとすれば、クライアントサイドスレッドのPart4ということにする?

もしSwingのスレッドも無いと寂しいという声もあれば、
携帯電話Javaスレッドのように、括弧のなかにSwingの文字も入れるけど。

スレッドタイトル。
クライアントサイドJava Part4(GUI,Swing等々)
0978デフォルトの名無しさんNGNG
次スレいらん。
0979デフォルトの名無しさんNGNG
Swingスレッドにするにしても、クライアントサイドスレッドにするにしても、
このページへのリンクは入れて欲しい。

Creating a GUI with JFC/Swing
http://java.sun.com/docs/books/tutorial/uiswing/
0980デフォルトの名無しさんNGNG
>>977
だからその内容じゃJavaスレで足りるっつの。
0981デフォルトの名無しさんNGNG
むやみに情報を分散させないでほしいなぁ。
どうせJavaスレでもSwingを扱うし、
J2SE5.0がリリースされればGenericとかもJavaスレで扱うし、
SwingスレとかJ2SE5.0スレとか別々に作るのやめてほしいよ・・・
0982デフォルトの名無しさんNGNG
情報をごちゃまぜにするのもどうかと思うけど、Swingに関しては話題がなくてスレ番荒らしにあってる状況だから、まあいいか。
0983デフォルトの名無しさんNGNG
少なくとも標準で付いてくるパッケージについて一つのJavaスレで話す分には問題ないかと。
0984デフォルトの名無しさんNGNG
じゃ、合流ということで。

【初心者】Java質問・相談スレッド53【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1094860940/
0985デフォルトの名無しさんNGNG
  閑散としたスレに救世主が!!

       廃墟
       ヽ|・∀・|ノ  <ハイーキョマン
       |=◎=|
         | |
0986るぶっっっっっっっっっっっっっっっっっっっっyNGNG
Ruby ,,,>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Swihngpier
0987949NGNG
いまさらですまんが、netbeansの話を蒸し返す。というか
おれなんかウソっぽい事書いたような...

>>948
ライブラリをクラスパスにいれるってだけなら、プロジェクト
アイコンを右クリックでpropertyを開けば、ビルド設定ができる。

Compiling SourcesのとこにClasspath for Compiling Sources
ってのがあるんで、そこにjarを登録すればどこにあるライブラリでも
使える。
 まあマウントの代わりにここでクラスパスとおせってことだな。

ちなみに俺が >>949 で書いたのは、ライブラリの使い方というより
は、ビルド後のjarファイルにライブラリを組み込む方法だな。
なんかすまん。
0988デフォルトの名無しさんNGNG
>>987
あぁ、ありがとう。
しかし「ディスクが入っていません」エラーで起動が激しく面倒なので、こんど試してみる。
0989デフォルトの名無しさんNGNG
>>985
毎回救世主と言って現れるものの、スレを救ってる所を見た事ないぞ
0990デフォルトの名無しさんNGNG
次
http://pc5.2ch.net/test/read.cgi/tech/1095398949/l50
0991デフォルトの名無しさんNGNG
>>990
立てやがった。
必要ないのに。
しかも、Swing限定の名前で。
ま、立てちゃったもんはしかたないね。
削除以来というてもあるが。
0992デフォルトの名無しさんNGNG
立てるのなら低速の文字は外して欲しかったような気がする。
元々が高速SWTスレッドのパロディからとった名前のうえに、
2002年の頃の話だからなあ。
0993デフォルトの名無しさんNGNG
993
0994デフォルトの名無しさんNGNG
記念パピコ
0995デフォルトの名無しさんNGNG
995
0996デフォルトの名無しさんNGNG
996
0997デフォルトの名無しさんNGNG
997
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG
999
1000デフォルトの名無しさんNGNG
1000ならRubyのために死ぬ。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。