[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 08/21 19:07 / Filesize : 252 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Java標準低速GUI 6 AWT/Swing



1 名前:デフォルトの名無しさん [2007/09/26(水) 20:51:18 ]
ハードウェアの高スペック化、描画アルゴリズムの変更、JavaVMの高速化に伴い、パフォーマンスの問題は改善されています。
しかしながら、"Java"というだけで未だに敬遠されるのが現状。
そんなSwingと引き続き付き合っていくみんなのスレッドです。
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

309 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:34:14 ]
SwingのL&Fでかっこいいのないかなぁ。
国外のL&Fを今日一つためしてみたんだが、ダブルバイトが全滅。
ttp://regis.risp.pl/
まあ、外観に変化つけるときってフォントいじるから当然かな。

L&Fを自分でこさえるのは手間かかりすぎてそこまで時間とれないし、
MetalのOceanで負けとくのが今のとこ勝ちなのか。orz

310 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:46:49 ]
ニンバスニンニン

311 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:05:59 ]
>>310
おおっ!
なんかすごそうだけど、まださっぱりわからん。
Java SE 6 Update N Early Access Programてのを落としてくればいいのかな。
これそのうちJDKに正式採用されるのかしら?

312 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:11:42 ]
Synthって流行ってないのかね?

313 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:18:14 ]
あれは結局全部自分で定義しなきゃいかんからLFそのものを作りたい人向けとちがうの?

314 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:23:09 ]
そうだけど、ホームページの壁紙やボタン、仕切り線みたいな感じで素材化されてないのかなと。
Javaアプリケーションが普及してないってことか。

315 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:39:08 ]
画像ファイルはりつけたボタンになってしまってもいいの?
アイコンはともかくボタン全体が画像で作られているのはどうも。
融通効かないし。

ボタンが数個しかないアプリとか、ゲームとかならそういうのも良いかと思うけど。

316 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:45:12 ]
>>308
作ってみた

public class VerticalJButton extends JComponent{
private JButton button=new JButton(){
public void repaint(long tm,int x,int y,int width,int height){
VerticalJButton.this.repaint(tm,y,1-x,height,width);}};
public VerticalJButton(String text){
add(button);button.setText(text);
enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK);}
public Dimension getPreferredSize(){
Dimension d=button.getPreferredSize();
return new Dimension(d.height,d.width);}
public void doLayout(){
button.setBounds(0,1-getWidth(),getHeight(),getWidth());}
protected void paintChildren(Graphics g){
Graphics2D g2=(Graphics2D) g.create();
g2.rotate(Math.PI/2);g2.translate(button.getX(),button.getY());
button.paint(g2);g2.dispose();}
protected void processMouseEvent(MouseEvent e){
e=new MouseEvent(button,e.getID(),e.getWhen(),e.getModifiers(),e.getY()-button.getX(),-e.getX()-button.getY(),e.getClickCount(),e.isPopupTrigger(),e.getButton());
button.dispatchEvent(e);}
protected void processMouseMotionEvent(MouseEvent e){
e=new MouseEvent(button,e.getID(),e.getWhen(),e.getModifiers(),e.getY()-button.getX(),-e.getX()-button.getY(),e.getClickCount(),e.isPopupTrigger(),e.getButton());
button.dispatchEvent(e);}}

317 名前:デフォルトの名無しさん [2007/11/12(月) 23:11:37 ]

NetBeans5.5.1使ってるんですが、GUIビルダーで質問です

JFrameフォームでフレームをつくり、
別途JPanelフォームでパネルを複数つくります。

アプリケーション起動後に、パネルを好きなタイミングで、フレームにadd()したいのですが、
SwingLayoutの影響でうまくいきません。

なにか特別なやり方があるのでしょうか?
それともGUIビルダーでは不可能なのでしょうか。
 



318 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:46:28 ]
>>316
g2.dispose();

なんだけど、これはpaintComponent()をオーバーライドしたときとか、
Graphicsオブジェクトを使ったあとはかならず実行したほうが良いの?
今までそうしてこなかったのだけど、APIリファレンスみると、
したほうが良いような感じなんだけど、いまいちわかりにくい日本語。

319 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:54:29 ]
少なくともpaintComponentでは不要じゃないかい?
OverrideしなくてもpaintComponentは呼ばれるだろうし

320 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:56:01 ]
>>318
Graphics#disposeでグラフィックコンテクストを開放しないといけないのは自分でそれを確保したとき。
他人が確保したものを許可無く勝手に開放するのは行儀が悪い行い。
paintComponent()をオーバーライドしたときに開放するとかはどこに書いてあったの?

321 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:08:10 ]
>>320
dispose
public abstract void dispose()このグラフィックスコンテキストを破棄して、使用中のシステムリソースがあればそれを解放します。
Graphics オブジェクトを dispose の呼び出し後に使用することはできません。
Java プログラムが実行されていると、短時間フレーム内で多数の Graphics オブジェクトを作成できます。
ガベージコレクタのファイナライズプロセスも同じシステムリソースを破棄しますが、関連するリソースを手動で解放することが推奨されます。
つまり、長期間に渡って完了まで実行されない可能性があるファイナライズプロセスに依存するよりも、
このメソッドを呼び出してリソースを手動で解放してください。

コンポーネントの paint メソッドと update メソッドに引数として提供される Graphics オブジェクトは、
こうしたメソッドが復帰したときにシステムによって自動的に解放されます。
効率性を確保するには、Graphics オブジェクトがコンポーネントまたはほかの Graphics オブジェクトから直接作成された場合だけ、
そのオブジェクトを使って終了したときに dispose を呼び出すようにプログラミングしなければなりません。
-----------------------------------

ということらしいんだが、dispose()不要のような必要なような、ケースバイケースのような
説明に読めたのよ。スマソ。

322 名前:316 mailto:sage [2007/11/13(火) 00:12:45 ]
>>318
その g2 は g の単なるキャストじゃなくて、 g.create() で生成したものだから。
放っておいても害はないけど、解放するべきなんじゃない?

323 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:15:10 ]
>コンポーネントの paint メソッドと update メソッドに引数として提供される Graphics オブジェクトは、
>こうしたメソッドが復帰したときにシステムによって自動的に解放されます。

Graphics g = createGraphics();
//--->呼び出し
paintComponent(g);
//<---復帰
g.dispose();

こういうことでしょ。きっちり書いてるじゃん。

324 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:17:35 ]
>>322
いやだからさ、おかしいなんていってないよ。
g.dispose()と書かれたソースを今までみなかったのだけど、
開放しといたほうがいいのかななどと思ったの。

325 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:18:32 ]
これってどういう意味?

> Java プログラムが実行されていると、短時間フレーム内で多数の Graphics オブジェクトを作成できます。

326 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:22:01 ]
>>323
paintComponentについては暗黙の了解?
説明としては抜けてる。ソース嫁といわれりゃあっそう。

327 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:34:39 ]
>>326
paintComponentについてはJComponentのドキュメントを読めば理解できるかと。



328 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:36:15 ]
>>321
それ勘違いしてるぞ
ファイナライザとか関係ない

329 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:42:26 ]
何でよ

330 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:43:16 ]
なんでφならいざが?

331 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:08:35 ]
>>310-311
Nimbusはイメージを使わずに、すべてJava2Dで書かれてるから、解像度に依存しないのがいいよね。

332 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:13:28 ]
>>316
動作確認してみた。いいね!
やり方もエレガントだと思う。
アイコンもついてたら完璧かも。

333 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:25:17 ]
>>331
うん。

作ってるアプリが終盤で、外観の体裁ととのえてるとこなんだけど、
今無理してL&Fいじくるより、Nimbusが標準になるまで待ったほうがトクだろうなぁ。
L&Fを自分で作ったりカスタマイズしてももすぐに時代遅れになるしね。
Metalも出てきた当時はけっこうクールに見えたし。
L&Fは服きせかえるみたいに使い捨てていきたい。

334 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 01:46:39 ]
disposeは後始末
自前でgraphicsを生成した場合必須

ファイナライズの話はFileのIOをcloseしないというのと同じ話

そしてかってに呼び出し側でcloseしたらあかんだろというのと同じ

335 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:01:22 ]
>>325
> Java プログラムが実行されていると、短時間フレーム内で多数の Graphics オブジェクトを作成できます。

いっぱい作成できると、なんとなく、うれしいジャン?
とりあえず、「多数の Graphics オブジェクトを作成する可能性があります」の誤訳に一票

336 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:14:10 ]
久しぶりに覗いたぜ。

invokeLaterはinvokeLater間違えてAWTのSystem Queueに送ったことあるorz
MIDPのGraphicsにdisposeがなくてどうやってメモリ空けようか悩んだことがあるorz

Nimbusのマルチバイト化けは直ったらしいがあれ重くないか?スケーラブルなLaF目指してるんだろうけど・・・。
ただでさえ、未だにjavaは重いという迷信が信じられてるからなぁ。

337 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:18:53 ]
迷信というかJFileChooserは今でもひどくない?
ファイル多いとファイルリストの取得とは別の何かで重くなってる印象が・・



338 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:27:10 ]
>>337
JavaSE6u2からすごいことになった
どうすればあそこまで悪化できるのかと

339 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:52:07 ]
>>338
今はソース見れるんだから自分で調べられるよ

340 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 23:51:12 ]
今OpenJDKで公開されてるソースと今公式ビルドに使われてるJDKのソースは違うぞ。
jdk6がOpenJDKベースになるのはまだ先。

341 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:16:14 ]
>>339
そういう意味じゃないだろ

342 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 03:38:43 ]
>>337
今までひどすぎるとまでは感じなかったんだが、そんなにたくさんのファイルリストを
出すという局面に遭遇してないだけだったりする。
100個くらいリストが出ててもなんともないと思うんだが、いくつくらいだとひどいことになるの?

343 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 07:17:29 ]
なんでファイル列挙系はバグが入りやすいんだろうな。
なんか共通したミスでもあるんだろうか?

344 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 07:27:12 ]
ネットで調べると、でかい圧縮ファイルがあるとおかしくなるらしいね

345 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 09:30:48 ]
>>336
7年後サクサク動くニンバスみて、軽いけどもう古いよなこのLaFとかいってるような気がすれ

346 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 09:32:31 ]
ニンバスかっけぇんだけどさ、どうもスクロールバーが馴染めない…

347 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 09:47:09 ]
文字はみんな□になってるけどSwingSet2のデモみるかぎり、遅いとは感じないな。Nimbus。
そんでこれいつからリリースされるのかな。



348 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:36:16 ]
>>342
u2以降は1個の表示でもすごい遅い
u1まではさくさく

まぁ遅いといわれたり直ったりエンバグ繰り返してるのがJFileChooserだから・・・

349 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:43:44 ]
JFileChooserはネイティブ頼りなんだっけ?エンバグの発生率は仕方ないと思う。

350 名前:デフォルトの名無しさん [2007/11/14(水) 17:18:38 ]
デスクトップのzipをどけると改善するみたい。開発で頻繁にテストする人はzipを
一時的にどけておくといいかも。

351 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:29:57 ]
つーことは、JFileChooserはファイルの中身を調べるようなことまでやってるのかな。

352 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:34:34 ]
Windowsのエクスプローラとか、Javaのクラスパス解決処理みたいな
どっかのAPIを流用したことによる副作用とかいうオチだったらちょっと笑える

353 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:45:28 ]
DirectXでIMEの例があるから笑うに笑えない・・・。

354 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:57:27 ]
>>351
実行形式の場合、そのファイルのリソースとしてアイコンが格納されているんだから、
API経由か直接かは知らんけど、当然ファイルの中身は見てるはず。
で、PEとかELFとか、実行形式のフォーマットを決め打ちできない分、
アイコン読み取りが複雑になってるんじゃなかろうか。

355 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:06:04 ]
JFileChooserのアイコンってFileSystemView#getSystemIconでしょ
これが遅いってことか?

356 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:18:41 ]
>>354
つまり世の中のGUIは全てファイル選択ダイアログは遅くて使い物にならない、と
それにu1まではそんなに遅くなかった
1.4.2はいくつかのバージョンが遅いけど

357 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 22:11:41 ]

sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29872

質問です
イベントでコンポーネントを追加したいんですが、追加と同時に表示させるにはどうすればいいんでしょうか?
repaint()ではダメみたいです
 



358 名前:デフォルトの名無しさん [2007/11/15(木) 22:19:39 ]
>>357
jPanel1.revalidate()

359 名前:デフォルトの名無しさん [2007/11/16(金) 00:00:48 ]
ああ、Swingか・・・。

360 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:51:25 ]
>>357
HelloボタンをaddしたあとでMyFrame#pack()を呼ぶ

361 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:08:45 ]
追加はされてるけど、flowレイアウトで1つしか表示できないサイズだから消えてるようにみえるだけ
>>358で正しいよ

362 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:24:19 ]
revalidateだけでは>>357のソースでは「追加と同時に表示させる」ことにはならないから>>360で正しいよ。

363 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:27:07 ]
>>362
おまえはバカか
それはレイアウトマネージャの問題であってrevalidate()で十分尽くされているんだから358が正しいんだよ

364 名前:357 mailto:sage [2007/11/16(金) 01:31:12 ]
レス感謝です

>>361
revalidate()って意味ありますか?
revalidate()せずに、pack()だけで思い通りに表示されました

365 名前:デフォルトの名無しさん [2007/11/16(金) 01:39:53 ]
>>364
いろいろ作っているうちに分かるよ。pack()でレイアウト変更後の再描画なんてよっぽど
異常なUIでもない限りやらないよ。pack()の方でフレームを広げてボタン押してみ。

366 名前:357 mailto:sage [2007/11/16(金) 02:01:39 ]
たとえば、ウインドウを最大化してるにも関わらずpack()でウインドウが小さくなるのはおかしいということでしょうか?

367 名前:デフォルトの名無しさん [2007/11/16(金) 02:33:01 ]
それでいいならいいけどさ。



368 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 03:04:30 ]
JFileChooser パフォーマンス問題
blogs.sun.com/katakai/entry/jfilechooser_performance_issue

369 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 05:59:08 ]
jdk6uN b07では直ってるらしいよJFileChooser問題
ttp://download.java.net/jdk6/6u10/promoted/b07/changes/jdk6uN-b07.html

370 名前:デフォルトの名無しさん [2007/11/16(金) 06:06:06 ]
>>369
Bug ID: 6578753
Votes 65
Synopsis JFileChooser in 6u2 slow on Windows
Category java:classes_swing
Reported Against
Release Fixed
State In progress, bug
Related Bugs 6491795 , 5050516
Submit Date 10-JUL-2007

371 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 09:37:29 ]
アプリの二重起動についてなんだが、二重起動を確認したらそこでシャットダウン
するのはよくある方法だと思うんだけど、たとえばNetBeansはもっと賢いやり方
をしている。

NetBeansが動いている状態で、それが最小化した状態でタスクバーにあるとする。
その状態でNetBeansのアイコンをクリックするなりして二重に起動しようとすると、
二重起動にはならずに、タスクバーにあるものが画面に現れる。
これってどうやったらできるのかな・・・。

372 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 10:52:18 ]
>>371
Javaにはミューテックスなかったっけ?

373 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 11:34:11 ]
排他制御用のオブジェクトは同一VM上の同期に使うやつで
プロセス間は別の仕組み考えないとダメ。

374 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 11:36:21 ]
>>371
起動用のアプリを別に分ける。
というか、そのためにexeを用意しているようなもん。

375 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 11:55:44 ]
んじゃあ手動でミューテックス作っちゃうとか。
テキストファイルで現在起動中のプログラム・インスタンス数を数えておいて、
起動時に中身が1なら起動しない。
もし>>371のいうような挙動をしたいなら、プログラムでミューテックスファイルを監視しておいて、
ファイルの中身が2になった瞬間タスクバーからプログラムを出せばいい。

ここまで書いて思ったんだが、Swingでタスクバーから出すとかそういうそうさって出来たっけ?

376 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 12:02:05 ]
自プロセスのウィンドウを最小化解除するだけなら Frame#setState でできる

でもそのファイルを監視ってのはどうするんだ
タイマで1秒ごとにタイムスタンプを確認するとかか

377 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 12:09:54 ]
>>376
ファイルやフォルダで変更があったときにイベント起こすような機能なかった?



378 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 12:13:16 ]
>>377
NIO2で追加予定。
標準APIでなくてもいいなら、JConfigとかには付いてたと思うし
>>376のやり方で自力で実装してる人も多いんじゃないかと。

379 名前:371 mailto:sage [2007/11/16(金) 19:25:50 ]
一眠りして考えたんだが、
アプリが独自にポート開いて監視しておく。
別プロセスでアプリが起動したら、そのポートを叩く。
応答が返ってきたら、そのプロセスはシャットダウン。
応答した側のプロセスはFrame#setState
でいけそうな気がするんだが、けっこうめんどくさいね。
もっと簡単にできないもんだろか。

380 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:36:00 ]
Windowsファイアウォールとかにブロックされそうだが

381 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:48:42 ]
ファイルサーバとかでもたまに思うんだけど、
OSはロックサーバが標準で付いててほしいんだよな
CVSのロックサービスだってそのためについてるんでしょ。

AbstractFactoryパターンでインタフェース書いて、Winだけ実装作ろうかな

382 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 20:36:05 ]
Preferencesを使うってのはどうかな。

383 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 20:42:19 ]
sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/lang/preferences.html

# 複数の VM による同時アクセスを、この API でより強力にサポートしないのはなぜですか。
同様に、複数の設定の更新を結合して単一トランザクションに組み込み、
すべて更新するかまったく更新しないセマンティクスを適用しないのはなぜですか。

この API は、持続性のある基本的なデータ記憶域として使用し、データベースの代わりとしては使用しません。
この API は、標準の設定/構成リポジトリ上に実装できるようにすることが重要です。
これらのリポジトリのほとんどでは、データベースのような機能は提供していません。
これらのリポジトリは、この API の設計目的を満たしています。

384 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:05:37 ]
>>380
ファイアウォールの設定はユーザの責任じゃないかい。

385 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:08:21 ]
なんにせよファイルにフラグを記録するやり方だと、アプリが異常終了して、
フラグの書き換えができなかった場合、次に起動しようとすると困ったことに
なりやすい。

386 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:10:30 ]
プラットフォームネイティブのMutexやセマフォを使うか、
オンメモリデータベースを使うってのがいいのかも。

387 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:29:41 ]

ファイルチューザ同等の機能を持つファイルチューザを独自に作る場合、
こうやらねーとすっげー遅くなるぜ?っていうTips教えてくれ
 



388 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:04:22 ]
>>387
普通に作れば遅くならんだろ…
JFileChooserはネイティヴLaFに近づけるために
いろいろ細工してるのが裏目に出てるだけだと思うぞ

389 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:25:54 ]

touch.moe.hm/touchup_pict/download/1195233390.jpg
こんな上下2ペイン構成のGUIアプリケーションを作りたいと思ってます

上ペインのJButtonをクリックすれば、下ペインのJPanelが切り替わるように作ればいいと思うんですが
普通どのようにやりますか?

■作ったサンプルではこのようにしてます
 初期化で空のpanel1をつくり、その上にpanel2をadd()する
 別のボタンが押されたら、panel1に載っているpanel2をremove()、panel3をadd()、validate()


ちょっとわかりづらいかもしれませんが、もっといいやり方ありそうでしょうか

390 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:29:27 ]
っ CardLayout

391 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 02:39:43 ]
TabbedPaneで、タブにアイコン貼付ければいいような気がした。

392 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 04:22:23 ]
>>390
使ったことないけどカードレイアウトに同意

393 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 05:09:46 ]
>>388
Fileが遅くなってるから、普通に作ったら遅くなるよ。
しったか乙。

394 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 05:12:23 ]
JFileChooserの速いバージョンを作りたければ、FastFileを使うといいよ

395 名前:371 mailto:sage [2007/11/17(土) 10:35:15 ]
>>379のやり方実装してみたけど、うまくいくみたい。

396 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:40:08 ]
>>395
やってみた事ないけど、
途中でトラぶってコネクションクローズの前に死んだ場合は二重起動しちゃうの?

397 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:44:33 ]
>>396
ローカルホストの接続でとらぶるって、どんなときにとらぶるかな。
そこらへんの想定外のことがあるかどうかは気にはなってんだけど。



398 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 10:54:59 ]
>>397
他のアプリがそのポートを使っていて重複する場合

ファイアーウォールが入っていてはじかれる場合

今どきめずらしいけどLANがついてないマシンだとどうなるっけ?

399 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 15:21:39 ]
> 今どきめずらしいけどLANがついてないマシンだとどうなるっけ?

頭大丈夫か?

400 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:21:11 ]
スタンドアロンのPCがあるからネットワークサービス止めて試してみようか?
たぶん、接続段階で例外投げられたはずだけど。
jarでクレw

クローズ処理をfinalyでやってるなら途中でシャットダウン入るとfinalyブロック中断されるからそれでもアウトだね。

401 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:46:33 ]
イーサネットがあってもなくてもlocalhost(127.0.0.1)にアクセスできるだろ…
# TCP/IPを外してあればできないのか?

402 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:49:59 ]
ネットワーク完全にとめるとループバックももちろん完全にだめ
Win95以前はまずループバックアダプタいれての開発がデフォだったな

403 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:56:04 ]
そういうアダプタ用MACアドレスもあるのかな?別に無くても困らないけど。

404 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:15:28 ]
>>402
そもそも Win95 ってデフォルトのインストール
だと TCP/IP が組込まれてないようなOSだろ…

405 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:27:56 ]
独自のネットワークサポートするから良いんです。

ゲイツ「インターネットなんて一般人にはやんねーよw」

時代の産物だからな。時代の流れか。

406 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:13:33 ]
JDK1.5がそもそもWin95だともう動かんのじゃね?
とくにGUIまわり。

407 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:40:37 ]
java.sun.com/j2se/1.5.0/system-configurations.html
Win95はサポート外だね



408 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 20:43:39 ]
サポートの話なんて誰もしてないだろと

409 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 21:24:54 ]
設定でTCP/IP無効にしたらダメなんじゃねぇの?






[ 続きを読む ] / [ 携帯版 ]

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

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