[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 14:05 / Filesize : 117 KB / Number-of Response : 486
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Java低速GUI Swing 9



1 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 23:13:39 ]
ハードウェアの高スペック化、描画アルゴリズムの変更、JavaVMの高速化に伴い、パフォーマンスの問題は改善されています。
しかしながら、"Java"というだけで未だに敬遠されるのが現状。
そんなSwingと引き続き付き合っていくみんなのスレッドです。

Java低速GUI Swing 8
pc12.2ch.net/test/read.cgi/tech/1227234261/
Java低速GUI Swing 7
pc11.2ch.net/test/read.cgi/tech/1204155623/
Java低速GUI Swing 6
pc11.2ch.net/test/read.cgi/tech/1190807478/
Java低速GUI Swing 5
pc11.2ch.net/test/read.cgi/tech/1161139809/
Java低速GUI Swing 4
pc8.2ch.net/test/read.cgi/tech/1140533866/
Java低速GUI Swing 3
pc8.2ch.net/test/read.cgi/tech/1121700954/
Java低速GUI Swing 2
pc8.2ch.net/test/read.cgi/tech/1095398949/
Java低速GUI Swing
pc5.2ch.net/test/read.cgi/tech/1062271447/l50

271 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:25:24 ]
Swing→RMIの通信をSwing→httpに変更しようと思っています。
RMIはもう使用したくないとのこどで、大幅改修はせずに移行したいとのことです。
まぁ、その辺は言いたいことはあるんですが、この不景気なもので来るもの拒まずです。工数が増える分には。

そこでまずRMIのインターフェースはあまり変えないということで、
メソッド呼び出しのリモートプロシージャの考え方を踏襲することに。

Swingにhttpクライアントを入れて"multipart/form-data"でデータを送信します。
データはRMIで使用した全ての引数でシリアライズした中身をファイルアップロードで送ります。
ポップ引数は2つで、リモートクラス名とメソッド名。シリアライズを解凍して(引数の配列)、
リモート側で(httpサーバ)メソッドインボークする感じです。

レスポンスは"text/plain"で、RMIの戻り値のシリアライズです。

このやり方はいかがなものでしょうか?
改善案や便利な方法があればお願いします。
落とし穴などもあれば。
Swing→httpは外せないってところでお願いしますm(__)m

272 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:32:33 ]
RMI-HTTP Tunneling というものがあってだな。
使ったことないけど。

273 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 16:04:30 ]
>>272
なんすかそれ

274 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 16:30:26 ]
中身はrmiのままなんだから、http通しても大差ないのにね。
まあ金貰えるなら言う通りに実装してやればおk。

275 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 16:42:23 ]
単に HTTP にすりゃ良いってだけなら (ファイアウォールでも通すのか?)
SOAP に置き換えりゃ良いんじゃねぇの。

276 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:43:15 ]
>>271
RMIとHTTPってレイヤが違うような…?


277 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 22:02:48 ]
RMIがいやだからHTTPにしたいって言うのが理解できないんだがまあそんなことはどうでもいい。
Swing関係なくね?

278 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 22:04:22 ]
RMI か HTTP かで心が Swing してんだろ。

279 名前:265 mailto:sage [2010/03/13(土) 01:43:58 ]
>>268-270
気にかけていただいてありがとうございます

例外の内容で調べて同じのは出てこなかったけど
「Defaultmodel.なdialogが云々でバグです!」
といったような内容のがBugDataBaseでボロボロ出てくるので
指定しなくてもモーダルだと主張しているFileDialogの
フォーカスの処理とブラウザから呼び出した際の相性に問題があるんだと思います。
(自分でmodalを指定するDialogだと同じ操作をしてもこの問題は起きません)

お客さんには事例を寄せ集めて
「我々のせいじゃないし、どうにもできないので勘弁していただきたい!」
と主張してみることにします。
ありがとうございました。



280 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:32:08 ]
他所に仕事取られる訳だな。物はいい用と思うけどね。せっかくのビジネスチャンスを(ry

281 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 10:33:40 ]
>>279は月曜日にクソッタレのフニャチンどもにこう言われるはずさ

そんな欠陥のある言語を選択したのはお前の会社のミスだろ?
それにJavaはオープンソースなんだろ?
中追ってお前のところで直せよ

そしたら>>279はExceptionを握りつぶしてこう言ってやるのさ
問題ありませんってね
HAHAHA

282 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 10:39:45 ]
おまえは書き込む前に一息置いて読み直す癖を付けろ。

283 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 01:08:29 ]
バグ混入させるぐらいなら、プログラマ辞めればいいのに。
明らかに向いてないというか、能力足りてないだろう。

284 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 01:40:43 ]
翻訳:極論振りかざすオレカコイイ!

285 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 03:22:24 ]
バグが混入しないと思ってる時点であほだな

286 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 04:20:28 ]
優秀なプログラマほどバグが少ない現実。
馬鹿にはプログラミングは向いてないよ。

287 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 05:29:51 ]
そう自分を責めるな

288 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 07:44:34 ]
たとえ4秒に1回落ちてもフロントエンドに影響が無いように作れってぐぐるの中の人が言ってた!!(違

289 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 11:22:12 ]
>>286
いくら優秀でもバグがゼロにはならない。
>>283に従うと、バグを混入させるプログラマは辞めなければならない。
したがって、最終的には全てのプログラマは辞めなければならない。



290 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 11:49:36 ]
>>283はエンドユーザーだろ

291 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:37:43 ]
ユーザとして使ってるとバグが出るのってホント頭に来るのは事実。
作った香具師出てこいよ。

292 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:05:30 ]
>>291
マ板へどうぞ。

293 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 20:53:14 ]
やだよ。
あいつら池袋のヤベェ工房から買ったヤニでトんでんだもん。

どうでもいいけど、池袋に溜まってる工房ってだいたい病気持ってるよなw
まじ怖いわw
街中で堂々とコンジローマ自慢してんじゃねえよwくせえw

294 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:17:56 ]
いやだから池袋のヤベェ工房から買ったヤニでトんでる香具師が作ってんだって。

295 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:28:45 ]
でも池袋のガキどもは、本当にヤバい事する時は隠れてやるんじゃね?
そういう現場を生で見たことないし。
だからまだいい方。

三軒茶屋あたりでうろついてるのは、本当にどうにかしてほしい。
あそこは深夜になるとリアル北斗。

296 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:34:13 ]
>>295
マ板でどうぞ。

297 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 11:10:39 ]
>>294
いまどき香具師って……

298 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 12:11:20 ]
>>297
たまに使っている人いるよな
死語だけど

299 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 12:15:45 ]
>>298
元ネタがネットじゃなくて小説だからかな



300 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 20:38:53 ]
池袋といったらダラーズだよな

301 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 20:45:23 ]
デュラララカ

302 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 04:54:29 ]
あらららぎさん

303 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 09:47:31 ]
Swingで、ドラッグ中のキー入力を取得するにはどうしたらいいでしょうか。
JDesktopPaneを使っていて、JInternalFrame間のDnD中に、アクティブなフレームを
切り替えたいと思っています。
Windowsプラットフォームだと、CTRL-F6で内部フレームが切り替わりますが、
ドラッグ中だと切り替わりません。

304 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 10:40:52 ]
>>303
まずそのUI設計をやめたら?

305 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 14:31:09 ]
DnD中にアクティブなウィンドウを切り替える意味は何?


306 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 14:36:29 ]
下にあるフレームを上に持って来たいんだろ。

307 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:15:39 ]
マウスリリースされたときにlafが勝手にやってくれる動作じゃダメなのか

308 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 19:00:18 ]
>>303
ExplorerやNautilusのように、ウインドウ内のドロップ対象で動作が変わるのですが、
そのような作りは一般的ではないのでしょうか。
ドロップ元とドロップ先が完全に見える状態にウインドウを並べてドラッグ&ドロップするのでしょうか。
それとも、CLIしか使わないのでわからない、ということでしょうか。

>>305
Windows Explorerでファイルドラッグ開始
→ALT+TABでドラッグ対象ウインドウの非表示部を表に出す
→隠れていた部分のアイコンにドロップ
みたいなことです。

>>307
ドロップされる位置によって動作が変わります。


309 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 21:13:11 ]
つ nlink



310 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:59:06 ]
Macでもドラッグ中にExposeとかSpacesを使えるけど
あれと似たような感じなのかな。


311 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 00:14:11 ]
マカって情報弱者だな。

312 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 00:17:43 ]
おまえってボットなの?

313 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 00:40:02 ]
九分九厘そうだろう。


314 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 00:44:35 ]
Mac 使ってるけど
これで来るわけ?


315 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 01:14:11 ]
マカって情報弱者だな。

316 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 01:24:17 ]
goto 311;


317 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 01:27:56 ]
きっちり一時間で巡回してんのかw

318 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 02:14:30 ]
呪文を唱えるとボットが召喚できると聞いてry

マックって旨いよな!

319 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 03:14:11 ]
マカって情報弱者だな。



320 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 09:05:11 ]
>>319
分秒合わせてくるとか、何コレコワイwwwww

321 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 11:45:52 ]
こいつ自作板にも出るし何年も前からpc11鯖に寄生してるボットだろ

322 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 14:50:56 ]
eclipseのプラグインで使いやすいお勧めのSwingサポートプラグインはVisual Swing for Eclipseになるでしょうか?

323 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 11:27:37 ]
Swing Application Frameworkってどう思います?

324 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 11:34:09 ]
ok

325 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 11:44:49 ]
>>323
フレームワークというかライブラリ?

326 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 11:51:42 ]
>>322
Visual Swing for Eclipse かな

327 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 13:25:28 ]
いや Visual Swing for Eclipse でしょ。

328 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 14:03:10 ]
JDK1.5で画面をデフォルトプリンタで印刷したいんですけど、print()の引数のGraphicsってどうやって取得すればいいのでしょうか?
というか、swingの印刷のサイトがなさ過ぎ…
あまりやんないんですかね

329 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 14:45:01 ]
>>323
netbeans platformでおk
まあこっちはミドルウェアに近いが。
たとえばなんだろうか、専ブラの類の規模を作ろうとするとApp Frameworkでは物足りない。

もとからSwing初学者がjavaの流儀でGUI作るのを容易にする目的のものだからね。
それがJava 5のEoDの一環でJDKに含まれるようになるだけだから。

#俺はTiming Framework入れて欲しい。Swing Labsの成果はもっと取り込んでいいと思う。



330 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:46:04 ]
swingにフレームワークはいらんだろう

331 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:49:37 ]
Swing 自体がフレームワークじゃねぇの。
あと自分とこの要件向けにドメインフレームワーク作るだけだろ。

332 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 18:52:46 ]
>>331
ドメインフレームワーク?

333 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 21:52:33 ]
SwingはToolKit

334 名前:デフォルトの名無しさん [2010/03/26(金) 00:41:08 ]
ホント、マジで教えて欲しいんだが、
おまいらSwingで何つくってんだ?

ゲームのマップエディタつくったんだが、遅くて、見た目もイビツで
恥ずかしくて公開できやしない。

335 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 01:00:44 ]
>>334
それ Swing のせいなの?

336 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 02:24:50 ]
センスが無いと何やっても駄目な典型。

337 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 04:36:59 ]
速い言語で作ったら今度は Segmentation Violation が出まくりの糞言語とか言ってそう。

338 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 10:27:46 ]
テキストボックス入力中に、ボックス直下に入力でマッチした候補をインクリメンタルで表示する部品はあるでしょうか?
googleの入力補てんみたいなものです。
自作の必要あり?

339 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 10:45:21 ]
>>338
標準にはない。

原理的にはコンボボックスのエディターが持っているテキストが変更
されるたびに、その時点のテキストに応じてモデルが返す候補一覧を
変化させればよい。

例(ソース付き): terai.xrea.jp/Swing/ComboBoxSuggestion.html




340 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 13:24:56 ]
>>334
Swing以外で、サクサクで見た目も良いツールつくれるなら、そっち使えば良い。
無能ほど他人のせいにしたがる。
しかも無能は自分の無能さに気づく能力も無い。

341 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 22:37:45 ]
>>334
オープンソースにして公開すれば、
誰かが高速描画仕様に修正してくれるんじゃないかな。
ここには有能な人も多いみたいだし。
俺は嫌だけどね。

342 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 04:10:43 ]
価値有るものじゃないと弄る気にも成らないけどな。
金払ってプログラマに拘束化してもらうのが確実。

343 名前:デフォルトの名無しさん [2010/03/27(土) 07:36:53 ]
他人を無能呼ばわりする奴が、
どの程度描画を高速化できるのか興味あるね。
さぞかし有能なコードを書いてくれるんだろうよ。
まずはソースをうぷだ。

344 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:19:03 ]
俺は、この前このスレじゃないがソースうpしたけど、
ソースについて何の評価も貰えなかった・・・

そんな俺は腐ったミカンですか?

345 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:21:54 ]
2ch ではマジレス・ソースうpするとまともにコメントつかないのが常識

346 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:27:07 ]
ヒットアンドアウェーの チンカス ばっかだしな。

347 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 10:29:57 ]
ソースをうぷったのにコメントを戴くことができなかった7つの理由

1.閲覧者のレベルが低かった
2.閲覧者の得意分野が違っていた(学校、仕事、趣味、ゲームetc.)
3.問題のある部分は見当たらなかった
4.ソースが巨大すぎて読む気が失せる
5.あまりにも低レベルすぎて指摘のしようがない
6.誰も見てくれなかった
7.その他

>>344
もう1度ここでうぷってみたら?有能者が応えてくれるんじゃないの

348 名前:デフォルトの名無しさん [2010/03/27(土) 10:59:18 ]
有能な人のソースを見てみたい
凄く速いのかな

349 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:03:42 ]
宿題スレでお礼がくると
あぁネタだったんだなぁ
と思ってしまう



350 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:16:44 ]
>>347
1、3、4、6はありえないと思う。
5は、そこまでひどくないとは信じたい

JAVAの勉強で作ったゲームなんだけど・・・
何度も晒すのは、ちょっと気が引ける・・・
ゲームは、まぁまぁおもしろいとは言ってくれたけど

351 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:25:43 ]
まずはソースをうぷだ
話はそれからだ

352 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:25:53 ]
あえて本気を出さないソースがうけるのか

353 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:46:16 ]
これがうpしたゲームだけど・・・
toku.xdisc.net/cgi/up/qqq/nm22064.zip

かなり不器用な処理してると思うけど、
まだまだ勉強中なので
いろいろ教えてもらえると嬉しい

354 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 12:20:48 ]
スネークゲームか。

implements Config はやめて static import
NyoroArrayは事実上双方向リストなので、LinkedListあたりを利用
できないか考える。

Foodのもつ画像は、 static イニシャライザを使って、クラス全体で
10個持てばよいと思う。

今はノーマルエサがダイエットエサの出現状態まで管理までしている
ようだけど、ノーマルエサとダイエットエサは同時に各1つしか出な
いみたいなので、ゲーム世界側でそれぞれ1つずつ持つのがよいのでは
ないだろうか。

では、ごはんー。


355 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 13:22:40 ]
ActionKey.java
値が0と1しかないのなら、intじゃなくてbooleanを使ったほうがよいのでは。

初期化
private boolean status = false;
メソッド
public void press() { status=true; }
public void release() { status=false; }
public boolean isPressed() { return status; }


356 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:18:47 ]
ゲームの出来ない(コンピュータにも余裕で負けるよ)、俺にはさっぱりルールが分からなかったorz
可愛い女の子の絵だけで、お腹が一杯です

357 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:20:09 ]
ゲーム本体の良し悪しはともかくとして、
問題にしてるのはマップエディタの方では?

358 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:44:25 ]
uploaderはこちら
toku.xdisc.net/


359 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:49:47 ]
>>353
向こうのスレで「面白い」とだけコメントしてたものです…

ぱっと見て気になったのは>>354で書かれてる最初のものですね。
あと全般的に、定数は自分だったらEnum使うかな。
Enum使うと振る舞いを持たせられるので夢がひろがりんぐ。

Nyoro2のメインメソッドの中身はSwingUtilities.invokeLater使ってEDTで呼ぶべきでしょうね。
java.sun.com/docs/books/tutorial/uiswing/concurrency/initial.html

それとJava関係ないですけど、NetBeansのnbproject/privateディレクトリ以下は
配布しない方が良いかもです。
netbeans.org/kb/docs/java/import-eclipse_ja.html の"NetBeans プロジェクトファイル"



360 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:53:18 ]
>>357
ゲームの人とマップエディタの人は別人じゃないの?


361 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 15:00:44 ]
ゲームクリアしたら女の子とのセクロスシーンが出てくる、
なんてことになったらウレシくてティンコ旅立ち

362 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 15:03:27 ]
マッポエディッタがうぷられて、マッポvs有能人の壮絶なバトル、ってなことになったら面白いのになあ

363 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 16:18:30 ]
マップのセルが全部JButtonとか、グリッドがJTableとか、
そんなとこをエスパー予想。

…いや、Wizardryレベルのマップならそれで十分なんだけどさ

364 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 16:56:23 ]
>>353
ゲームは全然知らないけど、それでも問題が多いのは分かる。
たぶん354, 355のような指摘は100個くらいは挙げらるし、クラス設計にも問題がある。
(が、設計の能力はすぐには身につかない)
普通の職業プログラマに対してなら、『プログラミング作法』、『Effective Java 第2版』、
『Java言語で学ぶデザインパターン入門』あたりの書籍を勧めるところだけど、ゲームは
文化の違い等があるから、たぶんこれらの本を読むのは遠回りになるだろうな。

>>355
おまえもいろいろと酷そうだなw
boolean型でstatusなんて名前はない(名前は重要だぞ)

private boolean pressed = false;
public boolean isPressed() { return pressed; }

普通はこう。(ただしクラス設計としては問題がある)

365 名前:デフォルトの名無しさん [2010/03/27(土) 21:11:34 ]
誰か、statusという名前が駄目でpressedならオケという理由を教えてくれまいか
ていうか、変数名に動詞を使うのにはめちゃくちゃ違和感がある
俺の場合、動詞から始まる名前はメソッドにしか使わないからなぁ

366 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:20:09 ]
>>365
status = true とか return status とか見てもなにしてんのかわかりにくいだろ。
あと、 pressed は動詞じゃないから。

367 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:28:38 ]
statusでは「何の」状態なのか分からない
pressedなら押したかどうかなんだなと分かる
まあキーなら押したかどうかしか状態がないだろという話もあるが
メソッドと命名の方向性は合わせた方がいいと思う

368 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:48:11 ]
そういうことか…レスサンクスコ。

369 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:54:16 ]
とりあえずJavaコーディング規約おいときますね。
www.objectclub.jp/community/codingstandard/CodingStd.pdf

これ以上の命名法の話題は命名系のスレでやった方がいいんじゃないかな。



370 名前:334 [2010/03/27(土) 21:56:30 ]
別にこまってないし、ソースupする気なんてないよ
遅い理由はJTableのレンダラにJLabelを使っているからなんだけど手を抜こうとしたらこれが都合よかったのでそうしてるだけだし。

にしても、あとはSwingのせい。
DataGridView@C#でやったらどんだけ高速だったことか。

見た目がいびつなのは、レイアウトマネージャーの動作がキチガイだから。
SWTのGridLayoutが神レイアウトだと思うんだけど、これのSwing版発見したのでつかってみて

ttp://code.google.com/p/uface/issues/detail?id=8

掲示板添付のzipが使えた。
正式にはどこで公開されているのか知らん。英語わからんし。


371 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 22:01:10 ]
俺はSwingを使うときは無条件でSwingUtilities.invokeLater()を使ってたけど、
よくよく考えると結構重要なのかも
wisdom.sakura.ne.jp/system/java/swing/swing4.html

353のソースは、まあ、よくできてるんじゃね?
俺も初心者レベルなんで詳しいことはよくわからんがw
あとは…

ifが連なってるところはswichi にしたほうがいいとか(一般的には条件分岐よりも
ジャンプのほうが速いはず…だけどこれはコンパイラ依存か)、
女の子の画像は裸のほうがいいとか、そのくらいしかわからん。

個人的に、画像の直貼り付けは遅そうな感じがするけどどうなんだろうね。
(もちろん、速度を気にしないなら直貼り付けで全く問題ないけど)
画像データを配列に読み込んで、その配列を処理したほうが速い気がするんだけど、
それをやるとかなりソースが複雑になりそうだなあ。

372 名前:334 [2010/03/27(土) 22:06:05 ]
連続書き込みすまん

swtgridlayoutで見た目は完全に改善された。かなりオススメ

で、とりあえず俺はJavaもSwingも上級レベルで使えると自負してるけど

これで(公開できるほど)まともなアプリをつくるのは
不可能または、並々ならぬ努力が必要と思うので
本気でみんなが何をつくっているのか気になる。
何かまともなもん作ったって事例があったら教えてくれ。

373 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 22:08:09 ]
>>371
あまり関係ないけど、コンパイラ依存じゃなくてVM依存だと思うw

374 名前:353 mailto:sage [2010/03/27(土) 22:55:33 ]
おぉ!沢山のレスありがとうございました!
こんなに沢山アドバイス貰えるとは思ってなかったよ
知らない単語も出てきてるし、参考URLまで貼ってくれてるしで、
いろいろ調べて勉強してみます。
ありがとうございました

ちなみに、トップの絵書いてくれた友達にも、
JAVA質問スレと、このスレで絵についてのレスされてる事を教えた所すごく喜んでましたw

375 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:03:48 ]
>>364
で、あんたは>>347のうちどれなの?

376 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:05:46 ]
バカでも出来るコードレビューには食いつきが良いのなw

377 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:05:59 ]
>>370
> 別にこまってないし
じゃあなんで>>198から1ヶ月もこのスレで頑張ってるの?

378 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:07:45 ]
>>376
で、あんたは>>347のうちどれなの?

379 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:10:32 ]
>>378
誰と勘違いしてるの?バカなの?



380 名前:デフォルトの名無しさん [2010/03/28(日) 00:21:39 ]
また猛牛が暴れだしたようだな

381 名前:353の友達 mailto:sage [2010/03/28(日) 00:21:55 ]
>>361さんのために300点クリア絵を描きました><*
皆さんのレス嬉しかったです><*
ありがとうございました><*

ttp://a-draw.com/contents/uploader2/src/up19034.gif

382 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:24:27 ]
うpするにしてもレベル低いソースの方が食い付きがいいよね

383 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:29:38 ]
>>381
なんだコイツ
受け狙いのつもりなのだろうか

384 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 00:31:30 ]
くだらねぇ話でスレ延びてんな。Swing 関係ねぇじゃん。
もう Java 総合スレで統一したらどうだ。


385 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 02:36:03 ]
嫌あっちで反応悪くて、こっちでうpしたら、みんな気合い入れてコメント下から、当人らが興奮したってだけだろ。
どうせswingスレは普段過疎ってるから有効利用なんじゃねw

386 名前:334 [2010/03/28(日) 04:26:13 ]
>>377
おおおぉ、凄いチェック力。>>198書いたのすっかり忘れてた
このスレで頑張ってるというか、グチ&みんなが何つくってるのか興味で書き込みしてるだけなんだけど

.NETが性能も開発効率も見た目も圧倒的に良いのに、
いまだSwingにこだわる君たちの思考に興味がある


387 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 04:33:39 ]
>>386
.NET って UNIX 系 OS や Mac とかでも動いたっけ?

388 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 10:43:44 ]
春だなあ
java.netでもsf.netでもいいからSwingアプリ探してみなはれ。

389 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 15:31:24 ]
monoの再現度がまだまだ。
というかwinでMS製言語使うにしてもVC++だと思う。



390 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 00:42:14 ]
Swing と比べるなら .NET ではなくて
Windows Forms や WPF じゃなかろうか。

391 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:15:04 ]
JDK1.5なのでSwingWorkerが使えません。
この場合

1秒間隔でTimer起動→スレッド起動→バックエンド処理→待ち受け画面表示→イベント処理終了でswingスレッドを戻す
 →バックエンド処理終了→Timerのstaticに終了フラグセット(継承して持たせた)
  →Timer起動で呼ばれる→フラグ立ってるので待ち受け画面非表示

こんなことしないといけないんすかね…
あ〜1.6で書きたい。ただ1.5以上サポートなんで1.6依存でかけない…

392 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:42:41 ]
ライセンスとかに問題がなければ
SwingWorkerをパッケージに含めてしまうというのも可能かも。
あるいは似たようなクラスを自分で書くとか。


393 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:33:05 ]
>>370
1000x1000程度のJTableなら、全セルにイメージ貼り付けても、
スカスカ動くがな。
大方、全セルにJLabelをnewしてつっこんだとかだろ。


394 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 01:36:30 ]
>>391
https://swingworker.dev.java.net/
This project is a backport of SwingWorker included into 1.6.

395 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 10:10:40 ]
>>394
1.5で使えるとかって書いてないんですけど使えるものなんですかね?

396 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 10:20:14 ]
たいていの質問回答スレには、最初の一行しか読まずに回答始めるあわてんぼさんが常駐してる。

397 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 11:09:30 ]
This project is a backport of SwingWorker included into 1.6.
を訳してみろ…

398 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 11:17:06 ]
あ… もし backport の意味がわからなかったら用語辞典とかで調べるといいよ
e-words.jp/w/E38390E38383E382AFE3839DE383BCE38388.html

399 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 11:35:50 ]
意味が分かりました。すみません。躍起になって1.5ばかり探してました・・・



400 名前:334 [2010/03/30(火) 19:48:53 ]
>>393
newなんてするかい・・そこだけはりつけちゃる
public Component getTableCellRendererComponent(JTable table, Object data,
boolean isSelected, boolean hasFocus, int row, int column) {
MapTable mapTable = (MapTable) table;
if (!(mapTable.enableStartColumn <= column && column < mapTable.enableStartColumn
+ mapTable.enableLength)) {
this.setIcon(null);
} else {
if (data != null) {
int item = (Integer) data;
if (item != -1) {
PalletTableItem pi = palletTable.getValueAt(item);
if (pi != null) {
this.setIcon(pi.icon);
} else {
this.setIcon(null);
}
} else {
this.setIcon(null);
}
} else {
this.setIcon(null);
}
}
if (isSelected) {
this.setBorder(lineBorder);
} else {
this.setBorder(emptyBorder);
}
return this;
}

401 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 00:40:49 ]
きったねー

402 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 01:14:53 ]
>>400
動作には関係ないが、ソースは少し見やすくなったかもしれない。

public Component getTableCellRendererComponent(JTable table, Object data,
boolean isSelected, boolean hasFocus, int row, int column) {
MapTable mapTable = (MapTable) table;
Icon icon = null;
Integer item = (Integer) data;
if (mapTable.enableStartColumn <= column
&& column < mapTable.enableStartColumn + mapTable.enableLength
&& item != null && item != -1) {
PalletTableItem pi = palletTable.getValueAt(item);
if (pi != null) {
icon = pi.icon;
}
}
this.setIcon(icon);
this.setBorder(isSelected ? lineBorder : emptyBorder);
return this;
}

403 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 04:22:34 ]
>>393 は逃げたか…

404 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 05:24:22 ]
単に図星だったから、慌ててソース書いただけだろw

405 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 06:55:43 ]
そう思いたいんですね

406 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 08:45:49 ]
最初から示さなかった時点で負けとしか。
後だし乙。

407 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 15:31:23 ]
JTreeの要素の並び順ってJtreeの機能で設定することができるでしょうか?
それとも登録の前にソートして、ソートされた順番で登録しないといけないでしょうか?

408 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 16:07:36 ]
>>407
TreeNodeに対して children() を呼んだときにソート済みで返ってくればよいと思う。
UIよりはモデル側の問題。


409 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:20:00 ]
>>406
誰と戦ってんのおまえw



410 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 02:39:22 ]
>>409
お前だろ、粘着乙www

411 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:17:26 ]
javafx を始めたいんだけど、入門書ってありますか?

412 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 04:06:16 ]
javafxは辞めておいたほうが。

413 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 04:32:26 ]
入門レベルは英語ばっかだね。

414 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 03:31:16 ]
LaboBrowser っての使ってみたけど全然ダメだの。
マトモに表示できるのは Google トップくらいだ。

415 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 03:56:42 ]
Lobo? あれは JEditorPane よりもマシという程度

416 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 04:05:08 ]
一般的なブラウザ >> [実用性の壁] >>> Lobo >> Swing >>>> HotJava

417 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 07:42:00 ]
JWebPaneまだ〜?

418 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 22:47:25 ]
Flying Saucerの出番か!?

419 名前:334 [2010/04/11(日) 12:07:15 ]
おひさしぶり!

んでもって君らが何つくってんのか教えてくれんの?



420 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 22:24:28 ]
JaneStyleとかすごい恥ずかしいUIだけど公開されてんぞ?

421 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 20:46:27 ]
a

422 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 13:09:55 ]
window自体に最優先のキーイベントを登録したいのですが、
要は、どのパネル、どのコンポーネントを開いていても呼ばれるイベントです。
WindowにWHEN_IN_FOCUSED_WINDOWのイベントをgetActionMap().put(action, action)するみたいな感じです。

423 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 13:10:50 ]
ほほう。それでそれで?

424 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 10:17:51 ]
>>422
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventPostProcessor(new KeyEventPostProcessor() {
    public boolean postProcessKeyEvent(KeyEvent e) {
        if (e.getID() == KeyEvent.KEY_PRESSED)
            System.out.println(e);
        return false;
    }
});

このサンプルコードのようにすると出来るようです。
あとはKEY_PRESSEDの所と、System.out.println(e)の所を適切に変えればOKです。
1日掛けて調べました。。。

もし宜しければ、私のブログの応援クリックをしてもらえませんか?
study-blog.jugem.jp

425 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 10:21:33 ]
間違えました。

KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
    public boolean dispatchKeyEvent(KeyEvent e) {
        if (e.getID() == KeyEvent.KEY_PRESSED)
            System.out.println(e);
        return false;
    }
});

426 名前:デフォルトの名無しさん mailto:age [2010/05/01(土) 20:59:02 ]
JTableに行ヘッダを追加しようとJScrollPane#setRowHeaderView()でJListのインスタンスを渡しました。
行ヘッダは追加されたのですが、
行ヘッダのJListでカーソル移動やマウスドラッグをするとJTable側がついてこず
JListだけがスクロールします。

JTable側も連動させるにはどうすればよいのでしょう??

427 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 21:41:40 ]
>>426
scrollPane.getRowHeader().addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent e) {
        scrollPane.getViewport().setViewPosition(scrollPane.getRowHeader().getViewPosition());
    }
});

これで、カーソル移動とマウスドラッグはOKでした。たぶん他も大丈夫かと思います。
もしよろしければ>>424のクリックをお願いします。

428 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 09:12:47 ]
>>424
削除ガイドライン違反

8. URL表記・リンク
宣伝・罠・実行リンク
・明らかに宣伝を目的としたリンク・クリックや訪問で課金が発生するもの等は、宣伝掲示板以外では削除します。


429 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 13:13:52 ]
こんなところで宣伝したら馬鹿に突撃されるぞ。



430 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 14:48:00 ]
専門板なら平気だよ。

431 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 23:02:19 ]
>>428
悪気はないんですけどね。
まぁ無職で時間にゆとりがあるので、色々やっとるという訳です。
とりあえずクリックした人はいないようですw

どうにかやっていく方法はないものでしょうか。

1.質問が出る。
2.アフィリエイトをクリックしてもらう。(1クリック数円)
3.解答をする。

という形式にしたいなぁと思っております。

>>429,430
基本的にプログラム板は過疎っていますからね(^^;

432 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 23:03:37 ]
↑スレ違い。適切なスレでやってください

433 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 23:33:06 ]
>>432
そこを何とかお願いします。

434 名前:228 mailto:sage [2010/05/04(火) 07:47:44 ]
じゃあ俺は>>424のブログ?のコメントをエロサイトの宣伝に使わせてもらうよ。
だめ?そこを何とかお願いします。

435 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 09:07:07 ]
>>434
あ、おはようございます。Give&Takeの精神でお願いします。

436 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:46:21 ]
宣伝嵐報告してきておk?

437 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:53:21 ]
>>436
>>422,426にも意見を聞きたいところですけど。

438 名前:426 mailto:age [2010/05/05(水) 12:40:32 ]
>>427
できました!つたない質問で的確な回答を頂けてとても感謝しています。
クリックしておきましたよ(^^

439 名前:427 mailto:sage [2010/05/05(水) 20:19:49 ]
>>438
こちらこそ、ありがとう。
迷惑でなければ今後も質問があれば調べて回答したいと思います。



440 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:39:00 ]
1つのJPanelのインスタンスを、複数のJFrame上に同時に描画するにはどうすればよいですか?

441 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 23:05:40 ]
シリアライズしてネット越しに垂れ流してデシリアライズとか

442 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 23:57:41 ]
>>441
それじゃ「1つのインスタンス」にはならないじゃん。
>>440
共有すべきはmodelであってviewじゃない。

443 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 00:04:46 ]
          ____
       / \  /\ キリッ
.     / (ー)  (ー)\    共有すべきはmodelであってviewじゃない
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

444 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 00:33:59 ]
巣に帰れw
pc12.2ch.net/test/read.cgi/tech/1178723829/

445 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 22:36:26 ]
>>443-444
ワロタ。

446 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 17:37:21 ]
>>440
描画する数だけインスタンスが必要。


447 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:08:32 ]
なんでviewじゃ駄目なんですか?

448 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:29:42 ]
>>447
GUIコンポーネントは親を1つしか持てないから、複数のコンポーネントで1つの子を共有することができない。
参考: java.awt.Component とか java.awt.Container のソース。


449 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:31:59 ]
てっきりイベントがらみで駄目なのかと思った



450 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 10:36:09 ]
>>449
それもあるから親を1つしか持てないようになってるんだろう

451 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 10:07:14 ]
ルックアンドフィールは、複数同時には使えない?

JFrame 2つつくって、片方は、javax.swing.plaf.metal.MetalLookAndFeel
もう片方は、UIManager.getSystemLookAndFeelClassName() でとってきたやつを
適用する、みたいなことはできないようになってるってことでいい?

452 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 10:14:23 ]
JFrame を表示する前に都度 UIManager#setLookAndFeel()、
SwingUtilities#updateComponentTreeUI() で指定してやれば
見た目は別々になるんじゃないの。全くお勧めは出来ないが。

453 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 10:28:24 ]
MetalLookAndFeelで1.1や1.2のころの昔の紫色のUIに変更するにはどうするんですか?

454 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 10:32:22 ]
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
の事か?

455 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 18:33:26 ]
>>440
www.javakb.com/Uwe/Forum.aspx/java-setup/11894/Copying-the-View-of-a-JPanel

このページの2番目のサンプルコードがとても参考になると思います。

>>451
VMを2つ起動という手も・・・ないか。

456 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 20:26:49 ]
>>451
できるけど挙動が狂うって話があった気がする。


457 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 20:33:23 ]
>>452 >>456
基本できないよな 少なくともAPI作り手はそんなこと想定しなていようだな
サンキュー

458 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 23:53:25 ]
>>453

LookAndFeel laf = new javax.swing.plaf.metal.MetalLookAndFeel();
MetalTheme theme = new javax.swing.plaf.metal.DefaultMetalTheme();
MetalLookAndFeel.setCurrentTheme(theme);
UIManager.setLookAndFeel(laf);

多分これのことかな?


459 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 00:19:25 ]
>>443
あたりに関連して、
frame1 : JFrame --- button1 : JButton
frame2 : JFrame --- button2 : JButton
みたいに、なってて、button1とbutton2が同じモデル buttonModel0をsetModelされてるとき、
frame1をクローズして、frame1がGCで回収された後でも、button1は、buttonModel0からリスナ経由で
参照されてるから残る。
もちろん、button1を再利用したいときもあるけど、そのままメモリリークになりやすい。
どこかのタイミングでプログラマの責任で、button1.setModel(null)して、モデルへの参照を切るべきなんだろうけど、
なんか、定石みたいな書き方ありますかね?




460 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 00:27:38 ]
>>459
frame1 のクローズイベントで切り離す。

461 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 22:28:00 ]
JTable でセルをdbl clickだんどするとそのセルをエディットできますよね。
これを無効にしたいんですがどのAPIでしょうか。
それにしてもJTableは複雑ですよね・・・

462 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 22:53:53 ]
日本語でおk

463 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 23:12:24 ]
JTableは本当に複雑ですけど1つのコンポネントにあれこれ機能を詰め込みすぎって感じがします。
dbl clickやF2でセルを編集できるようになりますがこれをoffにするにはどうするんですか?

464 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 23:49:21 ]
JTable.setDefaultEditor()にnullを渡しておくのはどうだろう。
本来は自作TableModelを作るべきだと思うが。

465 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 00:33:23 ]
>>464
javadocみるとそれしかないかなって思ってましたけど、一番単純な方法はやはりそれでしょうね。
javaはclassの継承を中心とした言語設計なのに、swingはDIというかMVCというかプラグインというか、java langにとってswinの設計思想はまったく異質なので非常に複雑なライブラリとなっています。

愚痴を言うわけではないですが複雑な割にこの程度の機能(それもtableとして当たり前のような機能)しかないswing.tableなら、
少なくともhtml,dom,xmlやgridbag + cellの自作コンポでほとんど用が足りると思います。
javascript.prototypeのような考えならまた違ったのかもしれませんが、それをいうとあとの祭りなのでしょうね。
それと日本語のswingを扱ったHPは皆無ですね。グーグルでもこのスレがよくヒットします。

466 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 00:41:38 ]
ああ、誤解を招きかねないですが、spiなら問題ないですがswingのようなui,skinableではspiや
plubableじゃなくてcssや、顧客一人一人に合わせたskin(script)のようにもっと軽く設定できない
(つまりskin,look,feelingについては固定の設定は存在しないという設計思想)と、UI開発者は敬遠するかなって思います。
webクリエーチャ達の髪の毛の軽さと同じく、JEditorPaneのhtmlエディタもしかりです。

467 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 05:26:11 ]
>>465-466
SwingはJavaプログラマのためのライブラリです。
htmlやcssの方が得意な人のためのライブラリではありません。
SwingにhtmlやcssでUIを設定できないと文句を言うのはお門違いだと思います。

468 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 13:05:58 ]
正確に言うとjavaじゃ無くてjvmプラットのUI

469 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 15:55:54 ]
xmlならsynthがある。
JEditorPaneは最初はやる気満々だったけど扱おうとするドキュメントが方言だらけで投げた。
というかここら辺のフォローはSwing labの管轄なんだが。

まあ俺々思想が強すぎて>>465の意図がよく分からんが。



470 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 16:02:48 ]
synthはswing uiに新しい機能を定義したり追加したりするものじゃないですよね・・・

471 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 16:19:01 ]
swin sets 3も見てみましたけど、ただ高機能にしただけってところじゃないですかね。
それら機能の追加などカスタムなことをユーザ(開発者)が簡単にできるようにしないと汎用コンポでもないし汎用ライブラリ(javax swing)としても意味ないです。

少なくともjava,c++(qt3,qt4),dotnet,gameライブラリを当たり前のように使える開発者は時間があればそれぐらいのコンポネントは普通に作れますよ。
swing labのコンポネントはnetbeans apiに組み込んじゃったほうがいいんじゃないかと思います。
今はjavafxでしょうし、lgplのようですし、せっかく有用なコンポなのでswtと同じ感じでnetbeansを特に使う人達への特権ってことで。

472 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 16:42:55 ]
ブログでやれ

473 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 11:39:06 ]
キーバインドの変更だけならInputMap使うほうが素直では。

474 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 21:52:13 ]
htmlしかコーディング出来ないスキルでguiやろうってのが無謀。

475 名前:デフォルトの名無しさん [2010/06/26(土) 19:50:11 ]
ahe

476 名前:デフォルトの名無しさん [2010/07/02(金) 10:14:55 ]
低速だとはおもわない

477 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 13:15:39 ]
伝統だから付いてるだけだよ。
# 「Java 高速 GUI SWT」に対する皮肉も込めて…

478 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 02:29:19 ]
教えてください。
JFrame→JDialog(モーダル)→JDialog(モーダル)の画面遷移で、
最後のJDialogをdispose()すると、最後のJDialog残像が残るんですが、(何回かやってると)
dispose()した後、2番目のJDialogをrepaint()しないといけないもんですか?

実際はもうちょっと複雑で、
2番目のJDialogの中にtableがあってTableのセル内のボタンを押した時に、
3番目のJDialogが開くようになってます。
そこで、選択した物をテーブルに表示するという処理になります。

3番目のJDialogを引数無で作成すると残像は起こらないんですが、
オーナー(2番目のJDialog)を指定してJDialogを作成した場合のみ問題が発生します。


479 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 09:30:08 ]
hideしてからdispose



480 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 18:04:51 ]
1.5以降ではhide()は推奨されないメソッドになっているため、
JavaDocの通り、setVisible(false)をしてからとか、
windowクラスのtoBack()をしてからdispose()をするなど、
色々と試してみたんですがうまくいきません。(モーダルなのでtoBack()は効くかもわかりませんが(汗))

あとは、windowsの問題かと思い、VM引数のnoddraw=trueでやってみたりもしたんですがダメでした・・

奥が深いですね・・・

481 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 18:19:52 ]
それが再現出来るような説明を付けてバグ報告

482 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 23:55:02 ]
3番目のJDialogをEventQueue.invokeAndWait()経由で開いてみるのはどうだろう。

483 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 18:14:32 ]
先回りエスパーでinvokeLaterと修正してみるテスト

484 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 23:58:22 ]
SwingUtilsですね
確認してみます。

色々と助言ありがとうございます。

解せないのは、
オーナーを指定した場合と、していない場合の動作ですが
まだわからないことが多いので勉強してみます。

485 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 12:48:41 ]
Apache pivotのWTKって、Swingの補完に使えんのかな。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<117KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef