Java低速GUI Swing

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
そんなSwingとやっていくみんなのスレッドです。
2デフォルトの名無しさん:03/08/31 04:25
超高速で2(σ・∀・)σゲ ッツ
3GHz の CPU ならそんなに遅くナイヨ
まあ、なんだ
Swingの質問はなんかやたらと最近多い
自分のやりたいことやるのに結構苦労するよな。
まず、描画に関してスレッドの理解。
JTreeも使いこなそうとすると、結構難しいし
テキストコンポネなんか結構奥深いし・・・
自分も仕事でJavaやってますが
GUIに関しては、レベル低いですね多分。

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

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

つい最近、SpringLayoutを大体使いこなせるようになってきた
なんかあったら質問してくれ
低速ねえ。
GUIの中で最も低速?
Swingは遅さよりもその独自色の強さに敬遠
なんかJavaつまんなくなってきた
俺も。
Swingの代わりにSWTが入ってたら大分違っただろうけど。
そんなあなたにJ# & Windows.Form
そんなあなたにDelphi & CLX
15デフォルトの名無しさん:03/08/31 23:04
Swingでも、ビックリするぐらい、早いものもある。
技術力次第ってことか。
>>8
>同一パネル上のコンポーネントを
>そっくり取り替える処理が非常に遅く感じる
これは、組み方が悪い。
17デフォルトの名無しさん:03/09/01 00:00
SWING はちょっとな、あのクラスローディングの長さはいかんともしがたい。
1817:03/09/01 00:03
だから、せめてアプレットにはSWING使わないでくれといいたい。
フツーのアプリケーションにならいいが。
19デフォルトの名無しさん:03/09/01 00:07
20デフォルトの名無しさん:03/09/01 00:19
Celeron 400MHz のマシンを使ってるけど
Swingは重たいなぁ
Swingじゃなければ何がいいの?
22デフォルトの名無しさん:03/09/01 00:29
業務でSwing使おうって決まるのって何が決め手になる場合?
>>22
他の選択肢はAWTとSwingしかないので、それらとの比較になるわけです。
AWT -> Widget少ないので仕様を満たせない
SWT -> Java標準じゃないし配布が面倒
なので消去法でSwing。SWT使いたいんじゃー!!
>>16
俺に言われてもね〜
SWTの配布が面倒ってどういうことなんだろう。
アーカイブで配るときは共有ライブラリいれておけばいいし、
WebStartでも配置できるよね。アプレットくらいじゃないの、
SWTが全然使えないのって。
>>25
誰が面倒だって?
jarとdllを一緒に配ればいいんだよ
何も難しくない
ライセンスにもまったく引っかからない
>>26
>誰が面倒だって?
>>23
2823:03/09/01 19:03
そうだよ、難しくないんだよー。
だからうちの上司説得するの手伝ってくださいマジで。理由はよくわからんけどSWTは気にいらんらしい。
Java Web Startを使用して、SWTアプリケーションを配置する
http://www-6.ibm.com/jp/developerworks/opensource/030822/j_os-jws.html
つーか、SWTのコンポーネントって全て知らないんだけど
そのOSで用意されている(って言うのかなんていえばいいのかわかんないけど)
コンポネは全て使えるのか?

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

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

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

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

   Y 

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

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

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

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

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

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

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

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

しかもWindows専用という罠が待っている
109デフォルトの名無しさん:03/10/25 16:27
結論としては、MFC最強?
WTL最強
111デフォルトの名無しさん:03/10/25 17:47
Swingってスレッドセーフじゃないってマジですか?
マジです
>>97
>>105

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

>>119
>AWTでも使ってろ

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

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

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

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

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

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

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

なんかおかしくなるって具体的には?
>>164
> なんかおかしくなるって具体的には?

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

ttp://www2.makani.to/akutoku/upload/dat/1068295978.lzh
>>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 内部とかでテストしてるって事なんかいな?
>>165
1.4.2-b28 で GTK LookAndFeel に変更した時と
GTK LookAndFeel から他の LookAndFeel に変更した時に確かに変になるね。
169165:03/11/08 23:11
>>167
ま、L&Fに凝りまくられるより、速度とかに力入れてくれるほうがありがたいですしね。
実際速くなってるし。

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

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

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

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

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

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

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

Flashは、アプリケーション版も出すって話ない?
194191:03/11/13 07:26
>>192

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

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

「うp」自体正式名称ではないんだし、それにわざわざ突っかかるようでは
人生で他に他者より優越する機会が無いのかと憐れみを持たれるだけなのでは?
196191:03/11/13 08:15
(こんなことわざわざ言う必要もないのだが)

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

2chにわざわざ書く必要があることなどなにもない。
198デフォルトの名無しさん:03/11/13 08:46
(こんなことわざわざ言う必要もないのだが)

↑これは空気的にお約束で付加しないといけないのですかね?
199191:03/11/13 08:50
(こんなことわざわざ言う必要もないのだが)

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

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

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

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

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

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

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

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

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

まぁ結論としては放置安定ということですな。
>>216
ありがとう。調べてみる。
224デフォルトの名無しさん:03/11/14 13:22
>>223
Eclipseは
「おうちにインストールしたいんじゃが?」
って質問が来たら、めんどくさいことになる。
NetBeansなら、JDKからTomcatまで、ひとつのインストーラーでOK。
225224:03/11/14 13:23
ねぼけておった・・・
226デフォルトの名無しさん:03/11/14 14:41
>>209
>SwingはLightWeightで、AWTはHeavyWeightなComponent
これは処理が重いとか軽いとかのことを言っているわけではない
>>226
(同じだけコンポーネント使ったら)
HeavyWeight のが OS の GUI リソースを使うんだよね?
228224:03/11/14 18:01
>>227
でもLightWeightのが、メモリ・CPUリソースを使う。
CPUリソース
MacOSXのL&Fって無いの?
>>230
Windows環境から使う場合は
SunのHPからDLするんじゃなかったっけ?
>>230
Appleが「漏れのGUIパクるなゴルァ(゚Д゚#)」と言うので、
Mac OS X版JavaのSwingにしか搭載されません。
233デフォルトの名無しさん:03/11/14 19:56
アポーの偏狭さがこんなところでも露呈した訳で
234デフォルトの名無しさん:03/11/14 20:26
意匠権侵害だぞ
>>233
MSだって同じなのだが・・WinLook&FeelはWinでしか使えん
アイコンの著作権問題でね。
ところでMacでJavaやってるやついるか?
どうだAquaUIは
239デフォルトの名無しさん:03/11/15 04:39
JListは、トヨタistの宣伝にでないんですか?
240デフォルトの名無しさん:03/11/15 08:30
つうかおまえ等はしらんだろうが
1.1.8時代はMacルックつかえたんだよ
242デフォルトの名無しさん:03/11/15 10:51
おい、JFrameってマウスでリサイズ中に表示が更新されないんだけど、
なんか方法あったら教えてください。リサイズ後は勝手に更新されます。
以下のイベントを試したのですがこれもリサイズ後なのでだめでした。。。
JDK1.4.2

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

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

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

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

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

自分にはどこをいじったらいいかわからず、解決できそうにないです。
クリップボード制限あると、、、HTMLには載せること出来ないのでしょうか。
251デフォルトの名無しさん:03/11/16 09:44
>>250
とにかく、エラーがでているはずなので
IEのメニューからJavaコンソール を開いてエラーメッセージを載せてください
そうしないと解決には向かわない
252デフォルトの名無しさん:03/11/16 09:44
>>250
というか、HTMLに載せるという表現はやめろ。
253デフォルトの名無しさん:03/11/16 09:46
>>250
さらに、コンソールからじゃなくてアプレッツビューワだろ
2546ヶ月目素人:03/11/16 10:12
>>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に映すと動きません、エラーメッセージ出す右クリック?も動きませんでした。
255デフォルトの名無しさん:03/11/16 10:15
HTMLに映す、か。
面白い表現考えるね。

でも、やめろ。
256デフォルトの名無しさん:03/11/16 10:24
>>254
今確認しました
やっぱり、クリップボードのアクセスでjava.security.AccessControlException
がスローされています
ちょっと待っててください。
>>248 8月からそのページ見ているのに、なんでそのページの
サマリーくらい読んでないんだろ。アプレット署名しないと駄目だよって
ちゃんと書いてあるのに。高々850wordsだよ、それ。
2586ヶ月目素人:03/11/16 11:09
>>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さん、ありがとうございます。
>>258
(1)J2SE SDK日本語ドキュメントの一番最初のページを上から下まで
 眺めてみる。
(2)signed appletでぐぐる。
もちろん、htmlからの呼び出しでも署名付きアプレットは使える。
>>255
じゃあ、なんて言うの?
261デフォルトの名無しさん:03/11/16 18:21
HTMLはあくまでWebページを記述するための規格であって
それを表示するためのプログラムにはまた別の名前がついているので
「HTMLに載せる」とか「HTMLに映す」という表現は意味不明
これから先は自分で調べて考えてきてね

あとあれをアプレッツビューワと言う人は>>253くらいだと思うので
みんなどう言ってるかも自分で調べてきてね
262デフォルトの名無しさん:03/11/16 18:28
>>261
おい、失礼なこと言うなよ
>プロンプトからは開けるのですが、HTMLには乗ってくれませんでした。
これに対して
「さらに、コンソールからじゃなくてアプレッツビューワだろ」
と言ったまでだ、どこに疑問があるんだ?appletviewerだろが。
プロンプトを自分の脳内でコンソールに変換してしまったがな
263デフォルトの名無しさん:03/11/16 18:39
>>261
ま、半可通は黙ってなさいってこった(藁。
264デフォルトの名無しさん:03/11/16 19:12
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

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

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

ネタに捕捉カコワルイ・・・
データ型はよそのスレでもう終った話題だから(w
2716ヶ月目素人:03/11/17 00:12
えっと、>>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;にしても、データサーバーに飛ばしてくれません。
どこをいじっていったらいいのでしょうか。。。
>>271
HTMLで、というのを外せ。
>>272
何度も何度も繰り返し「HTML」というのが出てくるから、思わず、
「ぐわぁぁぁ もう二度とHTMLなんていうなぁぁぁ」 と、がきんちょのように
床にゴロゴロころがって泣きたくなってしまった。
>>271 とりあえずHttpURLConnectionとHTTPについて参考書か何かで
勉強したほうがいいと思うよ。リクエストメソッドとはなにかとかも。
そのコード見てるとサーブレット側でdoPostなどをちゃんと実装して
いるかどうかもなんか怪しい気がする。
あと既にSwingの話じゃないのでこれ以上この場所での質問はどうかと。
(こんなことわざわざ言う必要もないのだが)

言葉の定義でそこまで突っ込んでやらんでもいいだろうに。
2766ヶ月目素人:03/11/17 00:51
>>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
>>275
言葉の定義は大切だ。
ようするにそこに勘違いが含まれてるわけだから。
でも誰も正しく説明できない罠。
2796ヶ月目素人:03/11/17 04:02
>>276で出来ないといってたこと解決しました。
ttp://cgi.io-websight.com/index2/uploarder/img/hare6527.bin

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

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

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

java.security.AccessControlException のエラーの回避方法を
どうか教えてもらえないでしょうか。
2826ヶ月目素人:03/11/19 10:46
ageます。
そのページのサンプルはそのとおりやってみて動くんだよね?

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

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

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

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

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

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

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

http://swingwt.sourceforge.net/
読んでないけど、それって、Swingを前提にコーディングしたものを一発でSWTに変換、とかそういったモノ?
330デフォルトの名無しさん:03/11/26 02:10
SWTをベースにしたSwingってことじゃないの?
SWTをSwingでラップ?
退化したのか進化したのか
古いワインを新しい革袋に入れて売るようなもんだろ
>>333
逆じゃない?
新しい革袋を古いワインに入れて売るようなもんだろ
>>335
ソレダ!
>>336
ソレナノカ!?
338デフォルトの名無しさん:03/11/26 23:26
SwingのトロさとSWTの機種依存を兼ね備えた力と技のV3ってとこか。
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以下に移動した上に別物に変わってしまってました。

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

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

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

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

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

>>348はどのアプリでも起こることなので仕方ないと思うのだが、
>>347だけでも回避する方法はないものかなーと。
>>349

OS変えたら?
2000からXPにしてから同じアプリでもその現象がでなくなったような
"気"がするので・・・。
351デフォルトの名無しさん:03/12/06 00:25
>>349
メモリ増設。
352346:03/12/06 22:54
ううむ。やはりプログラム側ではどうしようもないのか。
ネイティブと並んでSwingなGUIアプリが普通にデスクトップに登場する日を願ってage。
SwingをQtみたいにマルチプラットホーム、マルチ言語で
ネイティブにすればいいのに。それならハナシは簡単。
ライトワンスなんて意味ねぇよ。
あなたが意味ないと思っても多くの人は write once の恩恵には大いにあずかってる
Javaでミドルウェアとか書いてると、二度とwrite onceじゃない環境で書きたくないなーと思うよね。
356デフォルトの名無しさん:03/12/07 02:27
せめてネイティブコンパイルさせてくれ。
>>356
ネイティブコンパイラは色々ありますが何か?
貧乏人はgcjでも使ってなさいってこった
358356:03/12/07 03:09
Swing使っててもネイティブコンパイルできるコンパイラってある?
別途JREが必要とかそんなんじゃなくて。
>>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はやらないだろうね。
>>359
サンクス。そういう訳だったんですね。
>>339のSwingWTが一発変換に近くなってくれるのに期待。
おまいら
http://wwws.sun.com/software/javadesktopsystem/details.html
これって、Swingの実装か?
知ってる奴おしえれ
>>361
確かJOGLだったかな?
363デフォルトの名無しさん:03/12/10 02:10

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が見えるんだよな。
>>362
JOGL と Java Desktop System と何の関係が?
JOGL は Sun の OpenGL Java binding だと思ったけど…
「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 の製品だし微妙だな…。
やっぱ技術力としては
IBM > MS > Sun
となるのかな。
技術力というより(能力×人数)って意味での開発力なら
そんな感じかも。
能力×人数なら
MS > IBM
になる気がする
MSは巨人かヤンキースみたいなイメージがあるのだけど。

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

企業の規模。
IBM>MS>SUN

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

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

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

>>383
その記事大丈夫か?

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

お前は何も分かってない。
AWTXねぇ
もうSUNのやる事には何も期待できないわけですが
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
388デフォルトの名無しさん:03/12/21 21:49
一番手前に表示されるような
ウィンドウを作りたいのですが
どうすればいいのですか?

Windowsでよくある"常に前面に表示"みたいなやつなら
coreAPIだけじゃできない。nativeありならAPI2,3行でいけたはず。
>>388
同一 VM のウィンドウの中で前面に出たいなら java.awt.Window#toFront()
他のネイティブアプリより前に出るのは Windows だったら
JNI 使えばできるかも知らんが他は知らん。
391デフォルトの名無しさん:03/12/23 01:16
>>389
Windows nativeでいいので
やりかた教えてください
Javaって死滅しちゃうの?の1より

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

まんまやね。
> 某言語のパクリ

頭悪そうだな。
395ミルコ・マグカップ:03/12/30 06:31
そんな Swing 使って検索アプリ作りました。
指定されたページの検索とそのリンク先のページの検索をします。
数あるニュースやテレビ番組等のサイトを一括検索。
検索サービスの無いサイトの検索にも。
興味ある人はコチラ → ttp://www.geocities.co.jp/SiliconValley-Bay/6911/
396デフォルトの名無しさん:03/12/30 10:40
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(); }
}
>>397
普通に編集されたテキストが出力されるけど?
どんな環境で使ってるのかな。
399397:04/01/03 01:59
>>398
Red Hat Linux 9です。
java -version
java version "1.4.2_01"

もう一つ分からないことがあります。
button.addActionListener(this);
この行を
box.addActionListener(this);
に変えて実行し、hogeを編集してからリターンを押すと編集したテ
キストが2回表示されます。編集しずに押すと一回だけ表示されま
す。
しかも編集したときは、なぜかボタンを押してもテキストが2回表示
されます。
400 :04/01/03 04:14
>>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が発生する。
だからボタンを押すとコンボボックスがフォーカス失ったので選択項目変化のためと、ボタンが押されたことによるアクションイベントの両方が起きる。
401400:04/01/03 04:59
で何故397のようなことが起こりうるのかについての推測だけど
編集可能なコンボボックスのテキストを編集しても
編集してる最中にはたくさん文字が入力されたりして変化してるから
選択項目が変化したとコンボボックスが判断するのはリターンキーを押されたかフォーカスを失った時になって初めてである。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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

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

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

まぁ、発言するたびにバカ晒してる感じだから、そろそろやめとけ。
>>451
> 明らかに殺意あり。密必の恋。

単に
> > ヘタクソなコードでパフォーマンスに大きく影響が出たりしないからな。
が間違いだって例をだしただけ。
>>453
while(true);が「下手糞な」コードだ、と?
455443:04/01/06 19:04
>>453
で、その例が、適切でないという指摘をうけたわけだな。

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

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

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

するわけないだろ。

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

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

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

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

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

自分で評価しろやゴルァと言われそうですが、僕はSWTでしかJavaのGUI作ったことないので評価しにくいのですよ。
>>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にあるのかは疑問。
473デフォルトの名無しさん:04/01/07 01:53
とりあえず、443は何故そんなに必死なんだ?
SWTにSwing組み込めるのは、おまけだろ
SWTはSWTで組まないと意味内
へたくそが使っても、へんなふうにはならない部品というのは、
たしかにすごいけど、SwingやAWTにそこまで求めるのも酷のような気がする。
まあそこまで使い勝手のいいようにラップされた部品というのも、
Java以外のなにかのシステムのGUIコンポーネントには、あるのかもしれないけど。

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

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

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

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

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

Swingの重量コンポーネントと軽量コンポーネントでぐぐるとその辺のことが出てる。
>>476
だから、リソース的には軽い。
479468:04/01/07 15:03
>>468
> 「ボタンをクリックしたら10秒くらいの時間がかかる処理をはじめる」
> そのボタンをクリックしたら最後、10秒くらいGUIが固まっちゃうのさね。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JAppletに戻すにはどうしたら良いかとやってみたのですが出来なかったもので
もしよろしければ、教えていただけると幸いです。
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
ああいま中身をみたけどこれならSwingでも問題なさそうだね。
とりあえず、 extends Applet を、extends JAppletに。
535508:04/01/09 04:46
>>534 JApplet にすると動かなくなりました。

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

@を使おうとすると、MyCellRenderer_Aで設定したことが消えてしまいます。
これは、競合??してるからなのでしょうか、これから勉強してみますが
もし、すぐわかることでしたら、教えていただけると幸いです。
>>535
だからよー。そのJavaPluginはSwingに対応してるのかい?
537508:04/01/09 05:21
一応使えると思います
@もMyCellRender_Aもバラバラには使えるので

両方同時に使おうとすると@の方だけになってしまうので、今困ってます
http://www3.starcat.ne.jp/~ura228/java/work1/Applet1.java
元にしたのはこれか

>>535
どこが動かない?
539508:04/01/09 05:57
そうです
1:テーブルのヘッダーの撤去と列番号の入力

上記@のコピー&ペーストの実装を同時に行おうとすると、
列番号など表示されず
さらに、@の機能まで、縮小されてしまいます
(範囲内でペースト可能なのが、選択1セルに対してのみペーストするようになってしまいます)

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

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

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

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

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

  ま  た  J  a  v  a  厨  か  !  !  

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

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

>>492や俺のような基本中の基本も理解していないレベルのやつのために
シングルスレッドルールや、その意味合いなどを。
結城氏のJavaデザインパターンマルチスレッド編とかいう本を読むとよくわかるよ
559492:04/01/10 02:28
>>557
たのむ教えてくれ

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

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

もうそのときのソースは学校のハードディスクの中なので確認はできませんが、
ほかのスレッドは、コンソールにメッセージを出し続けていたようだから。
今にして思えば、JTableなどのSwingコンポーネントのメソッドを
イベントディスパッチスレッド以外から呼び出して、
デッドロックを起こしたと解釈すれば納得が。
>>559
教えてもらう側なのにえらそうだな。死んでいいよ。
>>561
教える側なのにえらそうだな。
まずスレッドに対する一般的な知識として、ここを。
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
ソースを見ないと正確なことは言えないが、有り得る。
564デフォルトの名無しさん:04/01/10 05:01
Javaのレイアウトって使えないよね
>>557-560
シングルスレッドルールといっても、
Javaチュートリアルのページにもあるようにそれほど恐ろしいものではないよ。
普通にイベントハンドラに、処理を書いておく限りにおいては、
>>560のようにデッドロックを引き起こすことはまずないし。

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


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

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

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

>>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());
}
}
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
574デフォルトの名無しさん:04/01/16 19:02
Mac用L&Fは、Macでしか動かない罠。
>>574
そういうローカルルールのような物をゆるすから、めちゃくちゃになって
ゆくんだよ
>>573
Apple の行動から察するに、
Mac 用 LookAndFeel は Apple の知的財産なので(以下略)
と言われた、とか言われて訴訟沙汰になるのを Sun が恐れたのでは、と推測。
>>575
UIManager 使えばインストールされてる LookAndFeel のリストとかが得られるので
めちゃくちゃにはならない。

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

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

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



 ま た A P P L E か ! 



>>582

そう?

Metal Look and Feel にグラデーションがかかって
多少見栄えが良くなったよ。
フォントは相変わらずだけど。
このアプレットを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);
      }
    });
  }
}
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
を読めば見当がつく。
587585:04/01/21 23:41
>>586
ありがとうございます。できました。
>>584
同意、最初は「ああ、まぁマシになったな」くらいにしか思わんかったけど
見慣れてくるとWindows LookAndFeelよりいいかも、とさえ思える
589585:04/01/27 14:31
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は呼ばれないと思う
のですが、この違いを無くすにはどうすればいいでしょうか。
何故このスレで聞くのか謎な気もするけども。

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

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

「System プロパティを見てプラットフォームごとにコードを変えろ」とか
「Press されるたびにそのキーを監視しろ」とか
「初めてキーが押されたらタイマーを開始して云々」とか書いてある。
>System プロパティを見てプラットフォームごとにコードを変えろ
Javaなのに???
Javaってプラットフォーム非依存なんじゃないの???
煽りはスルーなのでございます。
>>591
ネイティブコードではそれさえできない
なるほど。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に変えれば良い。
・・・と言う考え方は間違ってるのかな。
上記のリンク先でも似たような意見が却下されてるし。
595585:04/01/28 18:31
>>590
ありがとうございます。
596デフォルトの名無しさん:04/02/02 01:19
同じコンポーネントを移動させたいんですけど、
なんかしっくりくるやりかたがありません。
なんかいい方法ありますか?

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

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

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

>>600
遅いのはsetVisible(false)してないからじゃないの?
>>608
setVisible(false)してから、removeして、addするとはやくなるんですか?
>>608
早くなりました。
でも、なんでだろう


Swingって基本的な情報はともかく
高速化のための細かいテクニックって情報が分散してない?

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

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

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

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

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

Windowsの「ペイント」では「ファイルを開く」でファイルを参照できますよね。
あのような機能を付けて、エクスプローラーのように、xmlファイルを参照
できるようにしたいのですが、どうしたら簡単にできるのでしょうか?
622デフォルトの名無しさん:04/02/07 19:00
623621:04/02/07 19:03
>>622
それです!!
ありがとう。
ここで聞く前になぜオフシャルのドキュメントを読まないのかと (ry
>>620
興味あるのでソース希望
SynthとJavaでググってもシンセサイザ関係しかでてこない。
JTabbedPaneでタブにに色をつけると、タブの耳の部分には色がつきません。
setBackground()ではできないのでしょうか。
630628:04/02/08 15:14
>>629
ありがとうございます。
UIManager.put("TabbedPane.selected", Color.green);で選択されたタブ
の色を指定することができました。

ちなみに、選択されたタブにそれぞれ別の色を付けることはできるのでしょうか。
UIManagerを調べようと思いAPIを見てみたのですが、ちょっとよくわかりませんでした。
631629:04/02/08 16:49
>>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);
}
});
632デフォルトの名無しさん:04/02/08 20:10
633__:04/02/08 21:41
Swingつかってるひとなんているの?
MSのVMではうごかないし・・
当然APPLETは1.1べーすでつくるでしょう
>>633
なんで Applet?
swingはjavaアプリケーションで使ってるし
アプレット使うくらいならjavaアプリのWEBスタートにする
アプレットのWEBスタートはもう意味無いし

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

> それとMac用のIEは死滅しました。
知ってるけど、それがどうかしたか?
VMプールサービスってどんなの?
VMが常に動き続けて、Javaプログラムを実行してくれるみたいなサービス?
そうだったらかなり欲しいかも。
644637:04/02/09 00:28
>> 他のフリー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プロセスはそれらを共有メモリから読み出すため
起動が速く、かつメモリ消費が減る。
(↑概要、ちょっと説明端折ってる。)
645デフォルトの名無しさん:04/02/09 00:31
つか、エディタを一々起動する奴があるか、と。
起動の早い/遅いは SWT/Swingどっちつかっても基本的には変わらんよ。
起動時に発生する大量のクラスのロードと初期化が主な原因だから。
1.5Beta1使ってみたけど、起動時間かなり早くなったよね。
無料で使わせてもらってるのに、文句の多い馬鹿がいるな。
文句の多い奴に大した奴はいないの法則。
>>635
そんな横柄な態度で、 わざわざ Webstart 使って閲覧してくれる人がどれだけいるのか知りたい。

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

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

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

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

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

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



上位10個は





…ぷっ




Swing leak で検索した結果の 113 個のうち、
In progress, bug は 8個
In progress, request for enhancement は 4個

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

確かLookAndFeelは設定ファイルで指定する方法があったんだけど
>>689
文句を言う前に汚いと思うなら自分で変えてるか?
変え方も知らずにほざいてるだけならタダのバカとみなす。
もしかしてみんなboldのままつかってるの?
696691:04/02/24 01:34
俺はmainの最初に

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

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

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

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

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

http://www.lake.its.hiroshima-cu.ac.jp/~mondo/Java/TnE/005.html
>>697

>>700をみればわかるがアンチエイリアスがかかってないのが問題ということではない
>>700
そのページすごく分かりやすいね。

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

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

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

それよりもL&F変えるほうがはるかにいい
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
>>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);
707704:04/02/27 12:05
>>705
JBuilderとか使っても、結局コードですよね。
手でたくさん直すのは大変ですよ。
L&F変えるとした場合は、
現在のMetalを元にフォントを変えたL&Fを作って、それに置き換えるという方法?
「現在のMetalを元にフォントを変えたL&Fを作る」方法が良く分からなくて…。

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

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

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

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

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

とかは試した?
>>710
> > Motof使っているものにはMotifが使いやすい。
> これは無いな。
あるよ
http://fz.bigmountain.cc/article/art_4.php

2chにいるから本人に聞いてみ
http://pc2.2ch.net/test/read.cgi/tech/1020215602/
>>711
ありますが何か?
https://winlaf.dev.java.net/
メタルがなにがだめってボタンだと思う

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

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

3人寄ってもみんな馬鹿だとイミナイ。
ばかはおめーだ
それだとへっこまない

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

ALTでメニューへカーソルが行くとか細かいところもあるしな
732いなむらきよし:04/04/04 23:46
キケー!
>>731
>そしてそんなところ作り込むのもばからしい
ButtonUIに作りこむのはだめかい?UIResource書き換えるのはだめ?

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

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

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


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

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

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

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

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

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

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

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

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

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

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

いや773ではなくてリンク先が神。
775629:04/04/30 00:08
> いや773ではなくてリンク先が神。

リンク先は単にミラーしてるだけだな。Tamemasaさんに感謝しとけ。
776775:04/04/30 00:14
774の629は書き間違い、失礼。
ちなみに、以下のようなミラーサイトもある。
ttp://www.physci.org/codes/tame/
なにが正しいのかわからんな。
とりあえず >>770 はウソだった、と。
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の素晴らしい使い方を示してくれた為政さんに感謝します。
5年も前から公開されてた情報を見つけられなかったアホも居る、と。
ネット上の情報に、いつから公開されているかは問題にはならんな。
大切なのは、いまリンクがどれだけあるか、だ。
>>781
リンクもいっぱいあるぞ。やっぱ見つけられなかった奴はアホだな。
Java使ってるj(ry

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

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

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

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

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

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

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

っていうか俺の言いたいことは、このスレの住人は大人ですねってこった。
そんでもやっぱりEclipseのSWTは軽さが違うよねぇ。
比べてみても時間差はわからないけど、感触がまるで違う。
799795:04/05/07 00:26
>796
すんませんすんません。
ちょっと投げやりになってたもんで失礼しました。

自己解決できてしまいました。

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

実は企業内システムでリッチクライアントの普及がSwingを後押ししているかもしれん
署名人
dd
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
要求仕様は全て堅牢性に包括されるだろ
何故それが名言なんだか理解に苦しむな。
只の寒い不発煽りじゃん。
名言ならもっといいのがあったような
>>806 が書いたのが含まれてるんだろ
810デフォルトの名無しさん:04/06/07 15:08
Metalのテーマって、いろいろあるもんかな?
SwingDemo を見る限り 4 つだったか 5 つは少なくともあるけど。
Mac風、Win風、GTK風、Motif風、Metalの5つ?
>>812
それは LookAndFeel であって
Metal 自体に 4 つだか 5 つだかあるぞ。
>>812
それはLookAndFeel。
質問をよくみて。

クラスとしてはDefaultMetalThemeのほかにOceanThemeが追加されてるね。
orz 参考になります多。
816デフォルトの名無しさん:04/06/08 03:11
なんだ?最近sWINGの話題が豊富じゃないか。
2年前なんて全然閑古鳥状態だったのに・・・
>>816
1.4.2から、やっと使い物になる速さになった。
>>816
sWINGなんて書くからWINGsかと思った
WINGsの情報は皆無に等しいがな
無料でばらまいてから、消えたな>WINGs
820818:04/06/09 04:00
>>819
???
俺が言ったのはWindowMakerが使ってるやつ
wingS?
823デフォルトの名無しさん:04/06/18 14:02
サンデープログラマーですが、何か作ろうと思っています。
Null Layoutはあまり使わないってどこかで見ましたが、実際はどうなんでしょうか?
VBっぽくNull Layoutで作ろうと思ってます。
>>823
好きにしろ。
自分しか使わないようなアプリならどっちで作っても他から文句はでないだろ。
825823:04/06/18 14:17
>>824
まあ、そうなんですが一般的な話を聞いているだけですよ。
>>825
一般論で言えば、VB出身者は null Layout を好む。
エディタ+コマンドラインツール派は Layout Manager を好む。
>>825
一般的には、作るものに応じたものを使う。
828デフォルトの名無しさん:04/06/18 15:58
>>823
一般的にはNullLayoutは使わない。
>>826
null Layoutを好むVB PGもJavaではLayoutManager使うでしょう

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

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

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

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

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

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

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

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

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

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

>>846
UIを作るどころか、切り替えれもしないやつがひとり。
849デフォルトの名無しさん:04/06/19 14:04
SWTは結局流行らなかったな。
まぁAWTで捨てた道だから当然といえば当然だが。
SWTは未だにJava UIの最適解だと思われ
あれはプッシュする組織が少ないのが問題なんでしょう
標準じゃないってだけで流行らないのは人間の佐賀
標準ですでにノウハウや部品のあるSwingから移行ができない、というのが欠点だと思うよ。
>>850
作る側にとって最適解でないというのが改善されれば…
853デフォルトの名無しさん:04/06/21 01:17
>> SWTは結局流行らなかったな。
充分流行っていると思うが。
まぁ、流行っても流行んなくても関係ない
一ついえる事はJavaで「ニセブランド」の怪しさをかもし出さないGUIアプリを作るには
今のことろSWTを使うしか、方法がない事
ネイティブルックアンドフィールでいいじゃん。
ネイティブL&Fにしてから適当にコンテナのツリー辿って、
特定のコンポーネントのボーダーはずしたりして調整すると
見た目はほぼ同じになるよ。
それは微妙に動きが違う、とか言うんだろうけど、VCLでもMFCとは違うし、本物っぽく、つまりMSのアプリケーションの動きに近づけたければMFC使うしかない。
最近のアプリはみんな独自UIだしね。
857デフォルトの名無しさん:04/06/21 16:30
>>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 [起動クラス]
>>857
Swingで作る側がSwingDemo一度も動かしていないとは考えにくいが
あれは動的なLAF変更で遊ぶものだよ
859デフォルトの名無しさん:04/06/22 15:59
普通
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
を呪文の様に入れる。
860デフォルトの名無しさん:04/06/22 19:57
>>859 OSごとにデザイン変わるやん。
>>860
それでいいんじゃないの?
windowsLAFはWindowsしか持ってないからな
固定で書くサンプルもよくみるが>>859がベター
JEditorPaneでsubmitするにはどうしたらええですか?
864デフォルトの名無しさん:04/06/23 03:00
あげ
865デフォルトの名無しさん:04/06/24 13:13
WindowsのL&FもMacみたいにネイティブで実装すればいいのにね。
WindowsがJavaを意識したUIを作ってくれれば可能だね。
ダサい方に合わせてどうすんだ
>>865
だってMacだとJavaはほぼネイティブと同じものなんだもん。

>>867
ハァ?
>>868
それは、mac向けのjvmはappleが作ってるから。

まぁjdk1.5からは、デフォルトがmetalじゃなくなるし、
ボールドなフォントもわりとマシになるから、見た目的には
実用に耐え得るようになると思うがね。
870デフォルトの名無しさん:04/06/25 00:13
スクロールするリストの上部に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

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

テキスト変更

リストの選択項目変更

その結果がさらなるテキスト変更を引き起こす

最初のテキスト変更と競合

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

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

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

よくそう言われるけど、Metalがデフォじゃないってソースは?
どこを探してもテーマが違うだけって話しか見つからないんだが。
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 のリリースノートを参照してください。
つまり、プログラム仕様をみてるか、リリースノートを見てるかの違いだな。
プログラム的には、MetalLookAndFeelなんだが。
879863:04/06/25 05:37
JEditorPaneでsubmitする方法、教えてくれよ。
じゃないと、むしゃくしゃして、大阪のほうの小学生をなでまくるぞ。
submitするってのはどゆこと?
881863:04/06/25 06:17
>>879
簡単にいえば、グーグルで検索するみたいな。
入力フォームでsubmitを。
リンクはhyperlinkUpdateイベントでできるんだけど。
>>881
submit って言葉がようわからんけど、

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

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


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


            /^l
     ,―-y'"'~"゙´  |   もさもさ
     ヽ  ´ ∀ `  ゙':
     ミ  .,/)   、/)
     ゙,   "'   ´''ミ   ハ,_,ハ
  ((  ミ       ;:'  ,:' ´∀`';
      ';      彡  :: っ ,っ
      (/~"゙''´~"U    ι''"゙''u
もっさりさんキタ━━━━━(゚∀゚)━━━━━━!!!
894yukiko♪:04/07/11 05:45
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です。


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

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

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

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

pack使ってない本はすべて捨てていいよ
>>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);
 }
904yukiko♪:04/07/11 21:33
みんな返事ありがとう♪

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

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

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

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

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

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


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

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

クラスパスとファイルのパスの違い分かってるの?
916yukiko♪:04/07/13 01:04
ファイルパスは/ではじまったら絶対パスでカレントディレクトリの所属する
ルートからの位置。
/なしで始まったらカレントディレクトリから読み始める相対パス。

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

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

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

>これはルートから書く。
相対パスでも問題ない。
「間違っている」と「間違っている箇所がある」は違うぞ。
いや同じだ。
922yukiko♪:04/07/14 01:20
まぁまぁ( ^-^)_旦~
おふたりさん、ありがとう♪
おかげで勉強になりましたm(__)m

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

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

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

正しい姿勢だと思うが。
出生率低下の歯止めに貢献しろ。
とりあえず俺と
926yukio♪:04/07/14 07:18
>>925
え、オレでいいの?
927由紀夫:04/07/14 09:09
>>925
お前は俺のモノだ。
やらなイカ。

いいこと考えたぜ。
お前ら俺のケツで小便しろ。
929デフォルトの名無しさん:04/07/15 22:13
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の全体サイズではなく、クライアント領域のサイズを設定しないとダメだと思うのですが、その方法がわかりません。
どうしたらいいんでしょうか?
930929:04/07/15 22:23
別のJavaスレでまさにこの話題やってた。
JPanelでPack()するか、addNotify()オーバーライドのinsets。
後者は知らんかった、調べてみます・・。
>>930
もとは>>903あたりのやりとりなんだけどね。
932今日は蒸しますね:04/07/16 09:40
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); しておいて、
windowClosingで本当に閉じるか確認メッセージを表示後にdisposeしています。
「X」ボタンからはうまくいってます。

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

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

安定度に関してはβなんだし細かいこというな。

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

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

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

950デフォルトの名無しさん:04/09/11 16:58:26
・・・前のファイルシステムの方がわかりやすいな。
951デフォルトの名無しさん:04/09/11 18:02:51
951ゲット!!
952デフォルトの名無しさん:04/09/11 23:56:34
>>949
分かりやすいのか?
953デフォルトの名無しさん:04/09/12 00:08:51
Eclipseからのユーザーを奪おうとして
結局NetBeansユーザーが逃げるよな

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

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

具体的にはイベント周りの強化、TableModelとかListModelなどの
細かいコードを書く支援とか、やるべきことはいくらでもあるだろうに
954デフォルトの名無しさん:04/09/12 00:22:39
イベント周りを使いやすく、コンポーネントの配置位置をわかりやすくしてほしい。
955デフォルトの名無しさん:04/09/12 01:33:23
955
956デフォルトの名無しさん:04/09/12 03:12:58
そこでWebLogic Workshopですよ。
957yoyo:04/09/12 08:01:24
いきなり質問します。
俺の実力ではどうしても解決出来なかったのでここに掲示します。

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

お答えお願いします。
958デフォルトの名無しさん:04/09/12 10:22:31
PopupMenuListener じゃだめなの?
959yoyo:04/09/12 14:11:35
お答えありがとうございます。
Popuopもいいですね〜〜〜。
出来ればJComboboxでやりたいですが…
もうちょっと調べてみますが、これも回避策として入れておきます。
hm... 出来ないのかな…
960デフォルトの名無しさん:04/09/12 14:16:27
961デフォルトの名無しさん:04/09/12 14:25:44
>>959
> 出来ればJComboboxでやりたいですが

だからJComboBoxにPopupMenuListener
962yoyo:04/09/12 14:34:14
すみません。
勘違いしました。
まさしく、私が探していたのはこれ!です。^^;;;
本当にありがとうございました。
助かりました…
963デフォルトの名無しさん:04/09/14 03:12:43
963
964デフォルトの名無しさん:04/09/15 02:39:40
964
965デフォルトの名無しさん:04/09/15 15:17:15
965
966デフォルトの名無しさん:04/09/16 17:51:22
次スレを立てるのなら、Swingにこだわらず、
昔この板にあったスレッドのように、
クライアントサイドJavaスレッドというようなタイトルにして、
SwingもAWTもSWTも、まとめてあつかったほうがいいかもしれない。

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

検索しやすいように【Swing】クライアントサイドJava【SWT】のように、
【】のなかに、Swingなどの文字もつけたうえで。
967デフォルトの名無しさん:04/09/16 18:04:12
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/
968デフォルトの名無しさん:04/09/16 19:13:10
GUIという土俵は同じだが、考え方が全く違って宗教論になって終わる希ガス
969デフォルトの名無しさん:04/09/16 19:13:45
>>966
クライアントサイドっていわれるとねぇ・・・
JavaGUIだね。
970デフォルトの名無しさん:04/09/16 19:37:53
このスレの内容なら初心者Javaスレで十分だと思うのだが。
971デフォルトの名無しさん:04/09/16 19:49:42
クライアントサイドというのならゲームもリッチクライアントもはいるしなぁ
972デフォルトの名無しさん:04/09/16 19:53:12
>>971
むしろ、そこが狙い。
対象範囲を広く取ったクライアント全般のスレッドを今一度。
973デフォルトの名無しさん:04/09/16 20:02:01
新スレッドを、GUI関連をまとめて扱うスレッドにするにしても、
クライアント関連をまとめてあつかうスレッドにするにしても、
SWTは、別にしておいてもいいようにおもう。
974デフォルトの名無しさん:04/09/16 20:16:19
だからさぁ、Swingは標準でついて来るから初心者Javaスレでいいし、
SWTは別個のライブラリだからスレも別個でいいじゃん。
975デフォルトの名無しさん:04/09/16 20:43:42
SwingスレとSWTスレで、妙にレスがおおいなって思ったときは
大抵、Swing vs SWTとか、Javaおせーとか、exeじゃなきゃ駄目だ
とかそんな話ばっかなんだよな。
976デフォルトの名無しさん:04/09/16 20:55:02
そうそう。
そもそもここも「高速GUI SWT」スレをパロって作られただけだし。
無理してSwingを単独スレにする必要もないと思う。
初心者Javaスレでも普通にSwingの質問扱ってるし。
977デフォルトの名無しさん:04/09/16 21:14:41

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

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

スレッドタイトル。
クライアントサイドJava Part4(GUI,Swing等々)
978デフォルトの名無しさん:04/09/16 21:16:27
次スレいらん。
979デフォルトの名無しさん:04/09/16 21:23:04
Swingスレッドにするにしても、クライアントサイドスレッドにするにしても、
このページへのリンクは入れて欲しい。

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

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

       廃墟
       ヽ|・∀・|ノ  <ハイーキョマン
       |=◎=|
         | |
986るぶっっっっっっっっっっっっっっっっっっっっy
Ruby ,,,>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Swihngpier