[表示 : 全て 最新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

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