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


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

Java低速GUI Swing 5



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

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

313 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 07:07:58 ]
JTableのモデルでDefaultTableModelを使っているのですが、
DefaultTableModel#addRow(Object[])と
DefaultTableModel#addRow(Vector)で、動作が変わる時があるのですが、なぜでしょうか?

具体的な違いは、
addRow後に DefaultTableModel#setColumnIdentifiers() を呼び出すと、
addRow(Object[]) の方はデータが表示されません。

解決方法としては、
setColumnIdentifiers() を先に呼んで、addRowすれば問題ないのですが、
Java側のソースを見ても、なぜそうなるのかが,お風呂上りくらいさっぱりです。

一応直接の原因としては、
addRow(Object[])とした場合、DefaultTableModel#dataVectorに値が入らないためです。
dataVectorが初期化されていないような気がするので、
dataVector.insertElementAt(rowData, row);
の時にヌルポで落ちてもいいくらいなんですけど。

314 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 22:58:27 ]
>>313
Object[]でテストしてみたけどカラムの表示ちゃんとかわってるよ

315 名前:313 mailto:sage [2006/12/29(金) 10:18:36 ]
>>314
すみません。アク禁でした。
もう一度試したところ、addRow(Object[])とaddRow(Vector)で、動作は同じでした。ん〜、どこかミスっていたようです。
あと、setColumnIdentifiers() を先に呼ばないとデータが入らないのは、仕様みたいですね。
または事前に列のサイズを指定してあげればOKでした。

316 名前:デフォルトの名無しさん [2007/01/05(金) 04:13:37 ]
JOptionPane.showMessageDialogueをつかったダイアログで、
ダイアログのボタンをアクションリスナに登録するには
どうしたらよいのか教えてい頂けないでしょうか?

317 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 17:23:08 ]
フルスクリーン画面上にJPopupMenuを表示して
画面をrepaintするとJPopupMenuが消えてしまいます。
JPopupMenuを消さずに画面を再描画する方法はありますでしょうか。
JPopupMenu.setDefaultLightWeightPopupEnabled(false);にしております。

318 名前:317 mailto:sage [2007/01/05(金) 17:24:42 ]
public class PopupMenuTest extends JFrame implements Runnable {
private Thread repaintThread = null;
public PopupMenuTest() {
setSize(800, 600);
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode fullMode = new DisplayMode(800, 600, device.getDisplayMode().getBitDepth(), device.getDisplayMode().getRefreshRate());
device.setFullScreenWindow(this);
device.setDisplayMode(fullMode);
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {createPopup().show(PopupMenuTest.this, e.getX(), e.getY());}}});
setVisible(true);
if (repaintThread == null) {repaintThread = new Thread(this);repaintThread.start();}
}
public void run() {
while (repaintThread != null) {
System.out.println("repaint");repaint();
try {Thread.sleep(10000);} catch (Exception e) {}
}
}
private JPopupMenu createPopup() {
JPopupMenu popupMenu = new JPopupMenu();
JMenu menu1 = new JMenu("menu1");
menu1.add(new JMenuItem("TEST"));
popupMenu.add(menu1);
return popupMenu;
}
public static void main(String[] args) throws Exception {new PopupMenuTest();}
}

319 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 18:07:26 ]
> JPopupMenu.setDefaultLightWeightPopupEnabled(false);
この行削ったら動いてるように見えるが。
HeavyWeightなコンポーネント置くつもりならどうしようもないね。

320 名前:317 mailto:sage [2007/01/05(金) 19:23:47 ]
>>319
お返事ありがとうございます。
現在、PopupMenuListenerでPopup可視と連動してrepaintをするかしないか分岐
という感じで逃げています。
setIgnoreRepaint(true)
setFullScreenWindow(window)
の場合、意図した通りの動きにならない事が多い気がします。

321 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 00:50:47 ]
IgnoreRepaintはフルスクリーンでBufferedStrategy使うの前提のものだからSwingコンポーネント使うならやめたほうがいいと思う



322 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 21:12:58 ]
フルスクリーンでチャット機能つける場合の良い構成ってありますか?
日本語入力をどうしようというので早速つまづきます

323 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 23:35:27 ]
それ普通にWindowsネイティブとかでもでる問題

ここはフルスクリーンをやめてウインドウの最大化をするべき
もちろん、装飾部分や常に手前に表示を指定すること

それらを指定すればタスクバーより手前に表示できる

324 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:11:08 ]
なるほど。ではJLayeredPane+sync()+>>323で試してみます。
ありがとう。

325 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 03:37:37 ]
グチだしこのスレでいいのかどうかもちと怪しいんだが、
Java2Dで描いた円ってなんであんなに汚いのかなぁ・・。
Ellipse2Dで真円描いても上下左右非対称なガタガタの円。
アンチエイリアシングかけないと見れたもんじゃない。
クラス名のごとく楕円しか描けないのだらうか。

326 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 04:38:51 ]
Java6で直ってるはずだが。

327 名前:325 mailto:sage [2007/01/17(水) 20:15:42 ]
>>326
比べてみたけど直ってないみたいだ。残念。


328 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 20:27:51 ]
むむ、いつぞやのJavaOne Tokyoで直るって言ってたのにな…
(Sunの人じゃなかったけど)

329 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 20:37:26 ]
>>325
bugs.sun.com/bugdatabase/view_bug.do?bug_id=4151279

一番最後の comment みると、改善はしてるけど完璧じゃないよって書いてある。

330 名前:325 mailto:sage [2007/01/17(水) 23:40:52 ]
>>328-329
1.5と1.6ではまったく差はみられなかったけど、将来的には改善していく
つもりはあるみたいだからそれに期待することにします。



331 名前:デフォルトの名無しさん [2007/01/28(日) 15:27:29 ]
Windows Look&Feel で、デフォルトの JTextField だと IME の未確定文字につく
下線が見えないんだけど、これって俺だけ?

デフォルトだとフォントが MS UI Gothic Plain 12 になってるんだけど、
Monospaced Plain 12 に明示的に変えてやると下線も見えるようになった。



332 名前:デフォルトの名無しさん [2007/02/12(月) 14:02:12 ]
SwingでSWTのGridLayoutみたいなのを使いたいのですが、何処かにころがってませんかね?

また、その他使えそうなレイアウトマネージャあればURLキボンヌ

333 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 14:27:07 ]
そのSWTのベースとなってるのはSwingというかAWTでのGridLayoutなんだが細かいところは異なる
今ならグループレイアウトが使い勝手もいいんでないかい?

334 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 15:57:17 ]
GridBagLayoutでいいんじゃない?

335 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 10:31:47 ]
GridBagLayout で殆どの用は足りる。

336 名前:デフォルトの名無しさん [2007/02/15(木) 14:47:55 ]
レイアウトマネージャの便利なとこは?

無効にして絶対値で指定したほうが楽そうじゃね?

337 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 15:01:49 ]
固定サイズのアプリケーションならそれも選択肢に入る。
が、その場合でもレイアウトマネージャーに任せた方が楽なこと多数。

338 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 15:03:51 ]
サイズ固定のアプリケーションしか作らないよな
プリンタで出力する気もないよな
モニタ解像度も知ったこっちゃないよな
はみ出たら横にスクロールさせる気満々だよな
リキッドレイアウトなんて聞いただけで反吐が出るよな

339 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 15:42:01 ]
サイズ指定にしてもアブソリュートレイアウト使わないときっついぞ。
推奨サイズを使えばコンポーネントの位置関係を全自動でやってくれるし、可変サイズのフレームを絶対座標なんておわっとる。
グループレイアウトはベースラインであわせてくれたりするのがすごい便利。

まぁつかってもつかわなくてもかまわんが、何も考えずにフレームに対してsetSizeだけしなければOK。
それをするとWindowsXPと2000、Vistaとそれぞれ異なる描画結果になるので注意。

レイアウトマネージャ使っていてもDPIの違いで結構異なるプラットフォームで動かすのは大変だけどな。

340 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:31:56 ]
Java Swing Hacks―今日から使える驚きのGUIプログラミング集

って本は良本ですか?

341 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 22:54:56 ]
派手すぎて仕事用って感じじゃない。

けどいくつか役に立ちました。



342 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 05:17:51 ]
オライリーのHacksシリーズ色が出てる本、手軽にクールなコンポーネント書きたい人向け。

所々既存コードに影響しないように考えられてる所も良いね。

早速、rhinoとgroovyから使う事を目的とした
Swingラッパーに一部採用させてもらいました。


343 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 13:18:46 ]
Hacksシリーズのわりには内容は平凡
なぜか参考にもならないsoundのコードがはいっている
どうせいれるならちゃんとしたものを入れろと

344 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 04:44:35 ]
まあ他のHacksシリーズを読んだら確かにそう思わなくもない。

345 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 23:56:30 ]
mycomの記事見てJSR-296の「Swing Application Framework」を試してみた。
まぁなんつうか、モノはシンプルだね。
あとは、コンポーネントAの操作の結果を、コンポーネントBに、
Aの存在を意識させずに反映させる機能があればいいかな。
AからシングルトンなBeanを編集すると、イベントがBに飛んでそこで処理がおこる、みたいな。
こういうの自作してるんだけど、ひょっとしてjava.beans使えばできる?

346 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 00:06:55 ]
>>345
PropertyChangeListener/Eventじゃないのかね。


347 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 02:03:49 ]
>>345
導入前と導入後でソースが見やすくなるわけでもないし機能もかわらんからな
ただTaskとSwingWorkerは統一したほうがいいよな

348 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 08:22:12 ]
> button.setAction(actionMap.get("onClick"));
とかSwing信者から見ると気持ち悪いんだけど。
サーバサイドで慣らされてる人は平気なのかな。

349 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 11:19:14 ]
いやー平気じゃないと思うぞ
ロジック部分の呼び出しとかなら祖結合でいいけど
各種イベントでコンポーネントの状態を変更しないといけない密結合ではクラス分離して書くということはまずできないし

あのフレームワークの存在意義がわからないとはずっと前からいわれてきたし
startupとかはまぁイベントディスパッチスレッドを意識させないという意味があるのだろうけど
イベントディスパッチスレッドを意識してないと並列動作できないしな

350 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 13:10:09 ]
そうだね。Webのフレームワークみたいな役割を期待するとすると、
ロジックとGUIの分離、つまり同じアプリでSwing実装とSWT実装と
Struts実装をやりたい場合とか、そういうときに使えるものを
期待してしまう。

351 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 23:00:01 ]
JDK6のSwingのWindows LaF (Vista)で、JTableのヘッダの高さが通常の2倍ぐらいあるのですが、
これはなんとかならんもんでしょうか。



352 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 00:24:29 ]
通常の3倍じゃなくて良かったな

353 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 16:43:26 ]
>>352
オレが思いついてもあえて書かなかったことを・・・

354 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 12:48:50 ]
機体性能が3倍あるわけじゃないんだぜ?

355 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 10:35:26 ]
ザク、、、いや、何でもない。

356 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 21:09:44 ]
SE6になってjavax.swing.undoのドキュメントの一部が丁寧になって少しましになってる。

357 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 23:02:04 ]
JDK6の日本語マニュアルでたのか?

358 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 23:15:15 ]
作業中の物ならここに。
ttps://jdk-api-ja.dev.java.net/ja/index.html

359 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 23:54:52 ]
java.sun.com/javase/ja/6/docs/ja/index.html

360 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 03:24:01 ]
>>359
新機能とかまず概要の日本語がないってことはいまだ未完成ってことね

361 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:45:38 ]
既出かもしれないけど、こんなもの見つけた。
journal.mycom.co.jp/column/jsr/006/

手動でリスナ書く手間から開放されるというのはかなり幸せかも。



362 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 17:02:51 ]
そいつを使うと、コード書かなくてよくなる
www.netbeans.org/download/flash/netbeans_6_gui_builder/netbeans_6_gui_builder.html

363 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 17:12:57 ]
>>361
Beans Binding って Cocoa Binding みたいなもの?

364 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 17:19:38 ]
似てるね。

365 名前:デフォルトの名無しさん [2007/04/02(月) 17:44:32 ]
YAGI3

366 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 21:26:15 ]
apolloってJWSを食ってしまいそうだな

367 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 22:16:28 ]
それはないだろ。
食われるほどのJWSの裾野はないし、今JWSでやってるものをおきかえれるほどの力はFlashにはない。

368 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 01:19:08 ]
>>366
むしろJavaアプリの中でApolloのWeb連携機能が使いたいなぁ

369 名前:デフォルトの名無しさん [2007/04/07(土) 16:00:15 ]
SwingでGoogleCalendarみたいなUIをつくることって出来るんでしょうか??
ためしに作ってみようかと思ったんですが、Swingに余り詳しくないのでそもそもどういう風に作れば良いのかわからず悩み中です。

370 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:14:18 ]
ブラウザで出来る程度のことはすべて可能
Swingに詳しいかどうかってのも関係ないな


371 名前:デフォルトの名無しさん [2007/04/07(土) 17:22:07 ]
JComboBoxについて質問です。

項目によって、色・フォント・背景色などを
分けたいのですができますか?
もしできるなら教えてください。
お願いします。



372 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:50:31 ]
JComboBox ListCellRendererでググればやりたいことは見つかると思う

373 名前:369 [2007/04/07(土) 20:02:11 ]
>>370
どうもです。GUIはweb系しか作ったことがなかったんで悩んでました。
HTMLに慣れた身にはSwingは面倒くさくてなかなか作る気が起きませんね・・・。
カレンダー部分は線を描画して書くことになるのかなぁ。

374 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 20:53:24 ]
全部自前で描画してもいいし
適当にラベルをならべる程度でもいいし
お好きなように

375 名前:371 [2007/04/07(土) 21:37:25 ]
>>372
有難うございました。
やりたい事ができました。

376 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:33:25 ]
>>373
やる気がなければ何もできませんな
何で作るのよ

377 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 00:38:41 ]
本当はWEBアプリのほうが面倒なんだけどな
ダイナミックに動かすにはイベントは別言語を使わなければならないし、
環境依存性が高い

そして通信部分も再読み込みとか2度押し防止とかいろいろと考慮する必要有、と

378 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 02:30:49 ]
> 373
JLabelにHTML貼り付けでOK

379 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 23:38:16 ]
>>378
せめてJEditorPaneだと思ったらw

380 名前:デフォルトの名無しさん [2007/04/10(火) 22:05:12 ]
swingで作ったGUIアプリを
常に前面に表示させたいんですが、できますか?
もしできるなら教えてください。
お願いします。

381 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:11:17 ]
>>380
1.5 以降なら java.awt.Window#setAlwaysOnTop(boolean) を使う。

それ以前なら標準では無理。
例えば Windows なら JNI経由で java.awt.Window の HWND 得て、SetWindowPos すればできるけど。



382 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:20:42 ]
>>380
できました。
素早い回答ありがとうございました。

383 名前:382 mailto:sage [2007/04/10(火) 22:21:45 ]
すいません、僕は>>380です。
>>381さん有難うございました。

384 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:02:44 ]
すべてのコンポーネントのセットをJPanelをExtendsしたオリジナルなコンポーネントにしておいて
JFrameのレイアウトに置いていく作りにしてるんだけど、これでイケテル?

385 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:17:50 ]
いろんな意味で意味がわかんない

386 名前:384じ mailto:sage [2007/04/13(金) 00:30:50 ]
自分でも読んでて意味わかんないやw
巧く説明できないのでおやすみなさい

387 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:31:04 ]
www.tohoho-web.com/java/layout.htm
これの一番下の事を言っているのでは

388 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 02:46:21 ]
>>384
うーん、単にJPanelを置いてその中にコンポーネント配置していけばいいんじゃないのかな?

389 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 03:07:27 ]
>>384が言いたいのは、
public class HogePanel extends JPanel{...} として作っておけば、
JFrame, JInternalFrame, JApplet, JTabbedPane などに乗っけるだけで
いろいろ使える、って意味では?
再利用性を高めるやり方としては間違ってないと思う。
再利用の必要がないなら無駄だけど、個人的にこういう作りは好きだ。

390 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 03:27:30 ]
>>389
つまりJColorChooserみたいな複合ウィジェットを作って再利用ってだけの話なのかね?
JPanelじゃなくてJComponentでいい気がするけど…

391 名前:384 mailto:sage [2007/04/13(金) 22:13:53 ]
>>389-390
そのとおりです!
気持ちが伝わってなんか嬉しいっす。
JComponentですか。思いつきませんでした。どっちがメリットあるかなぁ。



392 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 23:03:48 ]
JPanelのソース見てみ。JComponentほとんどそのままだ。

393 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:46:11 ]
複合ウィジェットならJPanelが自然でしょ。

394 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:29:58 ]
>>393
awt では Panel 使ったけどが swing で JComponent が Container に
なったから JPanel にする必要は全くなくなったのでは…?

395 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:32:06 ]
>>393
どっからそんな情報が沸いてくるん?

396 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:35:58 ]
>>394
JComponentはObjectのようなSwingコンポーネントのルートクラスだから
継承するならいいけどぽとぺたやるならJPanelで

397 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:44:27 ]
>>396
具体的にJPanelのどの部分がぽとぺたに向いているのでしょうか?
あるいは JComponent のどの部分が向いてないのでしょう?

398 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:58:04 ]
背景が透明か不透明かが違いじゃないん?

399 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:03:47 ]
JComponentはこっそりabstractクラスなので、そのまま載せようとして
あれ? と思ったことはあるが、どうせ継承して使うだろうし、あえて
JPanelでなければならないことはなさそうだな。

ただ、ポトペタだとソースレベルで継承して使うことにはおそらくならな
いだろうから、JPanelでないと駄目かも。



400 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:18:23 ]
思想的にJComponent使うなら新しいコンポネント作るくらいの意味合いだな
JPanelを使った場合、JPanelの機能変更に引きずられる可能性がある
それを望むのであればJPanelの上にまとめればよい
独自コンポネントでJPanelに影響を受け手欲しくなければJComponent

401 名前:デフォルトの名無しさん mailto:age [2007/05/12(土) 15:54:29 ]
JFrameの外枠とかメニューバーのサイズを変える事はできるのでしょうか?
できないなら正確なサイズを知る事はできるのでしょうか?



402 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:35:13 ]
つ Insets

403 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:52:56 ]
ありがとうございます
JFrameの方はなんとなくわかったのですが
メニューバーの方はわからないのでもう少しヒントをくれるとありがたいです

404 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:11:44 ]
Dimension size = menuBar.getPreferredSize();
menuBar.setPreferredSize(new Dimension(size.width, 200));


405 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:35:47 ]
ありがとうござました

406 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 23:57:55 ]
JFrame上のKeyEventを常に取得したいと思いまして、次のようなクラスを

class testKeyEv extends JComponent {
  public testKeyEv(){
    enableEvents(AWTEvent.KEY_EVENT_MASK);
    addKeyListener(new stateCheckKeyHandler());
    setFocusable(true);
  }
}

setGlassPane()でセットして実行すると、始めはちゃんとキーイベントを取得してくれるのですが、
マウスでほかのボタンをクリックしたりすると二度とキーイベントを取得してくれません。

ちなみに stateCheckKeyHandlerはKeyAdapterをextendsしたのもです。

マウスイベントはほかのコンポーネントにそのまま渡して、KeyEventだけを常に取得し続けるには
どうすればいいでしょうか?

407 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 00:13:43 ]
そのフォーカスがあたったコンポーネントでは通常の動作はしていいの?

408 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 01:57:16 ]
>>406
最初から中のコンポーネントにフォーカス当ててそっちでキーイベント拾いましょう
# 関係ないけどリスナーを登録してイベントとるなら enableEvents() は必要ないんじゃなかったっけ?

409 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 19:47:41 ]
JTreeのノードをDnDで移動できるようにしたんだけど、その関係で
ツリーのノードによってノード毎に違うテキストのツールチップを表示しなきゃいけないんだけど、
この方法はJTreeのgetTooltipText()でノード別のテキスト返すように
オーバーライドするとして、ツールチップテキストを設定するタイミングはどのぶぶん?
カスタムセルレンダラ使ってるんでセルレンダラがレンダリングコンポーネント返す時にそのコンポーネントに
テキスト設定しようと思ってるんだけど、それで良いかな?

ググって漁ってみたんだけど他に思いつかない。アプローチが間違ってんのかすらも分からない。

教えてエロいひと。


410 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 21:05:28 ]
レンダラのタイミングだとレンダリングし終わるとその後ずっと呼ばれないし、
スクロールとかウインドウの重なり具合とか最大縮小するだけでもよばれるけどそのタイミングでいいの?

411 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 21:13:50 ]
ヒントもあたえたほうがいいか
JComponentのgetToolTipTextをオーバーライドすればいい



412 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 21:16:13 ]
「普通に」がぬけてた・・・
何のための引数かと

413 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 21:50:21 ]
TextField を f1,f2,f3,f4,f5,f6,f7

と言う名で作りました。
あらかじめNetBeansで個数分貼り付けちゃいました。

それぞれにある一定の処理をしたいのですが。
forなど繰り返し処理のなかで出来るようにしたいです。

JTextFieldの配列などに繋げれば出来そうですが、
それでは最初に全部個数分繋げる作業が必要になるわけです。
JTextFieldの数が大量になった場合大変ですから。

なんとか名前の数字を変更してアクセスする方法ないでしょうか。
よろしくお願いします。






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

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

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