トップページ⇒tech
1001コメント320KB

Java低速GUI Swing 5

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/10/18(水) 11:50:09
ハードウェアの高スペック化、JavaVMのホットスポットの高速化に伴い、
パフォーマンスの問題は徐々にですが改善されつつあります。
しかしながら、"Java"というだけで未だに敬遠されるのが現状。
そんなSwingと引き続き付き合っていくみんなのスレッドです。

Java低速GUI Swing 4 (前スレ)
http://pc8.2ch.net/test/read.cgi/tech/1140533866/
Java低速GUI Swing 3
http://pc8.2ch.net/test/read.cgi/tech/1121700954/
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
0002デフォルトの名無しさん2006/10/18(水) 11:51:02
参考スレッド
クライアントサイド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/
0003デフォルトの名無しさん2006/10/18(水) 11:51:38
[ja]
WisdomSoft - 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デフォルトの名無しさん2006/10/18(水) 11:52:38
書籍
赤坂玲音著「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デフォルトの名無しさん2006/10/18(水) 11:53:18
Creating a GUI with JFC/Swing
http://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/
0006デフォルトの名無しさん2006/10/18(水) 11:53:53
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
0007デフォルトの名無しさん2006/10/18(水) 12:14:56
VisualStudioのようなポトペタ開発環境がほしい!!
NetBeans
http://www.netbeans.org/index_ja.html
Eclipse+VisualEditorPlugin
http://www.eclipse.org/
http://www.eclipse.org/vep/
0008デフォルトの名無しさん2006/10/18(水) 15:36:12
>>6
Synthって情報少ないよなぁ・・・
0009デフォルトの名無しさん2006/10/19(木) 18:49:02
JPanelを任意の個数だけ、for文使って作ることって、できるんでしょうか?
0010デフォルトの名無しさん2006/10/19(木) 18:59:41
出来ないと思った理由が聞きたい
0011デフォルトの名無しさん2006/10/19(木) 20:08:29
9です。

たとえば、JPanelを10個まとめて作りたいとき

for (int i = 1; i <= 10; i++){
String s[i] = ("jPanel_"+i);
JPanel s[i] = null;
}

↑みたいに、for文使って一気にJPanelを作りたいですけど、↑じゃうまくいかないので
他に方法があれば教えていただければと…
0012デフォルトの名無しさん2006/10/19(木) 20:21:33
言語仕様から学び直せ。
sは2回宣言されています。
0013デフォルトの名無しさん2006/10/19(木) 20:35:27
>>12
s[i] ってのは変数名には使えないし、
配列なんだとすれば宣言と同時に配列アクセスしてるし……

>>11
JPanel[] panels = new JPanel[10];
for(int i = 0; i < panels.length; i++) panels[i] = new JPanel();
0014デフォルトの名無しさん2006/10/20(金) 13:55:09
この質問、初心者質問スレで読んだ気がするな。
0015デフォルトの名無しさん2006/10/20(金) 16:20:46
マウス側面の拡張ボタンをJavaで使う方法おしえて。
0016デフォルトの名無しさん2006/10/20(金) 16:34:36
マウスイベントって3つまでしかサポートしてなかったような
5.0からはマウスのボタンの数は取得できるがそれを使ってどうのこうのはできないはず
0017デフォルトの名無しさん2006/10/20(金) 17:43:40
返答どうもです。

やっぱ無理か…。
5ボタンマウスって、あんまり使われてないのかなあ。
0018デフォルトの名無しさん2006/10/20(金) 17:50:42
ほとんどのアプリは3ボタンだし、ただのショートカットがほとんど

ショートカット以外の使われ方してるアプリってどれだけある?
0019デフォルトの名無しさん2006/10/20(金) 18:02:27
ボタン5個も何に使うの?
0020デフォルトの名無しさん2006/10/20(金) 19:06:46
ブラウザやファイラで「進む」・「戻る」に便利に使ってるよ。
でも5ボタン必須のアプリなんて、ちょっと思い当たらない。

ホイールでスクロールみたいに、あれば便利って程度かな。
0021デフォルトの名無しさん2006/10/20(金) 19:28:11
ホイールは定着したけど、5ボタンは流行らなかったね。
0022デフォルトの名無しさん2006/10/20(金) 19:37:48
まわりの奴におしえても、使わないんだよね。ホイールは使うようになったけど。
0023デフォルトの名無しさん2006/10/20(金) 19:44:55
3ボタンでも真中は特別使い道がない。
0024デフォルトの名無しさん2006/10/20(金) 20:59:58
進む戻るだけは俺も使ってるけどあれはショートカット効果だけだからなぁ
4以上のボタンを使ってるわけではないだろう
0025デフォルトの名無しさん2006/10/20(金) 22:03:08
>>23
ネトゲではよく使うお
0026デフォルトの名無しさん2006/10/20(金) 22:38:17
>>23
自動スクロールに対応してればちょくちょく使うよ。
あとFirefoxだとタブを簡単に閉じられるしね。
0027デフォルトの名無しさん2006/10/20(金) 22:56:14
Firefoxだと通常のクリックが真ん中ボタンといえるくらいだ
考えて左クリックを使う
0028デフォルトの名無しさん2006/10/20(金) 22:57:34
そういやそうだね
いつも新しいタブで開いてるや
0029デフォルトの名無しさん2006/10/20(金) 23:09:59
>>25
5ボタンも、そんなところでしょ。
0030デフォルトの名無しさん2006/10/20(金) 23:33:46
7ボタンとチルトホイールはどうだろう?
0031デフォルトの名無しさん2006/10/21(土) 00:12:53
ところで、ゲームパッドに標準で対応してほしい。あとタブレット
0032デフォルトの名無しさん2006/10/21(土) 00:16:50
ゲームパッドってどんなOSにも標準で対応してたっけ?
積集合OSであるJavaにはそういう限界があるよ。
タスクトレイやブラウザとかがJava6に出てきただけでも感慨深い。
0033デフォルトの名無しさん2006/10/21(土) 00:42:22
対応していないメジャーOSはないはずだし
一部だけで動く実装でも1.4以降は投入されてるから理由にならん
0034デフォルトの名無しさん2006/10/21(土) 00:44:21
MSXのようにパッド0番目はキーボードとかいう実装にしておけば
キーボードとパッド両対応作る手間がないし未対応OSであっても問題ないんじゃね?
0035デフォルトの名無しさん2006/10/21(土) 05:42:06
あ、1chip MSXの入金忘れてた
0036デフォルトの名無しさん2006/10/21(土) 23:38:55
ちょ、全然スレ違いw

5ボタンなんてケチくさいこと言わず、101個ボタンつけたらどうよ?
で、ボタン押すと文字が入力されるようにしておくの。
そしたらキーボード要らないじゃん。
0037デフォルトの名無しさん2006/10/21(土) 23:46:22
>>36
それ、キーボードじゃん!!!

あー、食いついちゃった。orz
0038デフォルトの名無しさん2006/10/22(日) 12:46:45
Choiceで選択してButtonで実行てどうやるんですか?
0039デフォルトの名無しさん2006/10/22(日) 14:03:03
ChoiceとButtonを用意してButtonのActionListenerに処理を実装すればいい。
0040デフォルトの名無しさん2006/10/22(日) 14:25:35
Choiceってのはなんだ?
0041デフォルトの名無しさん2006/10/22(日) 14:43:33
public void itemStateChanged(ItemEvent f) {
String a = (String)f.getItem();
if( a.equals("A") ){
}
else if( a.equals("B") ) {
}

}
public void actionPerformed(ActionEvent e) {
if( e.getSource() == b1 ) {

}
}

処理の部分でどれをチョイスしたか分かるようにしたいんですが
0042デフォルトの名無しさん2006/10/22(日) 16:02:55
>>41
ButtonGroupを利用しなされ
ButtonGroupに、JRadioButtonをaddしておき、
actionが起こったときに、ButtonGroupからgetSelection()で選択されたものを取ればOK
0043デフォルトの名無しさん2006/10/25(水) 06:13:08
AWTは1コンポーネント=1ウインドウだからシステムリソースを食いまる問題って解決されたの?
0044デフォルトの名無しさん2006/10/25(水) 07:04:53
誰も使ってないのに何が問題なの?









0045デフォルトの名無しさん2006/10/25(水) 12:41:50
AWTはスレ違い
0046デフォルトの名無しさん2006/10/26(木) 05:13:03
>>43
AWTコンポーネント自体使うことが推奨されてないから解決されることはない。
0047デフォルトの名無しさん2006/10/26(木) 08:24:56
SWYスレっていつの間にかなくなってたんだね
0048デフォルトの名無しさん2006/10/26(木) 12:39:25
>>46 誰が推奨してないの?
0049デフォルトの名無しさん2006/10/26(木) 18:39:53
おれおれ
0050デフォルトの名無しさん2006/10/27(金) 01:50:11
ゴスリンから大切なお知らせとお願いです。
古い年式のウィジェットを探しています。
ネイティブにピアを生成するタイプで、ご覧のバージョンの JDK の引き取りや、アップデートを行っています。
対象 JDK は万一の場合、訴訟事故に至るおそれがありますので、直ちに使用を中止していただき、
至急、ご連絡をお願い申し上げます。

      ____  . .| |
    /\二___\.. | |
    |\/‖   '''.|  | |    DUKE
    | |  ‖┌┐ .|  | |     ↓
    | |  ‖└┘ .|┌|=.|ヽ_ ゝノ゛
    | |  ‖    .|二| |回_  ●>
    | |  ‖    .|└|=.|/    〆
    |ミ.|  ‖    .|  | |
 |\ノ.|ミ.|  ‖    .|  | |
 |_》 | |  ‖    .|  | |
    \|_‖____.|  | |
0051デフォルトの名無しさん2006/10/30(月) 08:14:49
旧い入門書だとSwingすらサンプルがねぇw

で、SWTスレどしたのよ。
0052デフォルトの名無しさん2006/10/30(月) 19:57:31
こっちの方が良かったかな…。

Java SE 6ではActionにSELECTED_KEY、DISPLAYED_MNEMONIC_INDEX_KEY等が追加されたんだね。
今まで何でないのか不思議だった。AbstractButtonにもHideActionTextプロパティが追加されてる。
0053デフォルトの名無しさん2006/11/04(土) 00:43:50
質問なのですが
ttp://www.gremlin.jp/yada/java_JTable/SimpleRowHeader.htm

↑のアプレットみたいに、ウィンドウサイズを変えたら、そのウィンドウと同じサイズにJTable
をリサイズするにはどうしたらいいのでしょうか?
ComponentListenerを使うのでしょうか?
0054デフォルトの名無しさん2006/11/04(土) 01:04:21
>>53
よくわかんないけど、普通に貼り付ければこうなるんじゃないんだっけ?
BorderLayoutでCenterに配置するとか。
0055532006/11/04(土) 01:41:03
普通に貼り付けただけだど、JTableがリサイズされないで、JFrameの大きさだけが
変わってしまいます…

ウィンドウサイズと同じサイズにリサイズさせたいのですが、そのやり方わからなくて…
0056デフォルトの名無しさん2006/11/04(土) 01:45:56
>>55
レイアウトマネージャをどう使っているか次第。
NullLayoutなどだと、座標で配置されているから、ロジック書かないとリサイズはされない。

>>54が書いているように、BorderLayoutでCenterに配置するのが普通。
0057532006/11/04(土) 10:32:33
>>54,56さん

ありがとうございまいた。私の知識不足でした。レイアウトマネージャをBorderLayoutにして
CENTERに配置すればできました。

できなかった理由としてFlowLayoutとGridLayoutを使っていたためだと思われます。
レイアウトマネージャについて勉強してきます。

ありがとうございました。
0058デフォルトの名無しさん2006/11/04(土) 11:49:30
NetBeans使うというのも手
0059デフォルトの名無しさん2006/11/04(土) 12:58:25
ネット上のxxxx.jpgなどの画像ファイルをGUIに表示させることって出来ますか?
0060デフォルトの名無しさん2006/11/04(土) 13:02:45
URLクラスからopenStreamすればいいよ
0061デフォルトの名無しさん2006/11/04(土) 13:05:08
とおもったが別にImageIO.readはURLをそのまま受け取れたなw
0062デフォルトの名無しさん2006/11/04(土) 14:44:06
表示させるだけでいいなら、JLabelでHTML書けばOK。
0063デフォルトの名無しさん2006/11/04(土) 14:49:38
JavaのHTMLってどこまで準拠してんの?
0064デフォルトの名無しさん2006/11/04(土) 15:11:41
あんまり知らないけど、信用してはいけないことは知ってる。
実装がかなり前に止まっているとか。
0065デフォルトの名無しさん2006/11/04(土) 16:26:11
Swingアプリで、「HTMLのテーブルみたく表示したいんだけど。」
と聞かれて、面倒くさいから、「setTextでHTMLをセットするとOK」と答えた。

で、setTextするための、HTMLを文字列でセッセと作っていたのが、そのうち
Velocityで雛形作って、セットするようになっていた。

ほとんど、Webアプリ

そのうち、IEだと、こう表示されるのが、うまくいかないとか言われそう。
0066デフォルトの名無しさん2006/11/04(土) 16:38:25
JEditorPane#setText()したものを、HTML表示にすることってできます?
バージョン情報を表示するに、書式をいろいろ変更して使いたかったんですけど、
なんかHTMLがそのまま表示されます。
ファイルにしてsetPage()使わないとダメなのかな。。
仕方ないので、今はJTextPaneを使って、ちまちま書式設定して出してます。
0067デフォルトの名無しさん2006/11/04(土) 17:00:17
>>43
つttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/awt/1.3/designspec/lightweights.html
0068デフォルトの名無しさん2006/11/04(土) 17:05:30
>>66
自己レス。JEditorPane#setContentType("text/html")を使えばいいのね。
0069デフォルトの名無しさん2006/11/04(土) 22:17:17
質問です。
JTableの1行目のcolumnを1列目に縦に表示するには、どうすればよいのでしょうか?
0070デフォルトの名無しさん2006/11/04(土) 22:59:45
>>69
意味不明。
0071692006/11/04(土) 23:09:15
>>70
すいません。
エクセルみたいに行番号(1,2,3..)列名(A,B,C...)のような表示をつくりたいのですが…
0072デフォルトの名無しさん2006/11/04(土) 23:10:18
>>69と>>71の内容につながりが見当たらない件。
0073デフォルトの名無しさん2006/11/04(土) 23:18:16
列ヘッダ(A,B,C...)は、普通にJTableにある機能でできる。
分からなければ、JTable自体を基礎から勉強すべし
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

行ヘッダ(1,2,3...)は、JTableにはそんな機能ないから、それっぽく見せる実装をしなければならない。
>>5にある、為政氏のサンプルにある。
http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples1.html
0074692006/11/04(土) 23:30:21
>>73

JTableにはもともとないんですね…
サンプル大変参考になりました。

ありがとうございました。
0075デフォルトの名無しさん2006/11/05(日) 22:21:18
なんか質問な〜い?ただいまSwing勉強中。
0076デフォルトの名無しさん2006/11/06(月) 00:33:11
>>75
システムフックの方法が知りたいけどSwingの話題じゃないので黙っておく
0077デフォルトの名無しさん2006/11/06(月) 00:44:13
質問
フォーカストラバーサルサイクルルートについて詳しく
0078デフォルトの名無しさん2006/11/06(月) 09:04:51
>>77
初耳だ。ちらっと見た感じだと、
TABを押した時なんかの、
次にフォーカスを与えるコンポーネントを探すクラスかな?
今まで使う場面が出たことがないけど、
FocusTraversalPolicyを継承してクラスを作れば、
コンポーネントの値とかでも順序を付けられたりするみたい。
質問が具体的なら、もう少し調べてもいいが。
0079デフォルトの名無しさん2006/11/06(月) 13:27:23
JTableの中のセルにJPanelいれたときとかこれいじらんとだめだよな
0080デフォルトの名無しさん2006/11/06(月) 19:38:24
>>78
具体的じゃないけど便乗で
5.0 -> 6.0 でフォーカス関係で変わった事ってまとめてるとこないかな?
5じゃ動いてたコードが6で動かなくなっちゃったから・・・
0081デフォルトの名無しさん2006/11/06(月) 19:54:29
>>79
なるほど。

>>80
ごめんなさい、わかりません。
思ったとおりにリスナーが呼ばれないとか、そんな感じですか?
0082デフォルトの名無しさん2006/11/06(月) 22:00:45
>>80
まじか
そのへんまではまだ詳しく調べてないけど困るな
正式版が出たらチェックしようという状態だったがSwingに大幅に手が入ってるのなら別だ
Sunなにやってるんだよ〜
1秒でわかるSwingのバグつきを夏にリリースしてたし

まぁ5.0でJavaSoundの挙動が大幅に変更されたりとか
日本語印刷が通らないあたりでおかしい気はしたが
■ このスレッドは過去ログ倉庫に格納されています