[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 03/03 09:58 / Filesize : 99 KB / Number-of Response : 402
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Java低速GUI Swing 8



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

Java低速GUI Swing 7
pc11.2ch.net/test/read.cgi/tech/1204155623/
Java低速GUI Swing 6
pc11.2ch.net/test/read.cgi/tech/1190807478/
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

52 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 10:55:27 ]
addFocusListenerでいんじゃね?

53 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 11:01:45 ]
focusLost使ってフォーカス変わったタイミングで格納するわ

54 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 12:55:10 ]
>>51
エンターを押してもらう

55 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 19:58:14 ]
JFormattedTextField を文字列(または空文字列)でコンストラクトし、
value に関するプロパティのイベントを捕捉すれば、いい感じかも。

フォーカスが外れたりリターンキーが押されたりしたときに
(文字列が変わってれば)イベントが発生するっぽい。

56 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:02:32 ]
現時点において、世間で一番成功したSwingアプリってなんだろ?
CabosってSwingアプリだっけ?

ム板で聞いてもバイアスがかかると思うので、
IDE各種(Eclipse, NetBeans, etc)と2ch専ブラ(V2C,etc)は却下。

いやさ、実行系絡みのトラブルシュート対策のページを
パクらせてもらおうと思って。

57 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 13:38:15 ]
V2Cだろ

58 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 13:48:43 ]
jEdit だろ

59 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 03:43:20 ]
limewire

60 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 04:37:51 ]
外為どっとコムww。なぜかFirefoxで動かないけど。
やっぱリアルタイム性のあるとこかな



61 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 09:11:32 ]
jude

62 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 19:08:08 ]
JListにはJTreeみたいな編集機能はないんかの?

アイテムの名前変更できるようにしようとして、ぐぐってもなんも引っかからんぜ

63 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 19:31:01 ]
ないなぁ
けど実装はそんなに難しくないよ

JTableを1列で、とかだめ?w

64 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 20:19:02 ]
実装は難しくないのか。

まだ容易されてる入り口と、ぐぐって出てくる手法でしか作ってないから想像もつかないぜ

JListとJTableを組み合わせて使ってるから、JTableのアイテムを編集させてみる。
気が向いたら、その難しくない実装とやらをがんばってみるかな

65 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 20:48:41 ]
JTableのソースを見て、CellEditorを中心に見てみると結構参考になるかも。

66 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:47:32 ]
JScrollPaneのViewportViewにJTreeを二つ設置したJPanelを指定したのですが
スクロールペインの中央にJTreeが並んでしまって困ってます
BoxLayoutでJPanelにJTreeを設置するとテキストがまともに表示されない(後半が途切れる)ので
GridBagLayoutで白紙のパネルをJTreeの下に設置し、JTreeを左上になんとか表示してます
こんな無理矢理な方法を使わず、素直にJTreeを二つスクロールペインの左上に設置する方法は無いでしょうか?
何方かご教授下さい…

67 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:48:33 ]
今ひとつ分からないけどこれでだめ?
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

JPanel viewportView = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0));

JTree tree1 = new JTree();
JTree tree2 = new JTree();

viewportView.add(tree1);
viewportView.add(tree2);

frame.add(new JScrollPane(viewportView));
frame.pack();
frame.setVisible(true);

68 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:50:03 ]
みすってたー
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

FlowLayout fl = new FlowLayout(FlowLayout.LEFT,0,0);
fl.setAlignOnBaseline(true);
JPanel viewportView = new JPanel(fl);

JTree tree1 = new JTree();
JTree tree2 = new JTree();

viewportView.add(tree1);
viewportView.add(tree2);

frame.add(new JScrollPane(viewportView));
frame.pack();
frame.setVisible(true);

69 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 22:15:15 ]
>>68
ありがとうございます!明日試してみます!…ノートPC持って帰ってくるの忘れたorz
口で説明しても伝えられない気がしてきたので簡易ながら図解にしてみました。
ttp://toku.xdisc.net/cgi/up/ttt/nm6024.jpg.html
上の理想像のように配置したいのですが、BoxLayoutだと下図のようにテキストが途切れます…

70 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 22:46:19 ]
JTreeを2つ使う理由がわからん。
JTreeを1つで、setRootVisible(false)にすればええやん。



71 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 06:45:15 ]
こんな感じかな

panel.setLayout(new BorderLayout());
panel.add(tree1, BorderLayout.NORTH);
panel.add(tree2, BorderLayout.CENTER);
scrollPane = new JScrollPane(panel);


72 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 19:34:31 ]
>>70
それやったら何も表示されなくて…
JTree二つあった方がラクかなぁ?と思って組み始めたんです。

>>71
tree2が中央に来ました…orz

73 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 21:30:24 ]
>>72
>>70 でやったときにTreeNodeが表示されないと言っている?TreeModelの使い方は理解してる?

ここ↓をひととおり読んでみた?
java.sun.com/docs/books/tutorial/uiswing/components/tree.html

74 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 22:31:32 ]
いつの間にか jdk 6u11 が出てるな…

75 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 00:49:36 ]
今日JavaFXリリースだというのにまったく盛り上がってないなw

76 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 00:53:24 ]
忙しくて試す時間ないんだけど、どんな感じ?

77 名前:デフォルトの名無しさん [2008/12/05(金) 05:22:12 ]
もういらねーんだよ。うじゃうじゃとアホなスクリプト言語とか。

78 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 12:47:42 ]
JavaFX結構おもしろいじゃん
ただ何やってるか分からんけど起動がえらい遅い

79 名前:デフォルトの名無しさん [2008/12/06(土) 23:29:05 ]
ブラウザからデスクトップにドロップするやつ試したやついる?
あとアニメとかはどうだ。滑らかに動くのか。
とにかく生情報がほしいな。

自分はOSバージョンの関係で試せないけど、試したやつ報告よろしく

80 名前:デフォルトの名無しさん [2008/12/07(日) 01:58:37 ]
JavaFXはスレ違い



81 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 02:03:37 ]
Java FXってGUIはSwingそのものなの?

82 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 02:17:15 ]
このスレの解答者はカスしかないけどから一応こたえてやると・・・
siwngはjavacでコンパイルされてバイトコードになるためjvm共通のwidgetになるから
javafxcでJFrame{}とかすれば当然JFrame.classが呼ばれてswingそのものを呼び出しているといえる。

83 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 07:32:52 ]
「WOLF RPGエディター」とは? 
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
 不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
 その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
 慣れた人やRPGツクールでは物足りないけどプログラミングはちょっという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
 また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
 一度サイトにお越しくださいませ。
・このツールで作ったゲームをサイトで紹介してるから、ダウンロードしてどういう
 ゲームが作れるのか見てみてね。

2ちゃん本スレ
pc11.2ch.net/test/read.cgi/gamedev/1226294070/l100

84 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 14:02:31 ]
このスレの解答者はカスしかないけどから
このスレの解答者はカスしかないけどから
このスレの解答者はカスしかないけどから
このスレの解答者はカスしかないけどから
このスレの解答者はカスしかないけどから
このスレの解答者はカスしかないけどから

85 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 14:36:13 ]
>>84
>>82 の回答を見ると納得してしまうなw

86 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 14:38:40 ]
>>84
×解答
○回答

87 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 15:51:51 ]
そろそハードウェア対応のCompositeを増やしてくれないものか…
加算半透明が欲しいけど、そういう人は少ないのかなあ。

88 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 16:07:38 ]
javafxはどこで話せばいいの?

89 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 17:21:02 ]
ここかJDK7のスレッドだろうね

90 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 19:26:39 ]
jdk1.4からpaintが改善されてきてjdk1.6でほぼnativeと同等になったから、そろそろそういうブレンドとかのクラスも出てくるんじゃないか?
今はCPUに計算させて力でごり押しでもいいだろうけど、本来のやり方は力業計算はjoglとかハードの方を使って(経由して)計算させるものなのかと思う。
そういうの説明してるサイトはあまりないけどね。




91 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 21:36:37 ]
すごく初歩的なことかもしれないんですが、packって必ず呼ばないといけないんでしょうか?

92 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 21:53:12 ]
いいえ
packしたい時に呼べばいいだけです

93 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:33:58 ]
packは使うべきかどうかどう判断すればよいのでしょうか?

94 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:45:50 ]
packがやることは分かる?

95 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:53:31 ]
各コンポーネントの推奨サイズを見て、ウィンドウ全体のサイズを決定、でしょうか?

96 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 23:12:21 ]
ウィンドウを推奨サイズにしたい場合は pack()
自分でサイズを指定したい場合は
setSize() とか setBounds() とか


97 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 19:16:25 ]
JDK1.6u11になってNimbusを今まで作ってきたアプリでためしてみたんだが微妙だなぁ。
こっちの書き方も悪いんだけど、それを差し引いてもあちこちにデザインの破綻が起きる。
画像アイコンを入れたボタンやカスタマイズした部品の修正が大変。
Metalのほうが細かい操作面や様々なケースで、神経が行き届いていたように思われ。

98 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 22:19:01 ]
addElement
public void addElement(Object obj)指定されたコンポーネントをリストの末尾に追加します。
パラメータ:
obj - 追加されるコンポーネント

DefaultListModelのaddElementのリファレンスを読んでコンポーネントも追加できるのか…?と思い
JPanelをaddしてみたんですが、文字列らしきもの(ポインタ的な何か…?)が表示されるだけで上手く行きません。
そもそもコンポーネントの追加という意味を私が取り違えているのでしょうか?お教え下さい

99 名前:デフォルトの名無しさん [2008/12/09(火) 22:29:41 ]
普通はUIを頻繁に変えたりしない思うけどね。
昔のxのウィンド・マネジャの乱立とかwinデスクトップテーマの流行を思い返す。
system uiのwinでぽっぽアップしたときのメニュー文字のギャップをもう少し広げてくれると
win ui (win classic ui)とほぼ同じでハッピーなんだけど。

100 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 22:49:05 ]
>>98
コンポーネントは広い意味でのコンポーネントって表現だと思う。
英語版のjavadocが"Component"になっているから、そう訳したんだと思う。
Objectが引数だから、JPanelだろうが、通常やらないだろうけど、Timerだろうが何でも格納はできる。

表現が的確か分からないけど、ListModelは単なるデータストアであって、
ListModelから取り出したデータを、どう表現するかはCellRendererの役目。

一度、java tutorialとかで基本的なところを勉強するといいと思う。



101 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 22:52:29 ]
>>98
デフォルトのレンダラでは対応していないのでJPanelを要求通りに表示できるレンダラに変更

102 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 23:14:46 ]
>>99
JMenuItemのsetMargin()とか呼んでみたら?

ポップアップメニューのL&Fの更新ってプログラマーの責任だったっけ。
JComponent#setComponentPopupMenu()だけでは自動更新してくれなかった記憶が。

103 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 21:52:27 ]
>>100-101
本当にありがとうございます。CellRenderer改変して無事に完成しました
JPanel上にBorderLayoutでJLabelを2つ設置してそれを返すようにしたら想像通りのものに…!

JLabelの背景色変更しても色変わらなくて、2時間程経ってからsetOpaqueの存在を知りました。
もっと情報検索を上手いとこ出来るようになりたいですorz

104 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 01:05:13 ]
>>102
>ポップアップメニューのL&Fの更新ってプログラマーの責任だったっけ。
1.7.0で修正されたはず。

105 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 02:07:02 ]
>>104
1.7か。遠い未来・・・でもないがまだまだだろうなぁ

106 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 03:32:06 ]
javax.swing.undoではまったのでメモ。
例えば、文字列の置換のような削除、挿入という複数の処理を1回で元に戻したい場合は
UndoManagerを入れ子にする。

UndoManagerを2つ用意して、基本はサブに追加する。一塊の処理が終わったらend()を呼んでメインに追加する。

void undoableEditHappened(UndoableEditEvent e) {
  sub.addEdit(e.getEdit());
  if (!compound) {
    sub.end();
    main.addEdit(sub);
    sub = new UndoManager();
  }
}

ちなみに普通にUndoをするだけならリスナにUndoManagerを追加するだけで出来ます。

JTextField tf = new JTextField();
tf.getDocument().addUndoableEditListener(new UndoManager());

107 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 11:25:31 ]
HTMLDocument/HTMLEditorKitってなんでこんなに使いづらいんだブツブツ…

108 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 12:36:19 ]
>>107
わー、同士よ。使ってる人、他にもいたんだ。

6u10以降、javax.swing.text.html
でちゃんと日本語HTML表示できている?

WebKitベースの新APIが1.7で登場するという噂はどうなったんだ…

109 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:29:45 ]
>WebKitベースの新APIが1.7で登場するという噂はどうなったんだ…
JWebPaneでしょ?
JWebPane は、Java7からってことになってるけど、Java7は1年半後らしいからね、いつになるやら。
たしか、AIRはWebBrowserコンポーネントを提供してるから、
JavaFXがAIRに対抗するために、リリース時期が早まるんじゃないかと少し期待してる。

110 名前:デフォルトの名無しさん [2008/12/13(土) 16:33:11 ]
JavaやってるとWindowsのexeが作れない。。
また、SwingやAWTの設計でGUI画面作るのもちょっといやだ。
Windows専用のJavaGUIライブラリどこかの会社でうまいことつくってくれないかな?
できれば、Delphi作ってる会社が作ってくれたりするといい。MSでもいいけど絶対作ってくれ無そう。

最悪、Javaで作ったファイルをWindows用exeに変換してくれるだけでもいい。できれば、UIもWindowsっぽくして・・



111 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 16:40:45 ]
そんな思いまでしてjavaで作らなくても
そういう要求って仕事でやってるわけじゃないよね

112 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 16:52:18 ]
ネタ乙

113 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 17:41:15 ]
>>110
Excelsior JET + SWT

どっちにしろ Swing とは関係ないネタだ。

114 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 18:24:26 ]
exewrapで十分だろ
Cocoaで作りたいとかいうならまだしもWindows寄りの設計って嬉しいか?

115 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 21:51:21 ]
WinAPIもMFCも面倒なだけ

116 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 00:27:37 ]
>>113
あるいはgcjという手もあるな。
Swingと関係ないのは確かにその通りだが。

117 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 01:18:32 ]
>>110
>JavaやってるとWindowsのexeが作れない。。
つJSmooth

>また、SwingやAWTの設計でGUI画面作るのもちょっといやだ。
どこら辺が気にいらんの?
俺、SwingやAWTからGUIに入ったんでよくわからないんだ。
.netもやってるけど、上っ面撫でてるだけならそんなに違わないと
思ったが。


118 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 01:43:49 ]
だからネタだっていってんだろw

119 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 15:03:36 ]
うまい方法が見つからないのでちょっと相談。コンポーネントの配置の仕方なんだけど。

JLabel [JTextField]
JLabel [JTextField]

というように、4の部品がならんでいる。
JTextFieldは、JFrameサイズに応じて幅一杯まで伸び縮みできるようになってほしい。
JLabelは文字列のサイズで固定されてほしい。
ただし、上段と下段でJTextFieldの位置をきっちり揃えたい。

GridBagLayoutだと、位置はきちんとそろうけど、JTextFieldが伸び縮みできない。
GridLayoutだとJLabelとJTextFieldの幅が等間隔に割り付けされてしまうのでだめ。
1段分をBorderLayoutのWESTにJLabel,CENTERにJTextFieldを入れ、GridLayoutで縦にならべると、
だいぶ希望に近づくが、JLabelに入る文字列の長さが異なると、JTextFieldの頭の位置が上下でそろわない。
なんかいい方法ないかなぁ・・・

120 名前:119 mailto:sage [2008/12/16(火) 15:10:57 ]
それから
PreferredSizeでJLabelのサイズを固定する方法も考えられるけど、
LaFが変更されたとき崩れない保証がなくなるので、できるだけレイアウトマネージャだけで解決したい。



121 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 15:44:19 ]
>>119
GridBagConstraintsを適切に設定してないんじゃないか

public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setLayout(new GridBagLayout());
frame.add(new JLabel("Label 1:"), new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
frame.add(new JTextField(), new GridBagConstraints(1, 0, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
frame.add(new JLabel("Label 2:"), new GridBagConstraints(0, 1, 1, 1, 0, 0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
frame.add(new JTextField(), new GridBagConstraints(1, 1, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
frame.pack();
frame.setVisible(true);
}
}

122 名前:119 mailto:sage [2008/12/16(火) 19:16:21 ]
>>121
ありがとう。
IDEのGUIエディタが生成したコードとにらめっこしたのですが、
weightx,weightyの値が1に設定されていなかったのが原因でした。
私はこまかいところに神経が行き届いていなかったようです。
勉強になりますた!

123 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 21:37:57 ]
GroupLayoutが適切すぎる

124 名前:せっかく作ってみたので貼ってみるテスト mailto:sage [2008/12/16(火) 22:01:12 ]
JFrame frame = new JFrame();
JLabel label1 = new JLabel("Label 1:");
JLabel label2 = new JLabel("Label 2:");
JTextField field1 = new JTextField(10);
JTextField field2 = new JTextField(10);

GroupLayout layout = new GroupLayout(frame.getContentPane());
frame.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);

layout.setHorizontalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup()
.addComponent(label1)
.addComponent(label2))
.addGroup(layout.createParallelGroup()
.addComponent(field1)
.addComponent(field2)));

layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(Alignment.BASELINE)
.addComponent(label1)
.addComponent(field1))
.addGroup(layout.createParallelGroup(Alignment.BASELINE)
.addComponent(label2)
.addComponent(field2)));

frame.pack();
frame.setVisible(true);


125 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 22:03:27 ]
>>121
GridBagConstraints に引数付きのコンストラクタがあることを
初めて知ったよ。
IDEの吐くコードでのみ使えって、ドキュメントにはあったけど。

>>123
いつのまにか java.awt でないレイアウトマネージャが増えてくね。

126 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:58:56 ]
JTabbedPaneでタブを表示させてるんだけど
特定の設定になった時はタブが5枚あったら、その3番目と5番目だけを非表示にしたいんだ
setEnabledAtで選択不可には出来たけど、出来ることなら非表示にしたい…
機能的には選択不可で問題無いが、見栄え的に半端な位置のタブが選択不可になってるのはみっともなくて。
何か良い解決策は無いだろうか?orz

127 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:09:41 ]
タブのペインをグレイアウトさせる。

128 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 11:38:28 ]
タブを削除する

129 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:48:35 ]
実際に試してないから成功するか分からないけど、
非表示にしたいタブを getTabComponentAt() で取得して
setPreferredSize() で推奨サイズをゼロにする。
あるいはサイズがゼロのコンポーネントを用意して
setTabComponentAt() を呼ぶ。


130 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 21:54:38 ]
>>127
リファレンス読んだけどやりかた分からなかったorz
>>128
非表示にしても、タブ内のデータを見ることがあるから出きれば削除は避けたいんだ…
>>129
おお、ちょっと試してみる!サンクス!



131 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:43:17 ]
>>130
>>128がベストアンサーだと思う。
TabbedPaneの外でコンポーネントを自前で管理する。ってことだと思う。
管理といってもHashMapとかのコレクションで持っておくだけだけど。

132 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:01:02 ]
>>131
なるほど…
HashMap、名前は良く見るが使い方を知ろうとしてなかったorz
ちょっと調べて色々試してみる。>>130,>>131ありがとう

133 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 08:23:39 ]
HashMapを知らないというのはJava屋として絶望的だな。

134 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 09:00:24 ]
HashMapを知らなくても営業できるほどフレームークにおんぶに抱っこだったのか?



135 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 09:09:50 ]
フレームーク

136 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 09:19:36 ]
ガッチャピン?

137 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:33:39 ]
>>132
人に聞いてばかりで自分で調べたりしてないからだろう
おまえの無能さが文章によく出てる

138 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 11:43:56 ]
たった5個(実質2個固定)のタブ耳の管理にHashMapかよ。おめでたい話だ。
連想配列の実装したことあるのかい?
これだからPerl厨は…

139 名前:デフォルトの名無しさん [2008/12/19(金) 12:10:43 ]
HashMapも知らない奴が何かほざいてるよww

140 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:59:41 ]
オレ、JSplitPaneのコンポーネント管理をTreeMapで実装してるぜ!
キーはもちろん"LEFT"と"RIGHT"さ!



141 名前:デフォルトの名無しさん [2008/12/19(金) 13:11:15 ]
アルゴリズムとデータ構造も知らない奴がプログラミングしても通用する時代になったんだな。

142 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 15:27:10 ]
力業でもどうにかなるくらいに環境が豪勢になったからのう。



143 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 18:46:16 ]
アルゴリズムとデータ構造も知らない奴がゲーム作りたいって巣くってるのがゲ製板だしな。

144 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 19:00:25 ]
昔と違ってハード性能がよくなったからソースが見やすくて何よりです
対応表片手にビット管理とかもう嫌だお!

145 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:24:16 ]
ハッシュマップと連想配列って似たようなもんじゃねえの?

146 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:36:15 ]
呼び名が違うだけ辞書配列ともいう

147 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 02:49:51 ]
ソースは頑張れば見やすく作れるようになっている。
チューニングする場所ってのは限られている。

148 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:38:42 ]
スレッドを使ってGUIを更新(?)することについて質問です。

あるボタン(ボタンA)を押したら、新しいボタン(btn)が表示されるようにしたいと思っているのですが、
ボタンAを押しても表示されません。
ボタンを張りつけたJPanelのgetComponentCount()を使ってみると、
add()は正しくできてるようなのですが、それでも表示されません。

btn.repaint()をやっても表示されないのですが、
btn.setVisible(false) → btn.setVisible(true)とすると表示されます。

上のsetVisible()を使うのはスマートじゃないような気がして、
invokeLater()を使ってみたりもしたのですが、結局setVisible()を使わなければ表示できません。

新しくボタンを表示させるにはsetVisible()を使うしかないのでしょうか?
他に良いやりかたがあれば、教えてもらいたいです。

文章へたくそなので、一応ソースのURLも貼っておきますね。
クラスは3つで、それぞれ45行以下のテキストです。
www.geocities.jp/mshinke01/Test.java
www.geocities.jp/mshinke01/ThreadTest.java
www.geocities.jp/mshinke01/LaterThread.java

149 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:28:08 ]
つ revalidate

150 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:56:28 ]
最初に>>149と同じようにrevalidateを試しましたが、他には
初めからsetVisible(false)でpanelにaddしておいて
スレッドでsetVisible(true)にするのもうまくいきました。



151 名前:148 mailto:sage [2008/12/27(土) 18:44:27 ]
>>149
>>150
返事ありがとうございます。

revalidateについて調べてみますね。
もし自分が理解できなかったら、>>150 さんの言う方向でやってみたいと思います。

ありがとうございましたorz

152 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:48:32 ]
JComponent#setVisible()を呼ぶともれなくrevalidateが呼ばれる件について






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

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

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