Java低速GUI Swing 3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/07/19(火) 00:35:54パフォーマンスの問題が改善されつつあります。
しかしながら、"Java"というだけで犬猿されつつあるのが現状。
そんなSwingと引き続き付き合っていくみんなのスレッドです。
Java低速GUI Swing 2 (前スレ)
http://pc8.2ch.net/test/read.cgi/tech/1095398949/
Java低速GUI Swing
http://pc5.2ch.net/test/read.cgi/tech/1062271447/l50
参考スレ
Java 高速GUI SWT 2
http://pc5.2ch.net/test/read.cgi/tech/1068349883/l50
0002デフォルトの名無しさん
2005/07/19(火) 00:37:03http://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/
0003デフォルトの名無しさん
2005/07/19(火) 00:38:07WisdomSoft - JAVA入門
http://wisdom.sakura.ne.jp/system/java/javax.html
developerWorks - マルチスレッド化Javaアプリケーションの作成
http://www-6.ibm.com/jp/developerworks/java/010427/j_j-thread.html
[en]
Creating a GUI with JFC/Swing
http://java.sun.com/docs/books/tutorial/uiswing/
Threads and Swing
http://www.math.cuhk.edu.hk/TechInfo/JavaTutorial-2/ui/swing/threads.html
The Last Word in Swing Threads
http://java.sun.com/products/jfc/tsc/articles/threads/threads3.html
Painting in AWT and Swing
http://java.sun.com/products/jfc/tsc/articles/painting/
0004デフォルトの名無しさん
2005/07/19(火) 00:40:11赤坂玲音著「Javaアプリケーション作成講座 - Swingプログラミング徹底攻略」
http://www.amazon.co.jp/exec/obidos/ASIN/4839913862/
大村忠文著「Java GUIプログラミング」Vol.1〜3
http://www.amazon.co.jp/exec/obidos/ASIN/4877830510/
http://www.amazon.co.jp/exec/obidos/ASIN/4877830529/
http://www.amazon.co.jp/exec/obidos/ASIN/4877830537/
サンソフトプレス「グラフィックJava2」AWT編、Swing編(上)(下)
http://www.amazon.co.jp/exec/obidos/ASIN/4756134513/
http://www.amazon.co.jp/exec/obidos/ASIN/475613582X/
http://www.amazon.co.jp/exec/obidos/ASIN/4756135838/
Java実践プログラムによるデザインパターン入門講座
- Swingプログラムで体得する23のパターン
http://www.amazon.co.jp/exec/obidos/ASIN/4894712563/
0005デフォルトの名無しさん
2005/07/19(火) 00:41:47http://java.sun.com/docs/books/tutorial/uiswing/
為政敦男氏が1998〜1999年にSwingExamplesを書き、
オリジナルサイト消滅後もミラーされ続けている。
5年以上前にSwingの素晴らしい使い方を示してくれた為政さんに感謝します。
http://www.senun.com/Left/Programming/Java_old/Examples_swing/JTableExamples1.html
http://www.physci.org/codes/tame/
SynthLaF
ユーザーを虜にするものは機能だけではありません。
見た目のCoolさでアピールしてはいかがでしょうか。
(雄の孔雀が美しい尾羽を持つように:-))
[ja]
IBM 進歩したSynth 最新のSwingルック・アンド・フィールを使うとカスタムUIが手軽に
http://www-6.ibm.com/jp/developerworks/java/050318/j_j-synth.html
[en]
Sun The Synth Look and Feel
http://www.javadesktop.org/articles/synth/index.html
0006デフォルトの名無しさん
2005/07/19(火) 00:42:49NetBeans
http://www.netbeans.org/index_ja.html
Eclipse+VisualEditorPlugin
http://www.eclipse.org/
http://www.eclipse.org/vep/
0007デフォルトの名無しさん
2005/07/19(火) 00:49:54そういやいつまで「低速」がつくんだろうか
1.4.1からはDirectXとか使って高速化してるし
SWTも多少いじるとJFaceとか必要だからあっちにくらべて遅くねぇーよ
0008デフォルトの名無しさん
2005/07/19(火) 02:56:210009デフォルトの名無しさん
2005/07/19(火) 06:19:120010デフォルトの名無しさん
2005/07/19(火) 06:44:200011デフォルトの名無しさん
2005/07/19(火) 10:32:05レイアウトマネージャって使うのデフォですか?
(というか皆さんは思い通りに配置出来てますか?)
ポトペタに慣れると激しく使い難いです。
0012デフォルトの名無しさん
2005/07/19(火) 11:15:48デフォ。
GridBagLayoutになれたら、むしろVBの頃の方が面倒くさかったと思えるようになってきた。
コントロールのサイズ合わせとか、縦横の座標あわせとかね。
ところでSwingのコードを手書きしていた頃は、
GridBagLayoutを敬遠していたんだ。なんだか複雑そうな印象があって。
代わりにBoxLayoutを組み合わせてやってた。
でも、IDEで書いてみたらそれほど複雑じゃないね。Eclipse + VE使ってます。
0013デフォルトの名無しさん
2005/07/19(火) 13:39:39最初は確かに慣れるまでは手間かもしれないけど
複数のコントロールを綺麗に位置あわせとかは絶対座標じゃ大変
絶対座標がいいのならあぶそりゅーとレイアウトかNullレイアウトつかいな
0014デフォルトの名無しさん
2005/07/19(火) 15:53:35tくす。やっぱデフォですか。orz。
今ねっとびーんずでペタペタやっとるんですけど、これはかなりイライラしますね。
今まさに、すべてのコントロールが横一列に(無造作に)並んじゃっているので、どうしたもんかと思案中ですw
0015デフォルトの名無しさん
2005/07/19(火) 17:10:25おまえは俺か!
ウィンドウとして使わずに全画面でVBアプリの様にするならNetBeansのIDEについてくるAbsoluteLayoutってのが便利だったよ。
でも俺も>>12と同じでGridBag使うのがいいと思うね。
大変だと思うのは最初の3回くらいだし。
0016デフォルトの名無しさん
2005/07/19(火) 20:40:51まずレイアウトの勉強してくれ
デフォではぼーだーやふろーになってるがこの2つと
ぼっくすの3種類の組み合わせだけでまずGUI作成はおわり
レイアウトが分からないってことはpackとか推奨サイズの意味もまったくわからんだろうね
幸いAWTとSwingの資料は大量にあるので勉強してみよう
0017デフォルトの名無しさん
2005/07/19(火) 20:40:54俺も GridBagLayout を強く勧める。
敷居は高そうに見えるけど、
簡単なサンプルで少しずつ学べば大丈夫。
Eclipse + Visual Editor なら制約とか勝手に宣言して加えてくれるし。
全画面のアプリ作る時でも、GridBagLayout でレイアウトしといた方がいいですよ。
(あとあとコンポーネント足したり、移動させたりするわけだし。)
VBでプログラミングしたことないから分からないけど
GridBagLayout に慣れた後で MFC(VC++) で画面作れ
と言われるとストレスで死にそうになる。
ダイアログのプロパティ開いて、WM_SIZE選択して、
OnSize() の中に10個も20個もあるコンポーネントを
素敵に並べ替えるコードをネチネチ書き連ねて、、、自分が惨めになる。
0018デフォルトの名無しさん
2005/07/19(火) 20:59:43これ。
最強l。
0019デフォルトの名無しさん
2005/07/19(火) 21:17:340020デフォルトの名無しさん
2005/07/19(火) 22:59:350021デフォルトの名無しさん
2005/07/19(火) 23:30:20SWTのスレが、高速名乗ってるからじゃないの?w
SWTが、高速の看板おろしたら低速の看板も外せばいいんじゃないかな、と。
低速といわれてるSwingの速さにみんなびっくりするから低速ってのは入れてて欲しいww
0022デフォルトの名無しさん
2005/07/19(火) 23:31:16少なくとも、Swingでは無理。
0023デフォルトの名無しさん
2005/07/19(火) 23:48:12SplitPaneみたいな仕切りが何層にも分かれているんだけど、開いて置けるのは常に一画面。
んでバーにはそれぞれパネルのタイトルが表示できる。
タグインタフェースに似てるけど、こっちのが見た目がいい。
0024デフォルトの名無しさん
2005/07/20(水) 00:45:010025デフォルトの名無しさん
2005/07/20(水) 01:19:48どういう意味の質問なんだろうか?
0026デフォルトの名無しさん
2005/07/20(水) 04:36:26という意味なのだろう、きっと。
0027デフォルトの名無しさん
2005/07/20(水) 04:55:310028デフォルトの名無しさん
2005/07/20(水) 19:59:480029デフォルトの名無しさん
2005/07/20(水) 21:42:440030デフォルトの名無しさん
2005/07/20(水) 22:22:14resize時にも自動でやってくれるのとありがたいです。
0031デフォルトの名無しさん
2005/07/21(木) 05:56:40こんな感じ?
ttp://www.swingall.com/multipanes.html
0032デフォルトの名無しさん
2005/07/21(木) 13:43:52なんでこんなのがあるのか不思議に思うくらい
0033デフォルトの名無しさん
2005/07/21(木) 23:02:39これこれ。これではバーがしょぼいけど
この贅沢にスペース取ってますよ感がすき。
0034デフォルトの名無しさん
2005/07/22(金) 09:42:06TabbedPaneでいいんじゃないかとおもっちゃうんだが、なんか良いこと在るのか?
0035デフォルトの名無しさん
2005/07/22(金) 10:17:510036デフォルトの名無しさん
2005/07/22(金) 12:35:40スクロールするタブとか、すげえ操作しんどいし。
0037デフォルトの名無しさん
2005/07/22(金) 14:18:560038デフォルトの名無しさん
2005/07/23(土) 16:00:37ウィンドウの大きさを変更した時にウィンドウ内部のJPanel等の内部領域の大きさも追従させるにはどうすればいいのかな。
ウィンドウのイベントリスナでサイズ変更するたびに内部コンポーネントの大きさを弄くらなければならないのか、あるいは何らかの属性をセットすれば自動的に調節してくれるのか……?
0039デフォルトの名無しさん
2005/07/23(土) 16:08:59レイアウトマネージャ
0040デフォルトの名無しさん
2005/07/23(土) 16:25:000041デフォルトの名無しさん
2005/07/26(火) 09:38:070042デフォルトの名無しさん
2005/07/26(火) 10:18:03フレームをドラッグしてリサイズしてる最中でも、レイアウトを効かせるのってできるんでしょうか。
普通に作ると、リサイズ→マウスのボタン離す→レイアウトとなり、
ドラッグ中にはレイアウトされません。
0043デフォルトの名無しさん
2005/07/26(火) 13:25:49Toolkit tk = Toolkit.getDefaultToolkit();
tk.setDynamicLayout(true);
動的変更やるかどうかは tk.isDynamicLayoutActive() で真偽値が取れる。
セットしても環境によっては無視される(falseのままとかtrueのままとか)。
004442
2005/07/26(火) 14:48:21思い通りになりました。ありがとうございます。
確かに、これでSystemDefaultのLookAndFeel使うと、
SWTの立場が危ういですね。
Swingだとネイティブのウィンドウシステムのウィンドウをバカスカ作る
わけじゃないので、リソース負荷も少ないし。
0045デフォルトの名無しさん
2005/07/26(火) 15:53:21API の直感的な分かりやすさは
Swing の方が上に感じる。
どーーーーしても Windows 的な L&F にしろって言われたら
仕方なく SWT 使うしかねーかなって程度じゃなかろうか。
(Swing の Windows L&F は native なものと微妙に違う時がある。)
0046デフォルトの名無しさん
2005/07/26(火) 17:20:10NetBeansのAbsoluteLayout使えばいいだけだし、SPLなので組み込んでも問題ないし
そもそもソースコード見れば分かるが非常に小さいレイアウト部品で自分で作れるくらいのものだしね
SwingのLAFのネイティブとの違いは5.0で大幅に減ったから区別がつきにくくなったと思う
分かりやすさに関してはいわゆる普通のオブジェクト指向的プログラムで組むのがSwingで
自前でウインドウシステム作ったことがあるのならSWTはわかりやすいともいえる
SWTががんばるためにはVEで圧倒的優位なコード吐き出してくれるくらいにならないと難しい
0047デフォルトの名無しさん
2005/07/26(火) 19:01:26感じ。両方やると混乱する。どっちを取るって言われたら漏れならSwingを取る
JFace使えってのもあるんだろうけど、どっちにしろEclipseが無いところで動かすの
めんどい。最近Swingで作ってJWSで配布ってよくやるから
0048デフォルトの名無しさん
2005/07/26(火) 19:30:07JWSって流行ってるの?
0049デフォルトの名無しさん
2005/07/26(火) 19:47:130050デフォルトの名無しさん
2005/07/26(火) 20:40:44どれも企業内アプリだから目立たないだろうが
JNLPAPI以外は通常のアプリとアプレットだから
特別な知識がいることもない
0051デフォルトの名無しさん
2005/07/26(火) 20:41:04>めんどい。最近Swingで作ってJWSで配布ってよくやるから
それは正確ではないな。なぜなら最近のEclipseではSWTで作って
JWS向けにexportする機能がついているから。強いて言えば「Ecliipse
が無いところで開発するのがめんどい。」だろう。
0052デフォルトの名無しさん
2005/07/26(火) 20:50:38これをjavaでやろうとするとSWTしかないんじゃない?Swingで使用できるIEや
Mozilla並みのブラウザコンポーネント/クラスライブラリってフリーのは無いん
じゃないか?いや商用でも動画とかフラッシュまで対応するのは無いんじゃ..
0053デフォルトの名無しさん
2005/07/26(火) 21:18:31>どれも企業内アプリだから目立たないだろうが
というよりも企業内アプリのようにそれなりのサポート体制
を構築できてユーザPC上のJRE/JWSの環境がまともに使えるところでないと
駄目っていうのが現状。
IBMのような昔からJavaクライアントアプリを出荷しているところで
さえ、エンドユーザ向け製品ではアプリケーション一つに対して
一つ専用JREを準備していて、ユーザPCの共通Java環境を全く信用していない
ってのがよくわかる。おかげで複数のIBM製品使うとHDDにJREが四つも五つも...
0054デフォルトの名無しさん
2005/07/26(火) 22:06:322chブラウザやRSSリーダみたいなTree+List+Viewの三画面アプリが限界だ。
0055デフォルトの名無しさん
2005/07/26(火) 22:07:172chブラウザやRSSリーダみたいなTree+List+Viewの三画面アプリが限界だ。
0056デフォルトの名無しさん
2005/07/26(火) 22:08:232chブラウザやRSSリーダみたいなTree+List+Viewの三画面アプリが限界だ。
0057デフォルトの名無しさん
2005/07/26(火) 22:25:100058デフォルトの名無しさん
2005/07/26(火) 22:38:000059デフォルトの名無しさん
2005/07/26(火) 22:47:180060デフォルトの名無しさん
2005/07/26(火) 22:52:080061デフォルトの名無しさん
2005/07/26(火) 23:08:56プライベートJREはシステムに左右されず使えるから別に悪くはないかと
>>54
基本的にパネル複数組み合わせてやれば十分
そのGUIの階層を深くしただけでおけ
0062デフォルトの名無しさん
2005/07/26(火) 23:23:010063デフォルトの名無しさん
2005/07/26(火) 23:27:09JDIC使えばいいだけか。
0064デフォルトの名無しさん
2005/07/26(火) 23:38:30exportは楽でも、swtをJWSで使うとjarに署名が必要になるのは気になる
006547
2005/07/27(水) 01:07:19その機能は知らんかったが「めんどい」の主な理由は >>64 の言うとおり。
Eclipseが入っていればPlug-inとしてアプリ単体で配布できるから、まぁアリかなぁと思った
察しのとおり企業内なんで「偽署名の警告出るけどポチっとしてね」が通用する場合も
あるが、セキュリティがどうのとか言い出す香具師が出てくる規模になると無理
かと言って認証局使うとコストが発生する。でもSwingでなくてSWTを使うことでそれを
回収する方法を漏れは知らない。そうまでして使う理由が漏れには無いってこと
0066デフォルトの名無しさん
2005/07/30(土) 15:42:28Swingと組み合わせて、ダイアグラム図エディタのようなものを
作るツールキットってないでしょうか?
draw2dのようなやつの、Swing版が希望なんですが…
0067デフォルトの名無しさん
2005/07/30(土) 17:05:02Graphics2Dじゃ駄目なのかい?
0068デフォルトの名無しさん
2005/07/30(土) 18:16:51SWTのほうを先にやる時代なのかね?
たぶんSwingの出来ることの多さにびびるとおもわれ
0069デフォルトの名無しさん
2005/07/30(土) 19:22:40UMLのクラス図でいう矢印みたいなやつやパワーポイントのコネクタみたいなやつね。
draw2dだとそのへん簡単に扱えるよね。
0070デフォルトの名無しさん
2005/07/30(土) 21:38:00どんなものかは知らんがJGraphというのはどうだ?
検索したらでてきたやつだけど
0071デフォルトの名無しさん
2005/07/30(土) 22:04:43http://gef.tigris.org/
0072デフォルトの名無しさん
2005/07/30(土) 22:36:53自作すれば?
007366
2005/07/30(土) 23:43:31このあたり、
http://www13.plala.or.jp/observe/draw2d/draw2d_overview.html
を信じて、、Draw2Dは、SWTに依存するものだと思ってました。
これは間違いだったんですね。
> たぶんSwingの出来ることの多さにびびるとおもわれ
できることが多いのは結構なのですが、何でも自分でしなければいけないのは面倒なのです。
>>70のJGraphか、>>71のGEFが当たりっぽいですので試してみます。
GEFは、org.tigris.gef.* のGraph Editing Framework
http://gef.tigris.org/
と、org.eclipse.gef.* のGraphical Editing Framework
http://www.eclipse.org/gef/
は、別物なんですね。
0074デフォルトの名無しさん
2005/07/30(土) 23:59:120075デフォルトの名無しさん
2005/07/31(日) 20:32:53Eclipseのswingプラグイン使ってる人いるかい?
0076デフォルトの名無しさん
2005/07/31(日) 22:12:230077デフォルトの名無しさん
2005/07/31(日) 22:26:230078デフォルトの名無しさん
2005/07/31(日) 22:28:03一括コメントアウトってできないの?
0079デフォルトの名無しさん
2005/07/31(日) 22:55:08できるよ
0080デフォルトの名無しさん
2005/07/31(日) 23:17:40コメントボタン押す、またはCtrl+Shift+T
0081デフォルトの名無しさん
2005/07/31(日) 23:21:31おおおお。すんばらしい。
メニュー>編集には無いのにボタン化やショートカットはあるのか
0082デフォルトの名無しさん
2005/07/31(日) 23:51:58おれはほとんど趣味の領域だけど,
Swingが陽の目のを見る日が来てほしいよ本気で…勉強したし。
まだ発展途上だと信じたい。
0083デフォルトの名無しさん
2005/08/01(月) 00:04:34俺はNetBeans使ってる。
eclipse+VEは重くてダメだった。
機能的にはどちらがいいのか知らない。
VEとNetBeansのフォームエディタ機能を比較してるサイトとかない?
0084デフォルトの名無しさん
2005/08/01(月) 00:04:35あれがswingに新たな光をもたらしてくれる・・・
かもしれない(´・ω・`)
0085デフォルトの名無しさん
2005/08/01(月) 00:16:19期待はしてる
企業内アプリとかでは今でもそれなりに使われてるから、リッチクライアントが
もっと流行ればもっと多く使われるようにはなると思う
ただ、一般向けのソフトで使われることはあまりないだろうね。残念だけど。
0086デフォルトの名無しさん
2005/08/01(月) 00:17:08レイアウトマスタリーになればVBより強力なツールになりそう。
0087デフォルトの名無しさん
2005/08/01(月) 00:29:06VEのGUIエディタなんて、まだ全然だと思った。
ちょっと変わったことするとすぐソースコードがおかしくなったりした。
(おかしくなるっていうのが、可読性の悪いコードを出力するっていうのなら、
まだゆるせるが、間違った部分にGUI設定のコードを出力して、コンパイルエラーになったりする。)
あと、GUIのデザイン後に、手でコードを編集、追加したりすると、
これも、デザインが不能になったりする原因になる。あとやっぱりクソ重い。
でも、コードを編集する機能としては、NetBeansよりもeclipseのほうがずっと便利だから、
結局おれはeclipseを使っている。
VEよりもJiglooとかのほうが軽くて良さそうだった。
0088デフォルトの名無しさん
2005/08/01(月) 00:43:24そうか?
0089デフォルトの名無しさん
2005/08/01(月) 00:52:53NetBeansのほうが使いやすいと感じた
小規模開発ならNetBeans、そうでないならEclipseかな
0090デフォルトの名無しさん
2005/08/01(月) 00:52:53他の機能は慣れればおk。
操作は全然違ったりするけど、一通りEclipseと同じ機能が実装されてる気がする。
009187
2005/08/01(月) 01:20:25編集時の細かい操作は、eclipseの方が優れていると思った。
ぱっと思い出せたのはこんな感じ
・コンパイルエラーを簡単に自動修正できるところ(クイックフィックス?)
・インターフェースを匿名クラスで実装しようと、補完しただけで必要なメソッドをオーバーライドするところ
・補完後のカーソルの移動の仕方とか
textbox.setTe| ←この辺で補完
textbox.setText(|) ←カーソルが()の間にある。ここでTABで、)の後ろに移動する
・コード補完のポップアップとかの使い勝手もeclipseの方が軽快に動作すると感じた
eclipseは1文字入力した瞬間に絞り込まれるけど、NetBeansは、ちょっと待たないと絞り込まれない
開発効率がどれだけ違うかっていうと大差ないだろうけど、このあたりの動作が俺にとっては便利だった。
スレ違いごめん。
0092デフォルトの名無しさん
2005/08/01(月) 03:05:47補完スピードも別に変わらんよ。どっちも一瞬で出る。
Eclipseで補完で大文字小文字の判定なしってどうすんだっけ。
2.1までは快適だったけど3以降は・・・
まぁNetBeansはカスタマイズしないとつらいけどなー。
0093デフォルトの名無しさん
2005/08/01(月) 06:32:22ほかにもimportの候補とか、細かい点ではEclipseがいいけど、おおざっぱな点ではNetBeansが使いやすい。
try〜catchの自動挿入は実装してほしいけどね。
0094デフォルトの名無しさん
2005/08/01(月) 06:33:480095デフォルトの名無しさん
2005/08/01(月) 12:18:44その他は似たようなもんか。
0096デフォルトの名無しさん
2005/08/01(月) 12:20:45他はまぁ許容範囲と言うか、非常によく出来ている。
NetBeans を使ってみたいものの
会社が買ってくれない以上はどうにもならん。
0097デフォルトの名無しさん
2005/08/01(月) 12:44:360098デフォルトの名無しさん
2005/08/01(月) 12:58:390099デフォルトの名無しさん
2005/08/01(月) 13:00:470100デフォルトの名無しさん
2005/08/01(月) 14:40:200101デフォルトの名無しさん
2005/08/01(月) 15:48:225.0からは通常のAPIも一部とおるようになってきているな
もちろんサンドボックス内で
JNLPAPIの立場がなくなってきたかも
■ このスレッドは過去ログ倉庫に格納されています