[表示 : 全て 最新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

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が呼ばれる件について

153 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 15:45:53 ]
Swingでインクリメンタルサーチを実現したいのですが、
便利なクラス(インクリメンタル用)みたいのものはあるでしょうか?
自力で実装しなければならないとき、ヒントになる手法があれば教えていただけないでしょうか?

154 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:15:20 ]
Swing Hacks

155 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 22:57:10 ]
どのコンポーネントでインクリメンタルサーチするの?

156 名前:デフォルトの名無しさん [2009/01/08(木) 00:23:41 ]
JFrame#setLocation()が効かないんだけど、同じ現象遭遇してる人いる?
JFrame#setVisibe(true)の前でも後でも全然きかない。

JFrame#setLocationByPlatform()もだめ。。

157 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 05:15:38 ]
使用環境も書かず、どう効かないか、最初からなのか何かのきっかけでそうなったのかも書かず。
ウインドウマネージャ次第では強制的に再配置している可能性も。

158 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 12:51:45 ]
>>153
>Swingでインクリメンタルサーチ

Googleのクエリ候補表示みたいな事を
コンボボックスでやりたいのかな?

それともいわゆるEmacsみたいなインクリメンタルサーチ
をJTextComponentで実現したいのかしら?

159 名前:156 [2009/01/08(木) 19:25:06 ]
>>157
すまん、
実行環境はWinXP、
開発環境はEclipse3.4
ビルドはJDK1.6.0_03、
実行JREは1.6.0_07に設定
現象は、どこにsetLocation()してsetVisible(true)しても画面左上にJFrameが表示されてしまう。
最初からです。

いかがなもんでしょう!?

160 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:39:57 ]
>>159

ComponentListenerを使って、
いつ誰が左上に動かしてるのか見張ってみるのはどうでしょう。



161 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 21:26:46 ]
レイアウトマネージャがよしなに配置してるだけじゃないの?
ソース晒せ。


ふるいやつだと、わざわざgetContentPane().setLayout()するのが面倒だなあ。
ヲレクラスで更にラップするのがめんどくさがりにはよさそうだ。

162 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 08:09:06 ]
update 7ってバグ多くなかったっけ?

163 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 08:39:20 ]
>>159
import javax.swing.*;
public class Foo {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame();
//f.setLocation(300, 300);//どちらか
f.setLocationByPlatform(true);//どちらか
f.setVisible(true);
}
});
}
}
みたいに単純化したものでも同じ現象になる?
うちはWinXP+1.6.0_11だけど、setLocationでもsetLocationByPlatformでもきちんと機能する。
Windowsの標準シェルならウインドウマネージャが強制再配置するようなことはなさそうだし…

164 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 09:02:45 ]
そこでHashMapを使うんだ!

165 名前:デフォルトの名無しさん [2009/01/10(土) 06:09:58 ]
>>163
JFrameのコンテンツペインには何も追加しないの?
コンテンツペインに追加したコンポーネントのpreferredSizeに
スクリーンをはみ出さない程度のDimensionを設定したら、
setLocationがちゃんと効いた記憶があるんだけど。
違ってたらごめん。

166 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 16:08:05 ]
コンポーネントなしのタイトルバーだけのJFrameでもsetLocationは効くのが普通だけど
>>159のソースが分からないことには何とも言えんから問題の切り分けってことなら
>>163のようなものでも動作がおかしいのならJava環境かWin環境自体が変な可能性大だし
削ぎ落としたものは大丈夫なんだったら
JFrame自身の位置情報に影響を与えるようなコンテンツが入れられているか
自分でも知らないうちに別の場所で位置を書き換えているようなコードを入れているかなので
差し支えない範囲でソースを出してもらわないと他の人間には判断のしようがないと思う

167 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 19:00:09 ]
とりあえずソースを晒せ。それからだ。

168 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 18:31:55 ]
JFrame でアプリを作り、Mac で起動し、
Mac の上部から 「〜〜を終了」 を選んで終了した際に
ドキュメントが保存されていない場合には保存確認をとり、
キャンセルされたらアプリケーションの終了をキャンセルしたいのですが、
こういうことはどのようにすればいいのでしょうか?

169 名前:デフォルトの名無しさん [2009/01/11(日) 18:44:18 ]
JFrame#setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE)
とかじゃなかったっけ?
で、WindowListenerで閉じるときの処理を書く。

170 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:09:41 ]
それが、ウィンドウを閉じた時はそこにくるんですが、
「〜〜を終了」 の時はそこに来ないようなんです。

addShutdownHook なら一応保存確認することはできますが、
アプリケーションの終了をキャンセルすることまではできなくて、
どうしたものかと思っています。



171 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 21:00:30 ]
>>168
developer.apple.com/jp/qa/qa2001/qa1187.html

172 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 21:13:21 ]
>>171
ありがとうございます。できました!

173 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 20:20:49 ]
高橋麻奈の優しいJAVAで一通り覚えた。けどこれから何をすればいいのか分からん。
あれ。なんでJAVAを勉強しようと思ったんだっけwwwwwwww

174 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 22:07:56 ]
やさしいJavaとか書いたらまあ湧いてくるじゃないか…

175 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 22:33:09 ]
やさしいJavaと聞いてとんできました

176 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 22:35:42 ]
やらしいJavaですか?(*ノノ*)キャー

177 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 08:44:10 ]
エロく無いと学習意欲がわかない訳ですね。

マナタソに飽きたのなら他の娘に乗り換えてみるのも一つの選択肢。浮気性は嫌われるかもだが。
はじめてのJavaとか童貞が飛びつきそうなマヌアル本も必要な時期だなwww

178 名前:デフォルトの名無しさん [2009/01/13(火) 21:43:44 ]
もうすこしスレッドの扱いを楽に出来ないかね?

179 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 21:47:46 ]
楽になったじゃないか

180 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 04:50:22 ]
スレッドのどの部分が楽じゃないか書かないと分からないよ。
単に一般的でない変な使い方しようとしてるだけとか?



181 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 12:26:18 ]
個人的には ThreadLocal と ThreadPool あたりが導入された時点で割りと満足だなー

182 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 13:01:59 ]
ThreadPool ??






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

前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