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

Java低速GUI Swing 8
スレリンク(tech板)
Java低速GUI Swing 7
スレリンク(tech板)
Java低速GUI Swing 6
スレリンク(tech板)
Java低速GUI Swing 5
スレリンク(tech板)
Java低速GUI Swing 4
スレリンク(tech板)
Java低速GUI Swing 3
スレリンク(tech板)
Java低速GUI Swing 2
スレリンク(tech板)
Java低速GUI Swing
スレリンク(tech板)l50

2:デフォルトの名無しさん
09/12/19 23:14:24
VisualStudioのようなポトペタ開発環境がほしい!!
NetBeans
URLリンク(www.netbeans.org)
Eclipse+VisualEditorPlugin
URLリンク(www.eclipse.org)
URLリンク(www.eclipse.org)
Jigloo
URLリンク(cloudgarden.com)

3:デフォルトの名無しさん
09/12/19 23:15:08
AWTもターゲットに入ってていいんだよね?

Q. AWT と Swing 混ぜちゃ駄目って聞いたんですけど
  混ぜちゃ駄目なんですか・・・・?
A.
 今まででは、「駄目」というのが正解です。
 が、現在開発中(未リリース)のバージョンではSwingとAWTの混在ができるようになっています。
 正式リリースがされるまで、情報の錯綜があって混乱すると思いますが
 普通の人にとっては「まだ駄目」という状況だと思ってください。

Q. Nimbusって何よ。
A.
 次期Swingの標準となるとされているLAFです。
 元々は、SUNのGnome環境のテーマに使われていた見た目を移植したものになります。
 実装にはXMLベースでLAFを定義できるSynthLookAndFeel を利用しています。
 jdk6の開発版で試す事ができます。

Q. こんなプログラムを作れって言われたんですが・・・
A.
 宿題スレへどうぞ。

Q. なんでスレタイに低速って入ってるの?
A.
 まだまだ速くなるってことさ。

4:デフォルトの名無しさん
09/12/20 00:19:25
スレ立て乙

Nimbus って、今でも JDK でしか使えないの?
うちの環境では JRE でも Nimbus が使えるけど。
JDK もインストールしてあるから、
JRE が JDK 付属の Nimbus を読み込んでる?


5:デフォルトの名無しさん
09/12/20 00:40:25
Nimbusサポートは6u10以降だから、
前スレ開始とほぼ同じ時期の登場だったかな。

次スレで直せばOKじゃない?

6:デフォルトの名無しさん
09/12/20 01:33:10
XAML使えるようにならないかなあ

7:デフォルトの名無しさん
09/12/20 12:23:00
>>6
はあ?

8:デフォルトの名無しさん
09/12/20 13:27:31
このスレpart10だからな。
前1がSwing/AWTスレ8をディスったからテンプレにないだけで。

9:デフォルトの名無しさん
09/12/20 13:36:32
>>8
Swing/AWTスレ8のアドレス希望

10:デフォルトの名無しさん
09/12/20 14:00:26
断る

11:デフォルトの名無しさん
09/12/20 16:00:39
>>8
Disられてるのは、↓のスレタイじゃないの?
> Java低速GUI Swing 6
> スレリンク(tech板)

12:デフォルトの名無しさん
09/12/21 10:52:10
jtableでソート出きるように変更したら、うまく背景色が表示できなくなりました
どなたか、教えてください

//2列目以外はすべて、数字でソートする。
model = new DefaultTableModel(columnName, 0) {
 @Override
 public Class getColumnClass(int columnIndex) {
  if(columnIndex == 1) return String.class;
   else return Integer.class;
  }
}

//奇数行は白、偶数行は水色で背景を塗りつぶす。
private static class TestTableCellRenderer extends DefaultTableCellRenderer {

private static final Color BGCOLOR = new Color(135, 206, 250);

 @Override
 public Component getTableCellRendererComponent(JTable tb,
  Object val,boolean isSelected, boolean hasFocus,int r,int c){

   setBackground(r % 2 == 0 ? Color.white : BGCOLOR);

   return super.getTableCellRendererComponent(tb,val, isSelected,hasFocus,r,c);
  }
}


13:デフォルトの名無しさん
09/12/21 12:48:48
今は無理

14:12
09/12/21 14:38:45
>>13
どうしようもないってこと?

15:デフォルトの名無しさん
09/12/21 20:07:01
>12
エスパーすると、レンダラーの設定をString.classのカラムに対してやってない?
table.setDefaultRenderer(Integer.class, new TestTableCellRenderer());
にしないとダメだよ

16:デフォルトの名無しさん
09/12/21 22:17:54
swingについて質問
コンポーネントAをコンポーネントBにadd()し、コンポーネントCにもコンポーネントAをadd()します。
その後にBとCを表示してみると、Bがうまく表示されません。
どのようにしたら、B、CどちらにもAを表示させる事ができますか?

JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
panel1.add(label);
panel2.add(label);
frame.add(panel1, BorderLayout.NORTH); ←表示されない
frame.add(panel2, BorderLayout.SOUTH);



17:デフォルトの名無しさん
09/12/21 23:30:15
そもそも一つのコンポーネントを複数のコンテナに含めることができるのか?

18:デフォルトの名無しさん
09/12/21 23:40:20
>>16
コンポーネントAがBに表示されずCにしか表示されないということであれば、
コンポーネントAを2つ生成(内容は同じだが別のオブジェクト)して、
一方をコンポーネントBに、もう一方をコンポーネントCにadd()するしかないかと。

JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
panel1.add(label1);
panel2.add(label2);
frame.add(panel1, BorderLayout.NORTH);
frame.add(panel2, BorderLayout.SOUTH);


19:16
09/12/21 23:57:13
画面のレイアウトが2種類あるのですが、ユーザに画面レイアウトを選ばせたいと考えています
ちなみに、レイアウトが替わっても表示するものは同じです

JPanel panel1 = new JPanel(); ← レイアウトA
JPanel panel2 = new JPanel(); ← レイアウトB
panel1.add(label); ←表示するもの
panel2.add(label);

>>18
表示する物が同じだから1つのインスタンスでどうにかしたい
と思いました


20:デフォルトの名無しさん
09/12/22 02:58:29
>>19
CardLayout


21:20
09/12/22 03:00:07
ごめん勘違い。

同じものを配置替えするという方法を取るところだろうね。


22:デフォルトの名無しさん
09/12/22 04:01:20
ユーザーがレイアウトを選ぶたびに
BかCに add し直すしかないのでは


23:デフォルトの名無しさん
09/12/22 04:21:44
同意

24:16
09/12/22 10:14:08
やっぱり、add()し直すしかないですよね
実装する時に手を抜きたかったのですが、無理ですね
ありがとうございました

25:デフォルトの名無しさん
09/12/22 11:19:57
ある画面実行中に、各Componentの登録済み全イベント処理クラスを知りたいのですが、
Component#getListeners(Class<T> listenerType)の中にあるリスナー群がすべてのイベントになるでしょうか?
つまりgetListeners(各イベントクラス)を10イベントリスナークラス分実行してとれたものを、
これ以外のイベント処理クラスは使用していません、と言いきれるものになるでしょうか?

26:デフォルトの名無しさん
09/12/22 11:26:13
何をしたいかよくわからないんだが、とりあえず、10ってどこから出てきた数?

27:デフォルトの名無しさん
09/12/22 15:52:07
>>26
Component#getListeners(Class<T> listenerType)の中で使われてゐたリスナークラスの種類です。

28:デフォルトの名無しさん
09/12/22 15:59:48
事実上、リスナーってインタフェースだからな。
ActionListenerとMouseListenerどっちも実装してるクラスとかあっても、
ちっとも珍しい話ではない。

getListenersで得られたアクションリスナが、
実はマウスリスナでもありました、
というのは自前でinstanceof演算子で判定するしかないのでは。

とエスパー回答。何がしたいかわからんが、java.util.EventListenerProxyも
読んどいた方がいいような。

29:デフォルトの名無しさん
09/12/22 18:07:29
>>27
あぁ、10の意味がわかった
その中に Button とかでよく見る ActionListener が無いのが不思議ではなかったか?
残念ながら Component#getListeners はサブクラスでオーバーライドされている
全部の一覧を得るのは無理じゃない?

30:デフォルトの名無しさん
09/12/22 18:14:03
>>29
うーん。でもJButtonのgetListenersはオーバライドされていないんだよね…

31:デフォルトの名無しさん
09/12/22 18:19:48
JComponentのオーバーライドが効いてる
JComponent以下はEventListenerListを使っててどんなリスナでも入る

32:デフォルトの名無しさん
09/12/22 18:24:55
>>31
おお、すみません。見落としてました。
対象部品のgetListeners呼んでおけば各部品の全イベントが取れそうですね。


33:デフォルトの名無しさん
09/12/22 19:52:37
教えて下さい
今SourceForgeでJavaMIDIMixer作ってるモノですが
MDIウィンドウを画面の下や右にピタッっと張り付ける
そんな事を実現するスタンダードな手順はありますでしょうか?

34:デフォルトの名無しさん
09/12/22 22:10:19
>>33
MDIってことはJDesktopPaneとJInternalFrameか。

ドラッグして外周に近づいたら吸い付くってやつなら
URLリンク(terai.xrea.jp)
こんなの?


35:デフォルトの名無しさん
09/12/22 22:50:44
ありがとうございます^^
これはすばらしいですね

36:デフォルトの名無しさん
09/12/22 23:51:54
ドッカブルでドラッガブルなGUIならDnDAPI使って自前で作ったがjava.netの何処かでみたぞ。

37:デフォルトの名無しさん
09/12/23 22:55:08
JScrollPaneにJTable、JTextPaneなどを追加すると、最小限(現在選択している場所)の描写しかしませんが
どうやって、実装してるんですか?ヒントをください

38:デフォルトの名無しさん
09/12/23 22:57:33
InvalidateRectのこと?

39:37
09/12/23 23:05:40
JPanelあたりを継承して、それをJScrollPaneに追加したいな〜と思ったので

40:デフォルトの名無しさん
09/12/23 23:14:23
Graphics#getClipBounds

41:デフォルトの名無しさん
09/12/23 23:20:25
>>40
JTableのソースを読むと、そんな低レベルのメソッド使ってませんよ

42:デフォルトの名無しさん
09/12/23 23:23:44
そりゃ描くのはJTable自身じゃないからな
BasicTableUIみてみろ

43:デフォルトの名無しさん
09/12/23 23:26:39
JTableのソースなんて読まなくていいの
ためしに、JPanelにボタンとかリストボックス配置して、
JScrollPaneでそのJPanelかこってみなさいよ

Graphics2Dとかが自動的に処理してくれるから、ボタンもちゃんと押せるし、ほかの部分の描写かからないし
画像を張りたいなら、スクロール関係なしで、グラフィックを描写するPanelを設計して、

JScrollPane -> JPanel -> Layout -> グラフィックPanelクラス

の順番でつなげればいいだけ

グラフィックパネルの中ではそういうの必要ですけどね、

JTableはJTableUIのソースを見る必要がありそうですね

がんばってね!

44:37
09/12/23 23:32:06
>>42-43
ひとまず、調べてみる
ありがとう

45:デフォルトの名無しさん
09/12/24 00:01:46
まてまて。ここは JViewport の setScrollMode() の賢さを讃えるところじゃないのか?

46:デフォルトの名無しさん
09/12/24 00:33:36
JViewPortのJDKドキュメントの「高速スクロールアルゴリズム」解説とやらに
知りたいことは全部書かれてる気もするが

47:デフォルトの名無しさん
09/12/24 13:22:51
セルの話かと思ったらテーブル全体の話か

48:デフォルトの名無しさん
09/12/24 13:53:54
D&Dで部品の配置を変えるGUIツール的なものを作りました。
自由に配置移動やボタンの追加等行って、それを保存呼び出ししたいと考えてますが、
その場合余計なことをせず、TOPのフレームをシリアライズANDデシリアライズで実現できそうでしょうか?
ComponentがSerializableなので、シリアライズ保存は想定されているんですよね?

49:デフォルトの名無しさん
09/12/24 14:47:00
一応想定されてるんですが、バージョン間の互換性は保証されていません
XMLEncoder/XMLDecoderの方がいいかもしれません

50:デフォルトの名無しさん
09/12/24 15:36:00
互換性って、JDKのバージョンでなく対象クラスのバージョンですかね?

51:デフォルトの名無しさん
09/12/24 16:00:07
Swing各クラスのJavadocに下記の文がいちいち書いてある

> 警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。

52:デフォルトの名無しさん
09/12/24 20:16:59
JButtonでボタンをクリックすると、あらかじめ登録しておいた内容を実行しますが
だれが、あらかじめ登録していた内容を呼び出すのですか?

53:デフォルトの名無しさん
09/12/24 20:41:17
>>52
どういう内容が知りたいのか図りかねるが
取り敢えずEDTと答えておこう。

54:デフォルトの名無しさん
09/12/24 20:41:56
>>52
JButtonの中の人
厳密にいえばAbstractButton#fireActionPerformed
その呼び元はDefaultButtonModel#setPressed
ButtonUIの中の人がマウスリスナかなんかを使ってマウスの動きを見てsetPressedを呼ぶ

55:52
09/12/24 20:46:07
>>53
単純に誰が呼び出しているか知りたいだけで、
とくに意味はありません
thx

56:デフォルトの名無しさん
09/12/24 21:43:01
IDEでプロファイラ動かすと、Swingアプリの見えないとこでうごめいている
小人さんスレッドがたくさん観察できるよ

※ コンソールからスレッドダンプでもおk

57:デフォルトの名無しさん
09/12/25 01:41:34
イベントとかコールバックとか、
たしかに初めのうちは分かりにくい仕組みではあるよな


58:デフォルトの名無しさん
09/12/25 11:53:30
各画面間の変数アクセスの最良の方法は何でしょう?
画面作成時のコンストラクタで親画面や操作したい画面を渡す?
画面をグローバル(public static)にする。

なんかstritsみたいにこれで行こうフレームワークはないですかね?

59:デフォルトの名無しさん
09/12/25 13:00:35
MVCで設計を見直せばOKでは。
ControllerにViewとModelぶらさげて、
Viewから親画面と子画面をたどり
Modelから親データと子データをたどれば
画面間で変数アクセスできなくても無問題。

Webアプリとやらの「自称MVC」とはたぶん違うので注意。

60:デフォルトの名無しさん
09/12/25 13:27:00
今のところこれで行こう的なフレームワークとかってないんですかね?
もしくはそんな動向の噂とか…
なるべく先をにらんだ設計にしたいもので

61:デフォルトの名無しさん
09/12/25 13:42:32
ラベル、ボタン、チェックボックスなどをD&Dして表示位置を変更したいのですが、
JRE、サーとパーティのライブラリ問わずに、適した便利なクラス(マウスリスナー?)知っていたら教えてください。


62:デフォルトの名無しさん
09/12/25 14:41:03
>>61
こんなん作ったけど、いまいちうまく動かん。
int x ;
int y;
boolean init = false;

public void mouseMoved(MouseEvent e) {

Component c = (Component)e.getSource();
if (!init) {
init = true;
x = e.getX();
y = e.getY();
return;
}

c.setLocation(c.getX() +(e.getX() - x), c.getY() +(e.getY() - y));
x = e.getX();
y = e.getY();
}

63:デフォルトの名無しさん
09/12/25 17:39:53
アプレットでブラウザの×ボタンを押して終了したときに、そのイベントを拾うことっててきますでしょうか?

64:デフォルトの名無しさん
09/12/25 19:01:25
  │A..  B
─┼──
.a │
.b │
Jtableの質問です
上記のような縦列表を作りたいのですがどうすれば良いのでしょうか
表の空欄には数値データを入れて計算等が出来るようにしたいと思っています

65:デフォルトの名無しさん
09/12/25 19:16:09
>>63
destroy()メソッドが呼ばれたときに中でメッセージを表示したりは
できるけど、閉じるのを防ぐことは出来ないと思う。


66:デフォルトの名無しさん
09/12/26 10:49:36
>>64
new JTable(3,3)

67:64
09/12/26 12:04:16
説明不足で申し訳ありません
列ABにString[]、行abにString[][]を使って
JTable table = new JTable(String[][],String[])としたのですが、
String[][]を使ったために空セルにInt型のデータを入れられません
どうすれば列AB行abを残したまま空セルに数値データを入れられるのでしょうか

68:デフォルトの名無しさん
09/12/26 12:08:11
String.valueOfで文字列化するというのは?

69:デフォルトの名無しさん
09/12/26 12:54:57
表計算ソフトのようなテーブルを作るなら、
セルレンダラーやセルエディタを駆使しないと難しいよ。

70:64
09/12/26 13:33:55
>>68
>>69
ひとまずチャレンジしてみます
ありがとうございます

71:デフォルトの名無しさん
09/12/26 14:07:03
さがせばスプレッドシートのライブラリあるけど?

72:デフォルトの名無しさん
09/12/28 12:39:08
JScrollPaneの中でJViewportがどの様に動いているか研究しているのですが、
スクロールバーをクリックした後に、JScrollPaneのどのメソッドが呼び出されているのかわかりません
どなたか教えてください

73:デフォルトの名無しさん
09/12/28 15:56:07
スクロールバーをクリックすると、JScrollBarが持ってるBoundedRangeModelのsetValueが呼ばれる
それによってそのBoundedRangeModelに登録されたChangeListenerが起動する
BasicScrollPaneUIがここにChangeListenerを登録していて、その中でJViewport#setViewPositionを呼んで表示範囲を調節している
JScrollPaneはJViewportとJScrollBarとScrollPaneUIを管理しているだけ

74:デフォルトの名無しさん
09/12/29 10:08:01
一般的なダイアログみたいに右下にボタン配置したいんだけど、どういった風にレイアウト組むのが自然?

75:72
09/12/29 11:39:40
>>73
ありがとうございます

76:デフォルトの名無しさん
09/12/29 11:48:24
tes

77:デフォルトの名無しさん
09/12/29 16:12:26
BorderLayoutのPAGE_ENDに置いたBorderLayoutのLINE_ENDに置いたGridLayoutにボタンを置くのが俺流

78:デフォルトの名無しさん
09/12/29 16:35:53
GridBagConstraints.SOUTHEAST でええやん

79:デフォルトの名無しさん
09/12/30 00:03:27
JSliderでツマミのマウスドラッグにより変更された際、ChangeListenerのの中で
((JSlider)e.getSource()).setValue(0);
とかやっても、内部的な値は0にされるのですが、ツマミの位置がドラッグされた場所になってしまい
整合性がなくなってしまいます。これを防いでツマミも0の位置に合わせるにはどうすればいいでしょうか?

80:デフォルトの名無しさん
09/12/30 00:08:36
SwingUtilities.invokeLater

81:デフォルトの名無しさん
09/12/30 00:09:19
あと、e.getSource()とかやめた方がいい

82:デフォルトの名無しさん
09/12/30 01:22:26
SwingUtilitiesよりEventQueueを使ったほうがいい

83:デフォルトの名無しさん
09/12/30 01:22:52
ありがとうございます。
>>80
なんか振動?みたいな動きをしましたが、結局何も解決しませんでした。
>>81
なんでです?調べるキーワードも分からなかったんですが


84:デフォルトの名無しさん
09/12/30 02:10:06
>83
たぶん振動するのは
1.スライダーが動く
2.スライダーの値が0になる
3.マウスがスライダーの上にあるのでスライダーが動く
これが繰り返されてるんだと思う。
スライダーをドラッグしたときどうしたいかがよくわからない、もう少し詳しく話してほしい

85:デフォルトの名無しさん
09/12/30 06:06:09
なんでそんな不便なUIをおつくりなのか、状況が把握できていないので、確実に悪とはいえませんが、、
Swingは、スレッドセーフではないので、操作するときは、invokeLaterは、ほぼ必須です。
ちなみに、invokeLaterは、SwingUtilitiesでもEventQueueでも一緒ですね。

スライダーがかたかたいうのは、
スライダーに値をセットする前に、
マウスをはなした事にするイベントを、
擬似的に発生させれば回避できるかと思います。

86:デフォルトの名無しさん
09/12/30 06:07:13
こんな感じで、スレッドが値と表示値を破壊しないようにできます。

if (EventQueue.isDispatchThread()) {
SwingUtilities.invokeAndWait(runnable);
}else {
SwingUtilities.invokeLater(runnable);
}



87:デフォルトの名無しさん
09/12/30 06:09:48
e.getSource()は、ソースを見てもどのスライダーなのか、把握できないので、お勧めしません。
JSlider jSliderXXXXXなどと、パネル(フレームでも)のメンバー変数として、準備し、
そちらへアクセスしましょう。

88:デフォルトの名無しさん
09/12/30 06:14:15
せめて、e.getSource()の使い道はこれくらいですかね。

if(e.getSource() == jSliderValueA) {
jSliderValueA.hoge();
}eles if(e.getSource() == jButtonX) {
jButtonX.setXXX();
}



89:デフォルトの名無しさん
09/12/30 10:06:54
JSlider#getValueIsAdjusting()の説明は読んだか?

90:デフォルトの名無しさん
09/12/30 13:36:15
JSliderの値を反映させないようにってことなら、MouseListener.mouseReleased()でsetValueすればいいんじゃない?

91:デフォルトの名無しさん
09/12/30 17:13:53
>>87
でももし、明らかな場合はいいよね?ローカル変数にコンポーネントのインスタンス作っては
無名リスナークラスを設定しまくってるから、数十行の間に全ておさまってるんだけど・・・

92:デフォルトの名無しさん
09/12/30 20:19:26
コンストラクタで渡すのが理想だけど、無名クラスならこういう風にすれば?
final JSlider target = slider;
slider.add○○Listener(new ○○Listener(){
 public void ○○(○○Event e){ target.・・・; }});

>85
SwingUtilitiesはEventQueueのカバーメソッドなのでなるべくEventQueueを使うように、とどっかに書いてあった

93:デフォルトの名無しさん
09/12/30 20:50:18
>>85
やっぱり不便ですね。皆さんありがとうございました。

94:デフォルトの名無しさん
09/12/30 22:43:21
>なるべくEventQueueを使うように
これswingの実装を知ってる必要があるんじゃね?

95:デフォルトの名無しさん
09/12/31 00:13:30
staticメソッド呼ぶだけだって。
EventQueueのカスタム化も大した労力ではないが。

96:デフォルトの名無しさん
09/12/31 10:51:30
TimerQueueがpublicなら・・・

97:デフォルトの名無しさん
09/12/31 11:57:09
現在JTextAreaで入力を行っていて、入力時のイベントをDocumentListenerで受け取っているんですが、
漢字などの変換決定時に同じ文字のRemoveイベントとInsertイベントが飛んできてしまいます。
例えば"ねこ"を"猫"に変換するときに
INSERT ねこ
  [変換する]
REMOVE ねこ
INSERT 猫
  [変換決定]
REMOVE 猫
INSERT 猫

まぁ、動作としては正しいのでしょうが、こちらのプログラムの仕様上どうしても最後の重複した猫が
大きな無駄になってしまうので、なんとか変換決定イベントを知りたいのです。
もちろんRemoveイベントも受け取らなくてはならないのでRemoveを無視すれば?というわけにはいきません・・・。
キーイベントかなんかで頑張るしかないのでしょうか?(バグが出そうですが)

98:デフォルトの名無しさん
09/12/31 15:12:59
InputMethodListener使ってInputMethodEventを見張る。

イベントのgetText()やgetCommittedCharacterCount()の長さを
デバッグ文で観察しつつ、いろいろなかな漢字変換操作を試してみよう。

確定した瞬間をとらえる判定式が、おのずと導けると思う。
細かいことは忘れた。

99:デフォルトの名無しさん
09/12/31 15:31:52
普通にprocessEvent辺りだと思うんだが何でそんな面倒に考えるの?

100:デフォルトの名無しさん
10/01/01 00:43:13
なんかややこしそうなので妥協します・・・
ありがとうございました

101:デフォルトの名無しさん
10/01/01 02:57:20
上限4文字Maxの都道府県入力フィールドで
「わかやまけん」とか読みを入力するときだけリミッターを外すとか
みんなしてないのかな?

102:デフォルトの名無しさん
10/01/01 03:02:32
都道府県入力フィールドに入力制限なんてつけないもの・・・
表記ゆれが怖いからコンボボックスじゃない?普通

103:デフォルトの名無しさん
10/01/01 03:47:10
ある程度出来てから調整したほうがいいよ。
たぶん一から作り直しになるだろうけど、frameworkとかlibrary化するってのはそういうものだと諦めたほうがいいだろう。
その変換で無駄な感じとは思っていても、たいていは思ってたほどコストでもないからそのまま逝っちゃうってのがおおいけど。

104:デフォルトの名無しさん
10/01/01 04:24:47
文字一つごとに膨大な計算をするのでフォントが複雑だと体感できるほどに遅くなることがあるんですよね。
入力中もリアルタイムで見た目を更新するので、うひゃ〜なんですけど、時間があればやります。ありがとうございました

105:デフォルトの名無しさん
10/01/04 13:20:12
同じデータを用いて2つのテーブルを作りたいのですが、
1つのフレームに複数のテーブルを設置する事は出来るのでしょうか?
また、フレームを2つ作った場合、片方のテーブルのデータを変更した時に
もう片方のデータも同時に自動で変更するという事は出来るのでしょうか?

106:デフォルトの名無しさん
10/01/04 14:01:37
>105
同じデータを使ってTableModelを作ればいいだろう
JTable自体は二つ、TableModelを共通のものとかにすれば自然とそうなるんじゃないか?

107:ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG.
10/01/04 20:33:06
>>105
JavaAPIのJavadocからもリンク張られてるけど、
URLリンク(java.sun.com)
あたりも読んでみては。

106の方も言ってるけど、
この図のうち、
(TableModelやAbstractTableModelを継承した)Table Model Objectを1インスタンス、(JTableを継承した)Table Objectを2インスタンス作る。
んで、2つのTableのイベントリスナを同じModelに登録(addTableModelListenerメソッド)しとけば、
Model変更時にfireTableDataChangedみたいなメソッドで双方のTableに通知できる。


入力に使った方のTableも、入力イベントじゃなくて、
もう一方の方と同じようにfireイベントで更新しないといけないんじゃないかな。
(入力イベントで行うのはModelの更新だけ。もちろんModelの先にあるTable Dataも更新されるだろうけど。)

108:デフォルトの名無しさん
10/01/07 20:34:19
ID、パスワード用のテキストボックスがメインのログイン画面があり、
htmlみたいにデザインを変更したいとの要求が上がっています。
Swingのhtml的デザインってどこまでできるのでしょうか?

109:デフォルトの名無しさん
10/01/08 11:33:11
>>108
HTMLを使ったSwingコンポーネントのレイアウトは無理。

Swingの各種LayoutManagerのレイアウト機能はHTMLやCSSよりはるかに優秀。
リキッドデザインとかお手の物。CSSハックとかバカバカしくなって、戻れなくなるよ。

110:デフォルトの名無しさん
10/01/08 11:44:16
htmlはcellも少ないしテーブルでいいのかなって思うけど何がダメなの?

111:デフォルトの名無しさん
10/01/08 12:36:16
だめなとこなんかどこもないよー
でもswingのhtmlがレイアウトできるのはjavax.swing.text.Viewであって
swingコンポーネント(JComponent)ではないんだ
レイアウト周りのAPIは結構似てるけど。

112:デフォルトの名無しさん
10/01/08 12:54:59
108です。
アドバイスありがとうございます。
cgiからアプレットに移行したシステムで、cgiがログイン画面をhtmlで変更できますよ、としていたので、
そのままの要求がアプレットにも上がってきた形になってます。

イメージとしては、表示したいhtmlの内容を設定ファイルに書いておき、
それをロードして、そのレイアウトでアプレットの画面を表示することをしたいです。

つまり、アプリ改修なしで好きなタイミングで好き勝手にデザイン変更することが求められ、
htmlに慣れているので、html以外のデザイン変更方法は受け付けない、というのが要求です。

凝ったことはしない+入力部品はID、パスワードだけで、増減はなしです。

Swingに取り込むときの設計イメージがわきません。アドバイスいただければと思います。


113:デフォルトの名無しさん
10/01/08 12:56:51
>>112
文がおかしかったので、

cgiがログイン画面をhtmlで変更できますよ

htmlでできているのでログイン画面を自由にで変更できますよ

114:デフォルトの名無しさん
10/01/08 13:07:47
それでいくらくれるんですか?

115:デフォルトの名無しさん
10/01/08 13:11:30
DQNはweb何とかだけやってればいいのかなって思うよ。やっぱり改めてそう思った。

116:デフォルトの名無しさん
10/01/08 13:14:25
そういえばJWebPaneってJava7に入るのかな。
>>112
もしその機能が本当に重要なのであれば、
ログイン画面はApplet化しないでウェブブラウザに任せる、つまり
htmlのままおいておくべきだとおもうけど。

117:デフォルトの名無しさん
10/01/08 14:58:19
↓こういう取り組みもあるけどね。

URLリンク(ikemen.googlepages.com)

でもなー、客のレベルも相当アレそうで先が思いやられるので、
難癖付けて断るのがベストだと思う。

118:デフォルトの名無しさん
10/01/08 15:33:54
>>117
うおおお、これはすごいですね。
イメージが付いてきました。

119:デフォルトの名無しさん
10/01/08 19:32:01
こういうDQNってさ、なにげなく白い奴のしゃぶりをやっちゃって、もうフィックスしちゃってんだろうなと思った。

120:デフォルトの名無しさん
10/01/08 19:39:10
狂牛病に取り付かれたスポンジ脳と同じで、脳味噌スカスカって感じはするよね。

121:デフォルトの名無しさん
10/01/08 19:45:08
うおおお、

122:デフォルトの名無しさん
10/01/11 02:01:21
仕事で飯喰うなら、こんな所に丸投げするなよと思う。
そのうちhtmlをswingになんてアフォフレームワークを売り物にしてくる業者が出て来たら(ry

123:デフォルトの名無しさん
10/01/12 11:59:50
>>122
仕事増えるならいいじゃん。
仕事ください

124:デフォルトの名無しさん
10/01/12 23:52:11
JTextComponentのサブクラスは文字を表示することができますが、
文字列の座標情報?などはどうやって管理しているのでしょうか?

JTextComponentはDocumentインターフェイスに依存しているところまではわかるのですが、
そのあとがイマイチわかりません



125:デフォルトの名無しさん
10/01/13 07:44:57
何をしたいの?
解析したいだけならデバックすれば?

126:デフォルトの名無しさん
10/01/13 11:26:39
座標はViewが管理してます
ViewFactoryにDocumentのElementを渡して作ってもらいます

127:124
10/01/13 21:09:05
>>126
確かに、viewで管理しているみたいですね(さっき、軽く読みました)

ところで、どうやって文字を表示しているんですか?
java.awt.graphicsは使っていないみたいなんですが

128:デフォルトの名無しさん
10/01/14 10:32:08
なんかデジャヴが・・・ 前にJTableについて訊いてた人と一緒? まぁどっちでもいいけど
JButtonとかJTableとかJTextComponentとかSwingにあらかじめ用意されてるコンポーネントはみんな、
自分では描かずにButtonUIとかTableUIとかTextUIとかに処理を委譲している
だからJButtonとかJTableとかJTextComponentとかの方には表示関係のコードやマウス・キー処理のコードはない
ButtonUIとかTableUIとかTextUIとかの方にはルック&フィールごとに異なったサブクラスがあって(MetalButtonUI,等)、
それらがルック&フィールごとに異なった内容を表示し、ルック&フィールごとに異なったマウス・キー処理をしている
見るならそっち側

129:デフォルトの名無しさん
10/01/14 10:39:38
>127
View#paint(Graphics g,Shape allocation)ってあるよな?

ちなみにTextUIってのは単なるViewFactoryだ。

130:デフォルトの名無しさん
10/01/14 10:41:49
すまん。「BasicTextUIはTextUIを継承したViewFactory」の間違いだ。

131:デフォルトの名無しさん
10/01/14 22:30:28
>>128-129
ありがとうございます

132:デフォルトの名無しさん
10/01/18 19:29:12
JPanelで、paintComponent(Graphics g) をオーバーライドして描画を行う際
描画範囲がJPanelのサイズを超えた場合、自動でJPanelのサイズを拡大するには
どうすればよいですか?

133:デフォルトの名無しさん
10/01/18 19:33:46
getPreferredSizeもオーバーライドして、描画範囲が超えないようなサイズを計算して返す

134:デフォルトの名無しさん
10/01/19 08:00:54
getPreferredSizeに頼るとほとんどsetSizeが無効になりますよね?
setSizeでセットしたサイズ内で収まるようにするプログラムしたいときはnullレイアウトしかないのでしょうか。

135:デフォルトの名無しさん
10/01/19 08:36:51
getPreferredSizeがsetSizeしたものより大きな値を返さないようにするとか。


136:デフォルトの名無しさん
10/01/19 09:59:25
1.誰かがgetPreferredSize()呼んできたので100x100を返した。
2.そしたら誰かがsetSize()に80x80を渡してきたので不本意ながら従った。
3.そしたら誰かがクリップ領域10x10+20+20にしてpaintComponent()を呼んできた。

こんな状況?

クリップ領域は気にせず半径500の円弧だろうがなんだろうがガンガン描いたらよろしい。
どうしてもクリップ領域大きくしたいならrepaint(x,y,w,h)だけ呼んで
paintComponent()を終わらせればまたいつか新クリップでpaintComponent()が呼ばれる。

paintComponent()中にどうしてもコンポーネントサイズを大きくしたくなったなら
revalidate()だけ呼んでpaintComponent()を終わらせる。
そのうちgetMinimumSize()が呼ばれるので希望サイズを返す。
getPreferreSize()やgetMaximumSize()が呼ばれてもInteger.MAX_VALUEを
返しておけばいい。
やがてsetSize()が呼ばれるだろう。もし希望が叶わなくてもここは絶対服従。

137:デフォルトの名無しさん
10/01/19 10:34:24
いや違うんです。
なんか誤解してるようですが、newしたときとかでその初期セットサイズ setSize(a,b)のまま固定しておきたくて、
基本的にサイズのは変更を許さず、resizeとかのレイアウト変更によって初期セットサイズを変更されたくないって意味です。
場合によっては縮小のときだけは許すが、拡大はmax sizeはsetSize(a,b)まで。
そういうときはnullレイアウトしかないのでしょうか。
レイアウトマネージャ使うとsetSizeの設定は実質意味をなしませんよね。

138:デフォルトの名無しさん
10/01/19 10:43:42
paintComponentでやるしょりか?

139:デフォルトの名無しさん
10/01/19 10:52:20
getPreferreSize()だろうがsetSize()だろうが実際はフレームと配下のコンポーネントのバランスをLMが勝手にとるから
AWTならnullレイアウトでいいけどSwingだと修飾がJava2Dだからなぁ。
ゲームだとGUI自前だしCanvasのサイズを強制したいからnullレイアウト使うがね。

140:デフォルトの名無しさん
10/01/19 11:04:06
>>138
あまり分かってないようだけど、setSizeの質問ではswingはまったく関係ないよ。

141:デフォルトの名無しさん
10/01/19 18:29:29
>>140
描画中にリサイズしたらイベントキューが理論的に順番めちゃくちゃにならない?

142:デフォルトの名無しさん
10/01/20 19:04:26
JComponentのpaint(Graphics g)とprint(Graphics g)ってどう違うの?

143:デフォルトの名無しさん
10/01/20 21:02:39
printって印刷だぜ?

144:デフォルトの名無しさん
10/01/25 23:15:21
JTabbedPaneにadd("タイトル", JTableのインスタンス)を5回しています
JTableの列幅に変更があった場合、addした5つ全ての列幅を変更したいと考えています
どのように、すればよいのでしょうか?

145:デフォルトの名無しさん
10/01/26 11:01:06
幅だけじゃなくて列の属性が全部同じなら、全部のJTableで1個のTableColumnModelを共有する

146:デフォルトの名無しさん
10/01/26 20:47:58
>>145
thx

147:デフォルトの名無しさん
10/01/27 06:05:30
Swingでゲームを作る人がいないのはなぜですか?

148:デフォルトの名無しさん
10/01/27 06:12:28
ゲームを作るのに便利なライブラリ (画像効果など) とか手厚く用意されてるわけじゃないから。

149:デフォルトの名無しさん
10/01/28 16:49:41
fillRectで塗った色はprintComponentで再描写しても消えないの?

150:デフォルトの名無しさん
10/01/29 01:27:41
コンポーネントの描画に関して、何か誤解をしているように見える。

151:デフォルトの名無しさん
10/02/05 22:22:26
NetBeansみたいなフォームデザイナってビジネスで使えるの?
IDEのバージョンアップでデザイナそのものが使えなくなるかもとか考えると怖い。

152:デフォルトの名無しさん
10/02/06 12:14:53
GridBagLayout手書きしか使わんなー。
もちろん直接じゃなくて、ビルダークラス挟むけど。
builder.setContainer(container);
builder.setResourceBundle(resourceBundle);
builder.weight(0,0).addLabelResource("some.resource");
builder.weight(100,0).colSpan(2).add(new JButton(action));
builder.nextRow();
みたいな感じで。


153:デフォルトの名無しさん
10/02/06 20:46:47
手書きなの?
1.6からだけど、手書きならgroup layoutとかいいよ。
grid bagのさらにパワーアップしたレイアウトだからそのブルダークラスとやらと同じ感じで設定できるだろう。

154:デフォルトの名無しさん
10/02/06 23:51:42
JOptionPane の「OK」「キャンセル」みたいなデフォルトのラベルリソースってどこかから取れない?
JOptionPane でキャンセルボタンにデフォルトのフォーカスを置きたいのでユーティリティメソッド
使わないで書いていったんだけど、ボタン名を自分で指定しなきゃいけないのかな。

155:デフォルトの名無しさん
10/02/07 00:26:41
うちMacなんでAqua LaFのしか見当たらないんだけど、
com/apple/laf/resources/aqua.properties (他数言語)に
OptionPane.yesButtonText=Yes
OptionPane.okButtonText=OK
などと書いてあるなあ。


156:デフォルトの名無しさん
10/02/07 00:32:52
javax.swing.UIManager.getString(キー)
で取れそう。

ところで、
URLリンク(sites.google.com)
なんて見つけた。


157:デフォルトの名無しさん
10/02/07 01:28:10
>>154
"OptionPane.yesButtonText"
"OptionPane.noButtonText"
"OptionPane.cancelButtonText"
"OptionPane.okButtonText"
これらをキーにして UIManager.getString(String) を使う。
ロケールも指定すれば、各国語にローカライズされたテキストも取れる。
UIManager.getString("OptionPane.cancelButtonText", Locale.ENGLISH)
は "Cancel" を返す。

158:デフォルトの名無しさん
10/02/07 11:03:35
JPopupMenuにたくさんのメニュー項目を入れると、メニュー項目が画面の縦幅に入りきらなくなります。
自動的に上下にスクロールとか、2列にするとかの仕組みはありませんでしょうか。


159:デフォルトの名無しさん
10/02/07 11:51:22
>>158
こんなの見つけた。動作は見てない。
URLリンク(www.beginner-java-tutorial.com)

160:デフォルトの名無しさん
10/02/07 15:17:17
マカってホント情報弱者だな。

161:デフォルトの名無しさん
10/02/07 15:41:54
>>160
どこの誤爆?


162:デフォルトの名無しさん
10/02/07 18:34:50
>>155-157
ありがそうございます ^^

163:デフォルトの名無しさん
10/02/07 18:38:02
AWTUtilities#setWindowOpacity()
で透明度を設定すると、3回に1回くらい一瞬だけ真っ黒になるのだけれど、これはグラフィック性能がクソだからなのでしょうか?

164:デフォルトの名無しさん
10/02/07 19:16:28
>>161
たぶん、PCニュース板あたりじゃない?
あそこではMacを、>>160みたいに馬鹿にしているし

165:デフォルトの名無しさん
10/02/08 00:32:54
XP しか使ってないんだけど Windows Look and Feel って Vista や 7 だと違うの?

166:デフォルトの名無しさん
10/02/08 14:26:22
マカってホントに情報弱者だな。

167:デフォルトの名無しさん
10/02/10 10:32:30
JTableでセルごとに色を変えたいのですが、
どのように処理すればいいのでしょうか?
行ごと、列ごとは出来ましたが、
各セルごとができません。
ご存知の方がおられましたら、
ご教示していただけませんでしょうか?

168:デフォルトの名無しさん
10/02/10 10:43:53
CellRendererじゃねーの?


169:デフォルトの名無しさん
10/02/10 10:45:50
もっとちゃんとご教示していただけませんでしょうか?

170:デフォルトの名無しさん
10/02/10 11:05:04
釣りか

171:デフォルトの名無しさん
10/02/10 11:09:54
分からないなら答えなくても結構ですよ

172:デフォルトの名無しさん
10/02/10 11:13:00
URLリンク(java.sun.com)

ColorRenderer というクラスがあるから見てみ。


173:デフォルトの名無しさん
10/02/10 11:36:45
DefaultTableCellRenderer のサブクラスを作り、getTableCellRenderComponent() (だったかな?) を
オーバーライドし、スーパークラスの同名メソッドを読んだあと this

めんどくせ

174:デフォルトの名無しさん
10/02/10 12:07:42
C#にするからもういいや

175:デフォルトの名無しさん
10/02/10 15:46:45
>>170
このスレ、質問者になりすまして回答してる人がいるね。

176:デフォルトの名無しさん
10/02/10 15:51:16
この板ではよくあること

177:デフォルトの名無しさん
10/02/10 21:46:58
というか最近さらに増えた。
ニートが増えたんだろうな

178:デフォルトの名無しさん
10/02/10 21:55:21
今日はニートの日だったな。


179:デフォルトの名無しさん
10/02/10 22:27:48
卒論提出前の学部生だと予想。

180:デフォルトの名無しさん
10/02/11 09:43:02
GUI部分をnetbeansのGUIエディタで作成して,それ以外はjrubyで作る
みたいなことを簡単にできる方法ってありますか?


181:デフォルトの名無しさん
10/02/11 09:46:28
イベントリスナで jruby 呼べば良いだけじゃん。
そういうフレームワークちょいちょいと作れば?

182:デフォルトの名無しさん
10/02/11 14:21:03
SwingのEDTでスクリプトの実行って実行モデル的にどうなの?
リスナ上でやるには十分遅い処理じゃね?

183:デフォルトの名無しさん
10/02/11 21:52:10
そんな重い処理ならスクリプトなんか使うなよ。

184:デフォルトの名無しさん
10/02/12 03:11:41
ruby廚は巣に帰れよ。

スレリンク(tech板)
Ruby 初心者スレッド Part 34
スレリンク(tech板)
Rubyについて Part 39
スレリンク(tech板)
Rubyの宿題教えてください。2限目
スレリンク(tech板)
愛国Ruby
スレリンク(tech板)
魁け! Ruby 1.9.X
スレリンク(tech板)
Rubyについて(アンチ専用) Part004
スレリンク(tech板)
【ActiveScript】RubyをWindowsで使うスレ【GUI】
スレリンク(tech板)
Ruby最高や!
スレリンク(tech板)
Jython、Groovy、JRuby - どれが一番効率的?

185:デフォルトの名無しさん
10/02/18 12:58:02
で、おまいら GUI コンポーネント組み立てて行く時は上位の JPanel あたりから組み立てる派か
末端の JButton, JTextField あたりから組み立てる派かどっちよ?

186:デフォルトの名無しさん
10/02/18 15:03:13
iTextの質問ってここでよい?

187:デフォルトの名無しさん
10/02/20 11:12:02
iTextの質問ってここでよい? age

188:デフォルトの名無しさん
10/02/20 11:38:01
質問うp

189:デフォルトの名無しさん
10/02/20 21:18:02
Swing アプリ使ってるとたまに再描画がクソ重くなるんで調べてたら、ときどき
javax.swing.RepaintManager.currentManager(myframe).getVolatileOffscreenBuffer(myframe, 16,16).getCapabilities(null).isAccelerated()
これが false になってるのがわかりました。起動直後は true で、サクサク動きます。

これを防ぐ方法は無いでしょうか?

javax.swing.RepaintManager.currentManager(myframe).getVolatileOffscreenBuffer(myframe, 16,16).setAccelerationPriority(1.0f)
としてみましたが、やっぱりしばらく使ってると同じ状態になってしまいました。

環境は以下のとおりです。
Java 6u18
Windows XP 32bit
NVIDIA GeForce Go 6600 VRAM 128 MB

190:デフォルトの名無しさん
10/02/20 22:53:51
SwingかJava2Dの使い方間違えてるかVRAMのデータが使えない状態にあるんだろう。
とりあえずjavaのオプションからDirectXとOpenGLのバージョンとソースすべてうp。

191:デフォルトの名無しさん
10/02/20 23:46:18
>>190
問題のアプリは主に jEdit (URLリンク(www.jedit.org)<)

DirectX のバージョンは 9.0c です。

javaw.exe 起動時に -Dsun.java2d.opengl=true すればこの問題は起こらないんですが、
ときどき他のウィンドウと干渉してゴミが表示されたりします。これを回避するために
できれば OpenGL は使わないで済ませたいのですが、方法が見つからない状態です。

192:デフォルトの名無しさん
10/02/21 15:30:51
ソフト使うだけは板違い。

193:デフォルトの名無しさん
10/02/21 18:16:58
>>189
これ?
URLリンク(bugs.sun.com)
取り敢えず他のオプションも試してみれば。
URLリンク(www.ea.u-tokai.ac.jp)

OpenGLはOpenGLで問題あるみたいだけど。
URLリンク(bugs.sun.com)
とか。

何にしてもスレ違いですね。

194:デフォルトの名無しさん
10/02/23 00:20:02
>>193
ありがとうございます。

リンクしていただいたバグは VRAM 上のイメージとメインメモリ上のイメージとで
動作が異なると言うことで、速度低下だけが問題になっている >189 の問題とは違うもの
みたいです。

translaccel と ddforcevram がそれっぽいなぁと思って試してみたんですが、やっぱり
しばらく使ってると問題が発生してしまいました。

ソースコードに問題があるのなら修正に挑戦する気はあるのですが、再現させる手段が
さっぱりなのでどこに手を付けていいものかさっぱりな状態です。

他に同じ症状の情報が見当たらないので、やっぱり環境に大きく依存する問題なのかも
しれません。

195:デフォルトの名無しさん
10/02/23 12:33:28
beansbinding\u306eObservableListImpl.fireElementChanged(int)
ってどこからも呼ばれないの?

196:デフォルトの名無しさん
10/02/23 12:35:00
修正
beansbinding の org.jdesktop.observablecollections.ObservableCollections.ObservableListImpl.fireElementChanged(int)

197:デフォルトの名無しさん
10/02/23 20:15:56
PCの構成とドライバのバージョンうp

198:デフォルトの名無しさん
10/02/28 04:50:07
まじでおまえらSwingで何つくってんだ?
ゲームのマップエディタ適当にSwingで適当につくろうとして久々触ったけど
相変わらず糞だなぁ、、いつまともになるんだろこれ。。

199:デフォルトの名無しさん
10/02/28 06:00:24
どこが糞なのか何がまともなのか理想を語りたいらしい。

200:デフォルトの名無しさん
10/02/28 06:27:00
こんな夜中に語りだすのか?…

201:デフォルトの名無しさん
10/02/28 09:15:14
糞なら使うなよ
適正な言語も選べないのか

202:デフォルトの名無しさん
10/02/28 21:58:51
マップエディタの実装が糞なだけでswing関係なかったりしてw
cとかで組めるならjni使えばいい話し出し。

203:デフォルトの名無しさん
10/02/28 22:43:23
ここでjni出してくるのはどうかと思う

204:デフォルトの名無しさん
10/03/03 02:33:21
javaからwin32apiは使えないからな。

205:デフォルトの名無しさん
10/03/03 03:32:54
つかえまsが

206:デフォルトの名無しさん
10/03/03 04:57:50
Swing に対する唯一の不満は、Win32 用の L&F が
ネイティブのそれと微妙に違っててイラっとすることくらいなんだけど
操作感覚にダイレクトに突き刺さってくるので困る。

SWT の作りは大嫌いだし(いまどきイベントループとか)
全般的な命名も好きになれないし(Shell って名前をアレに使うなよ)
体感速度に差があるとも思えないんだけど、
この部分だけが引っかかってしまう。

自分で作るんなら Swing なんだが
使うんだったら SWT みたいな。

207:デフォルトの名無しさん
10/03/03 11:35:13
そういうヲレクラス作ればいいだけじゃ?

208:デフォルトの名無しさん
10/03/03 13:39:34
J/DirectなんてJ#にすら見捨てられたよな

209:デフォルトの名無しさん
10/03/03 14:01:08
Browser と半透明ウィンドウのためだけに SWT 使うとる。

210:デフォルトの名無しさん
10/03/03 22:19:17
AWTUtilだっけ?あれとJDICでよくね?

211:デフォルトの名無しさん
10/03/03 23:08:39
JWebPaneってどうなったん? WebKitつかってるとかいう


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5394日前に更新/117 KB
担当:undef