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

Java低速GUI Swing 3

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2005/07/19(火) 00:35:54
ハードウェアの高スペック化、JavaVMのホットスポットの高速化に伴い、
パフォーマンスの問題が改善されつつあります。
しかしながら、"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
0809デフォルトの名無しさん2006/01/26(木) 11:17:21
一点ご教授いただけないでしょうか。
今、JEditPaneやJTextArea辺りを使ってエディタを作成しています。
要件としては「カーソル位置の行に下線を表示する」というものです。
文字列の一部に下線を引くのではなく、
カーソルが存在する行全体に引きたいのですが、
何かよい方法が用意されていますでしょうか?
0810デフォルトの名無しさん2006/01/26(木) 12:04:14
>>806

うほっ、そんなクラス知らんぞ、と思ったら、メソッドだったのか。
勉強になるなこのスレは
0811デフォルトの名無しさん2006/01/26(木) 12:22:14
>>810
メソッドじゃないよ
0812デフォルトの名無しさん2006/01/26(木) 12:48:01
しまった。アンカーミス
>>806じゃなくて
>>808だった。orz

え、メソッドしか見つからんけど。
あとで暇になったらまた調べるわ。
0813デフォルトの名無しさん2006/01/26(木) 19:15:44
>>809
改行多いといわれたので
ttp://terai.xrea.jp/swing/linecursor/sample.jnlp
class LineCursorTextArea extends JTextArea {
public LineCursorTextArea() {super();
Caret caret = new DefaultCaret() {
protected synchronized void damage(Rectangle r) {
if(r!=null) {JTextComponent c = getComponent();
x = 0;y = r.y;width = c.getSize().width;
height = r.height;repaint();}}};
caret.setBlinkRate(getCaret().getBlinkRate());setCaret(caret);
}protected void paintComponent(Graphics g) {
super.paintComponent(g);Graphics2D g2 = (Graphics2D)g;
Insets i = getInsets();
int y = getRowHeight()*getLineAtCaret(this)+i.top;
g2.setPaint(SystemColor.activeCaption);
g2.drawLine(i.left, y-1, getSize().width-i.left-i.right, y-1);
}public static int getLineAtCaret(JTextComponent component) {
int caretPosition = component.getCaretPosition();
Element root = component.getDocument().getDefaultRootElement();
return root.getElementIndex(caretPosition)+1;
}}
0814デフォルトの名無しさん2006/01/26(木) 19:57:12
↑
ブラクラ
0815デフォルトの名無しさん2006/01/27(金) 01:28:46
ラベルの編集できるノードと出来ないノードが混ざった JTree があるんだけど、
setEditable(true) すると全部編集できてしまう。編集不可なノードの時は
キャンセルするようにしたいんだけどどうすれば良い?
0816デフォルトの名無しさん2006/01/27(金) 01:35:13
ん? DataTreeCellEditor の actionPerformed() をオーバーライドしてやれば良いのかな?
0817デフォルトの名無しさん2006/01/27(金) 02:07:11
isCellEditable() をオーバーライドした DefaultTreeCellEditor を仕掛けたらうまく動いた。
このやり方であってるのかな?

public boolean isCellEditable(EventObject event) {
  TreePath path = tree.getSelectionPath();
  if(path != null){
    Object node = path.getLastPathComponent();
    if(ラベル編集不可){
      return false;
    }
  }
  return super.isCellEditable(event);
}
08188092006/01/27(金) 10:26:43
>>813
ありがとうございます、文句の付けようのない完璧な仕上がりになりました。
一点蛇足とは思いますが、最終的にJEditPaneを使用することにしたため、
getRowHeight()メソッドが存在しなかったのですが、
g2.getFontMetrics().getHeight()を用いて動作させてみました。
重ね重ね本当にありがとうございました。
0819デフォルトの名無しさん2006/01/27(金) 12:00:34
Swingを使ってゲームを作成している者ですが
ちょっとお聞きしたいことが・・・
マウスの画像を、自分で作った画像に変更したいのですが、どうすればできますか?
分かる方教えてください><
0820デフォルトの名無しさん2006/01/27(金) 12:11:12
>>819
Toolkitクラスを見てごらん
0821デフォルトの名無しさん2006/01/28(土) 02:36:39
JInternalFrame のタイトルバーや境界を消したいんだけど出来る?
0822デフォルトの名無しさん2006/01/28(土) 17:44:56
>>821
できる
JInternalFrame frame = new JInternalFrame();
((BasicInternalFrameUI)frame.getUI()).setNorthPane(null);
frame.setBorder(BorderFactory.createEmptyBorder());
frame.setSize(200,200);
frame.setVisible(true);
frame.setLocation(10,10);
frame.add(new JLabel("メモ"));
desktop.add(frame);
0823デフォルトの名無しさん2006/01/28(土) 22:05:57
JTree のノードに JTable って入れられますか?
JTable を返す TreeCelRenderer を作ってみたら一応表示はされるみたいだけど
行とか触れないな。
0824デフォルトの名無しさん2006/01/28(土) 23:00:25
触りたい場合はエディタでは
0825デフォルトの名無しさん2006/01/28(土) 23:33:07
了解
0826デフォルトの名無しさん2006/01/29(日) 01:35:33
ひょっとしたら>>823はこれを読んだら幸せになれるかもしれない。
ttp://java.sun.com/products/jfc/tsc/articles/treetable1/
0827デフォルトの名無しさん2006/01/29(日) 20:52:19
>>826
幸せになってみようかと組み込んでみましたがちょっと挙動不審でした。
08288062006/01/30(月) 02:36:22
VectorをすべてArrayListに置き換えますた。
ああすっきりした。これでVector使うやつが一人減ったよ。
0829デフォルトの名無しさん2006/01/30(月) 02:52:07
Swing使う部分はどうしようもないけどな
0830デフォルトの名無しさん2006/01/31(火) 00:12:58
JTable の選択行が変わったときのイベントを拾うにはどこに何のリスナしかければ良いの?
JTable にも TableModel にもそれっぽいメソッドが無いんだけど。
0831デフォルトの名無しさん2006/01/31(火) 00:15:59
ごめん、JTable から ListSelectionModel 取ってそれに仕掛けるのか。
08328062006/01/31(火) 00:37:44
JTable#valueChanged()じゃダメなのかな。
0833デフォルトの名無しさん2006/01/31(火) 00:51:48
>>832
止めたほうがよさげ。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JTable.html#valueChanged(javax.swing.event.ListSelectionEvent)
> アプリケーションコードはこれらのメソッドを明示的には使用しません。
> これらのメソッドは JTable が内部的に使用します。
08348322006/01/31(火) 01:09:35
ふ〜ん。大村さんの本では普通にオーバーライドして、利用してるけどね。
ちゃんと先頭の行でsuper.valueChanged()呼んでやれば大丈夫だと思われ。
自分もこのメソッドよく利用してるけど、今のところ何の支障もないよ。
0835デフォルトの名無しさん2006/01/31(火) 01:26:45
そのsuperとか使ってる時点で動き方を意識しなければならないのが問題
継承して使いたい場合はそれでいいとおもうけどね

単純にテーブルを配置、その選択イベント取得したいという目的ならしないほうがいい
0836デフォルトの名無しさん2006/01/31(火) 01:54:39
モデルやリスナ、レンダラなんかはしょっちゅうサブクラス化するけど
テーブルそのもののサブクラス化はあまりやんないなぁ。
0837デフォルトの名無しさん2006/01/31(火) 01:59:10
基本的にbeans部品だから配置した後でプロパティセットって感じだよね
モデルもテーブルに限らずDefaultなんちゃらモデルで大概事足りるしねぇ
0838デフォルトの名無しさん2006/01/31(火) 10:56:07
>>835
仕様書がダメだといってるんだからダメだろ。
Javaの将来のバージョンとかで動かなくなる危険性がある。
08398322006/01/31(火) 14:56:05
おまいら、そんなに俺にvalueChanged()をやめさせたいのかよ。
この前VectorをArrayListに置き換えたばっかりなのによw

>>838
仕様書ってJava Docのことですか?だとしたらダメだとは書いてないと思うけど。日本語のサイトの

> アプリケーションコードはこれらのメソッドを明示的には使用しません。
> これらのメソッドは JTable が内部的に使用します。

というとんちんかんな和訳じゃニュアンスが伝わってこないけど、もとは

>Application code will not use these methods explicitly, they are used internally by JTable.
となっているのだ。"should not"でも"cannot"でも"must not"でもなく、"will not"なので、
「使うことは無いだろう。」と訳すべきだと思うよ。それに将来的に使えなく
なるなら非推奨になっているはずでしょ。まあ俺は気にせず使うよ。何か問題が発生したら、
そのとき対処するわ。10年経っても問題なく使えてたら、おまいらに胸を張って報告するよ。
普段ギャンブルをしない俺だが、たまにはやってみるわ。
0840デフォルトの名無しさん2006/01/31(火) 15:21:49
SwingでArryListの置き換えは無駄だろ

JTableが自分でインプリメントしてるイベントは
自分で使うからその動作を妨げてはならない
だからsuper使ってる

というだけの話だろ?

JTableを拡張して作りたいのならJTableの動作について詳しいわけだし問題なし
アプリでJTableを使いたいだけならJTableに実装されているイベントを使わないほうがエレガント

だろ?
0841デフォルトの名無しさん2006/01/31(火) 15:45:28
やっぱ interface 多用した作りに直して欲しいな。。
0842デフォルトの名無しさん2006/01/31(火) 15:48:06
JTable#valueChanged() 使いたければ使えばいいと思うけどねぇ
俺は>>838と同じで仕様原理主義者なので使わない方を推奨するけど

どっちかっつーと、>>839はAPI Specの原文読んでも好ましくない事が一目瞭然なのに固執してる事
それも技術的な理由でなく自己満足のために、って部分のがヤバいよーな気がするね
0843デフォルトの名無しさん2006/01/31(火) 16:00:43
使われたくなければ valueChanged() をパッケージプライベートに
するなりせいよと思うが、先の Vector じゃないけど過去のしがらみで
いまさらできないんだろうね。
0844デフォルトの名無しさん2006/01/31(火) 16:28:23
>>843
インターフェース実装してるやつなのでそれはJava言語として無理だろ

でもそんなSwingもSWTのソースおったりAPI見てると
非常に綺麗に見える不思議

Swingは今後フラグ以外の定数はEnum化するようにしてほしいね
ListやMapインターフェースの追加と
0845デフォルトの名無しさん2006/02/01(水) 01:10:32
JTableで行(セル)の値が修正されていたらその行の背景色を変えて
ほしいってよくユーザに言われるけど、どう解決すべきでしょうか?
元 |abc|1|あ|
後 |xyz|1|あ|
にしたとき背景色を変えるが、元に戻したとき(xyz -> abc)は
修正されていないので背景色も元に戻さなければいけない。

TableModelに元の値と修正後の値とフラグを設けて、
stopCellEditing()時にチェックしてTableCellRendererでフラグ
を見て背景色表示って感じかな。
0846デフォルトの名無しさん2006/02/01(水) 01:40:08
値の監視タイミングはセルエディットのstopではなくてモデルのイベントを使え
0847!omikuji2006/02/01(水) 03:22:27
test
0848デフォルトの名無しさん2006/02/01(水) 12:11:24
OO的にはいけてない方法だが、変更されたらセル1個or1レコードに対するデータに変更フラグを立てておいて
モデルではそのままそのオブジェクトを返して、レンダラでそのフラグを見て色を変える。
変更の有無がそのセル1個or1レコードのクラスに閉じこめられるので楽といえば楽、きれいといえばきれい。

OO的にいけてないと俺が思う理由はビュー側の要件に対してモデル側で対処しようとしてるから。
0849デフォルトの名無しさん2006/02/01(水) 12:20:33
これは状態を表すからモデルでいいと思う

よくDB使ったアプリとかでも変更があったときに閉じようとしたとき
変更が保存されていません、とかダイアログを出すとかそういうのとおなじ


0850デフォルトの名無しさん2006/02/01(水) 12:20:34
>>848
>OO的にいけてないと俺が思う理由はビュー側の要件に対してモデル側で対処
それはモデル側で正しいんじゃないかな。
ビュー側の要件は、変更されていたら色を変えるところまでで、
値が変わったかどうかを判断or保持するのは、モデルだと思う。
モデルが色を保持したら、間違っていると思うが、上記は別に「いけてない」とは思わないけど。
0851デフォルトの名無しさん2006/02/01(水) 19:10:09
JTextFieldにおいて、 IMEの未確定な状態の文字列を、
ロジックで、確定するには、どのようにしたらよいでしょうか?

とあるイベントが発生したときに、未確定な文字列を強制的に確定したいのです。
0852デフォルトの名無しさん2006/02/01(水) 20:43:11
>>851
メソッド一個だけあげろってんなら InputContext#endComposition() なんだけど、
これだと削除される場合もあるらしいね。

InputMethodListener 仕掛けておいて、常に未確定文字列保持しておき、
endComposition() で確定したらよし、削除されちゃったら
JTextField に未確定文字列を こっそり挿入するとかすれば。
0853デフォルトの名無しさん2006/02/01(水) 21:14:42
>>852
endCompositionだと、確かに取り消される場合があります。。。
後半の方法を、参考に、未確定文字列の保持ではなく、
全文字列を保持して、後からsetTextするという方法はできました。

でも、できれば単純に確定する方法があると一番よいのですが。
0854デフォルトの名無しさん2006/02/02(木) 02:24:28
jniでWindowsならIMMなんとかかんとかとか呼ぶ。
Robotとか使って無理矢理エンター押させたらどうなるん?

といいながらちょとテキストフィールド出して入力してみたんだけど、フォーカスアウトすると勝手に確定しちゃうのね
@1.5.0_06+ATOK

ちゅか標準的な方法としてはendCompositionしかないんだからそれ以上のことは「Javaの仕様です」でFAでいい希ガス。
仕事でしょ?なら尚更、標準以上の対処をするとサポートしきれない。
眠いので散文スマン。
0855デフォルトの名無しさん2006/02/02(木) 10:46:55
InputMethodListenerで、確定時に発生するイベントを参考にして、
自分でInputMethodの生成、dispatchEventとしたら、確定させることができました。

>>854
わざわざ、試していただいてありがとうございます。
「Javaの仕様です」では、とても納得させられないです。
ユーザは、Javaの標準を押し付けられても、困ると思うので、
そんなことは、仕事だからこそ言えないです。
0856デフォルトの名無しさん2006/02/02(木) 11:00:24
>>855
じゃあ、他の世界の標準では、そういうことができると明記されてるの?
だれもが「できる」という共通認識でもあるの?

0857デフォルトの名無しさん2006/02/02(木) 11:16:57
> InputMethodListenerで、確定時に発生するイベントを参考にして、
> 自分でInputMethodの生成、dispatchEventとしたら、確定させることができました。
このやり方は推奨しない。

自分で Event 生成して dispatch しても InputMethod の状態を
ちゃんと制御できてないとその Event を受け取ったコンポーネントと、
そんな事知らない InputMethod の間で齟齬が起きる危険性があるし。
確定時に どのイベントがどんな順番で発生するかは仕様で全く規定されてないしね。
0858デフォルトの名無しさん2006/02/02(木) 13:28:00
>>857
>このやり方は推奨しない。

そうですか。。。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27717&forum=12
こんな情報を見つけたので、やっぱりやめときます。

>>854の方法も含めて、あとから挿入するという方法も検討してみます。
0859デフォルトの名無しさん2006/02/02(木) 15:38:00
あとまあこの辺は見てるんだろうけど参考になりそうなもの
http://javadesktop.org/articles/InputMethod/index_ja.html
http://java.sun.com/j2se/1.5.0/docs/guide/imf/index.html

たとえばWindowsネイティブの開発だったらどうだろう。
普通に考えるならMS-IMEでバージョンも限定という前提があればWINAPIのImm〜を使ってやってもいい。
#うまくできるとは限らない。
だが、クライアント環境をきびしく限定できないなら仕様と考える方が無難。

Guideのほうにはちゃんと書いてあるようだ。
入力操作の終了

通常、インプットメソッドは、入力操作を終了させるユーザの行為を認識します。たとえ
ば、未確定のすべてのテキストを確定する操作などです。ただし、入力操作の終了が必要
な操作を開始するユーザの行為の中には、インプットメソッドが認識できないものもあり
ます。テキストを含むドキュメントの保存は、インプットメソッドが認識できない行為の
例です。そのような場合、コンポーネントは、入力コンテキストの endComposition メソ
ッドを明示的に呼び出す必要があります。
0860デフォルトの名無しさん2006/02/04(土) 01:25:30
NetBeans IDE 5.0
http://pcweb.mycom.co.jp/news/2006/02/03/342.html
出たね。
Matisse GUIビルダって、既存のレイアウトマネジャーは使ってないんだっけ?
0861デフォルトの名無しさん2006/02/04(土) 04:07:03
GroupLayout。Dolphinから採用されるらしい。
0862デフォルトの名無しさん2006/02/04(土) 10:53:08
*BSDだとどれ落とせばいいの?
UNIX同士は互換無かったと思うし、Linux版をエミュレート?
0863デフォルトの名無しさん2006/02/04(土) 11:10:16
スレ違いだが回答。FreeBSDならportsにある。
http://www.freebsd.org/java/
他のBSDは知らん。
0864デフォルトの名無しさん2006/02/04(土) 17:40:40
>>861
Dolphinって、大分先じゃん・・・。Visual Editorで使えるようになるのは何時になるんだろ。
0865デフォルトの名無しさん2006/02/04(土) 18:10:22
単体ライブラリとしては、今でも使えるしね。
0866デフォルトの名無しさん2006/02/05(日) 12:28:08
>>865
じゃあ、Dolphinまで待たずとも、Visual Editorが対応してくれる可能性もあるってわけだね。
NetBeansのGUIビルダは魅力だけど、それだけで乗り換えるのもつらいしなぁ・・・。
0867デフォルトの名無しさん2006/02/05(日) 12:46:24
VEって対応したところでいまのままではきついような
0868デフォルトの名無しさん2006/02/05(日) 12:56:20
>>866 VEが対応する可能性はかぎりなくゼロに近いと思う。
現状でもVEのSwingサポートレベルは1.3だし、公開されている今後の計画でも
1.4以降のサポートは予定しないと明文化されている。というかSwing系の
機能増強自体ほとんど予定がない。
大体、eclipse.orgのVE projectって基本的にGUI開発環境を作るための
フレームワークを提供するプロジェクト。GUI開発環境を提供する
プロジェクトじゃないのよ。だから下回りのフレームワークのAPIの
開発は進んでもその上のリファレンス実装までは手がまわらないんじゃないかな。
SWT系はIBMがWorkplace構想打ち出してるからいいとしても。
08698682006/02/05(日) 12:58:59
>手がまわらない→手をまわさない
のほうが正確かも。
0870デフォルトの名無しさん2006/02/05(日) 15:27:36
>>868
それは(´・ω・`)ショボーンだなぁ。
確かに、SpringLayoutとかにもまだ対応してないし。
普段はEclipse&GUIだけNetBeans5.0 という使い分けができれば良いんだけど・・・。
0871デフォルトの名無しさん2006/02/05(日) 15:35:09
NetBeans5.0って4.1と大分操作感覚が違うから戸惑うな
4.2としなかったのは正しい
0872デフォルトの名無しさん2006/02/05(日) 19:40:58
サーバーサイドはEclipse、GUIアプリを作るときはNetbeansとしても、
それほど混乱しないと思うけど。
0873デフォルトの名無しさん2006/02/05(日) 19:53:53
サーバーサイドもNetBeansつかえば、混乱ないよ。
0874デフォルトの名無しさん2006/02/05(日) 19:57:41
問題はこのスレとサーバーサイドが関係ないことだ
0875デフォルトの名無しさん2006/02/05(日) 20:57:09
-serverオプションってSwingに効果ある?
0876デフォルトの名無しさん2006/02/05(日) 21:36:34
起動を遅く実行を速くだからね。効果あるかもしれない。
0877デフォルトの名無しさん2006/02/05(日) 22:00:23
早くはなるけど、レスポンスは悪化するのでおすすめできない
0878デフォルトの名無しさん2006/02/05(日) 23:11:32
このスレで何か作ってる人はやはりNetBeansが多いんですか?
0879デフォルトの名無しさん2006/02/05(日) 23:38:42
コンポーネントの数が多いとさすがにコードのみで貼り付けは無謀だし
位置の調整も絶望的になってくるしな

次点としてJBuilderやOracleJDev(JBuilderベース)かな
0880デフォルトの名無しさん2006/02/06(月) 00:35:35
俺はがんばってEclipse+VEでやってるよ。
慣れれば何とかなるが、もどかしい思いをすることもしばしば。
0881デフォルトの名無しさん2006/02/06(月) 14:07:31
Eclipse + VE でやってる。
NetBeans は試してみたことないんだけど
そんなに素敵なら使ってみたいなぁとは思う。

思うんだが、VE でも特に困らないので
評価の時間を作るほどには至らず。
0882デフォルトの名無しさん2006/02/06(月) 14:27:46
どうでも良い作り捨てや他の人に引き継ぐ GUI は VE で。
本気モードの日曜プログラムは GridBagLayout で。
0883デフォルトの名無しさん2006/02/06(月) 14:43:59
GridBagLayoutならNetBeansだな。
0884デフォルトの名無しさん2006/02/06(月) 18:21:43
>>881
5.0を試してみることをお勧めする
違いを実感できるよ
0885デフォルトの名無しさん2006/02/06(月) 20:45:03
NetBeansでGridBagやったけどわけわからんかった
SplitPaneが神
0886デフォルトの名無しさん2006/02/06(月) 21:10:26
GridBagLayoutは仕組みがわかってないとWYSIWYGなエディタがあってもわけわからんと思われ。
0887デフォルトの名無しさん2006/02/06(月) 21:16:45
もしかして、GridBagLayoutの編集画面(?)までいってないとか…
0888デフォルトの名無しさん2006/02/06(月) 21:17:21
くだらない書き込みでageてしまったorz
0889デフォルトの名無しさん2006/02/06(月) 21:34:31
VEはサイズ指定するのがクソ
0890デフォルトの名無しさん2006/02/06(月) 21:49:51
Eclipse+VEは辛いな
0891デフォルトの名無しさん2006/02/06(月) 23:18:46
というか、まちすがリリースされたこの時期にGridBagLayoutとか言ってないで
Netbeans 5をダウンロードしてためしなよ。
0892デフォルトの名無しさん2006/02/06(月) 23:40:29
用語としてはフリーデザインという表示してるからそっちで統一したほうがいいと思うけど
レイアウトとしてはグループレイアウト

これはこれで慣れが必要だけどね
コンポーネントが細かく配置してある場所にある程度の大きさのあるJPanelを
追加とか結構難しいな

相対座標を変に記憶していて調整が難しいという場面も多く見られる
0893デフォルトの名無しさん2006/02/07(火) 01:26:59
>>886-887
仕組みを理解して編集画面があることに気が付いたら、GridBagLayoutは使えると思った。

でもグループレイアウトはもっといい。簡単だし、文字のベースラインが揃うのがとてもいい。
0894デフォルトの名無しさん2006/02/07(火) 01:30:20
>>893
GroupLayoutでコード手書きは悪夢。
0895デフォルトの名無しさん2006/02/07(火) 11:53:57
h(c1, c2, ...) と書いたら c1, c2... を横に並べた Panel を作るメソッド作っとけ。
0896デフォルトの名無しさん2006/02/07(火) 12:55:42
>>881
レイアウト自体は GridBagLayout で別に問題ないというか。

速度面以外の有利さってどの辺りです?
あとは Subversion / Maven / etc との連携とか。
画面だけ作って終わりってわけにいかないし。
0897デフォルトの名無しさん2006/02/07(火) 13:45:20
>>896
オレ画面だけ作ってeclipseにコピーしてるwwwwwwwwww
0898デフォルトの名無しさん2006/02/07(火) 13:47:41
それだと修正はいるときついな
0899デフォルトの名無しさん2006/02/07(火) 15:47:18
あほな質問でごめん。
昨日から5.0をおとしていろいろいじってますが、
jLabel1のBackgroundのプロパティで色を設定しても変わらないのですが、
そういうものなのでしょうか?jTexfieldとかは設定すると変わるんですが。
0900デフォルトの名無しさん2006/02/07(火) 15:50:29
>>899
opaque
0901デフォルトの名無しさん2006/02/07(火) 15:53:36
その質問つい最近もあったな
透過指定いれてるからというのに納得してなかったな
0902デフォルトの名無しさん2006/02/07(火) 15:55:52
>>900
おお、できました。ありがとうございます。
プロパティいっぱいあって複雑でちと、ナーバス状態です(TT
0903デフォルトの名無しさん2006/02/08(水) 12:45:52
>>897
org.jdesktop.layout.GroupLayout毎Eclipseに持っていくの?
0904デフォルトの名無しさん2006/02/08(水) 18:33:02
swing-layout.jarがクラスパスにあればいいだけとみた
0905デフォルトの名無しさん2006/02/08(水) 21:57:19
GridBagLayoutかGroupLayoutかって構図になってるな。
1.4で追加されたSpringLayoutはどうよ?
0906デフォルトの名無しさん2006/02/08(水) 22:17:47
>>904
できました。
ただソースをフォーマットするととんでもなく見づらくなる。。。
0907デフォルトの名無しさん2006/02/08(水) 22:25:09
>>905
そこで TableLayout ですよ。とか言ってみる。
https://tablelayout.dev.java.net/

こっちも面白そう。
http://cappuccino.jp/keisuken/java/tablelayout/docs/specification.html

っつか、他人の作ったものが使い難かったら自作しちゃえば
0908デフォルトの名無しさん2006/02/08(水) 22:28:09
レイアウトは組み合わせて使うもの
単体でそれなりに使えるのはGroupLayoutくらい
nullやAbsoluteLayoutでもいいけど

あとは組み合わせだけ
組み合わせに慣れてくるとBOXとFlow、Borderの3つだけ使うようになってくる。

NetBeansは階層構造もったコンポーネントのコピーもいいかげんできるようになってくれぇ
レス数が900を超えています。1000を超えると表示できなくなるよ。