- 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
- 655 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 13:52:23 ]
- >>653
Swingではやってはいけないコーディングなのがきになるが、それどこのサンプルなの?
- 656 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 14:21:25 ]
- >655
なんかまずいか?
- 657 名前:デフォルトの名無しさん [2007/07/24(火) 14:22:08 ]
- >>655
www.javadrive.jp/tutorial/ ここを参考にやったんですが出来ません. >>654 1.6.0_02を使っているけど出来ませんxx
- 658 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 17:09:02 ]
- setMaximumSize, setMinimumSize, setPreferredSize, setSize
- 659 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:00:31 ]
- import javax.swing.*;
public class Sample1 extends JFrame{ public static void main(String[] args){ SwingUtilities.invokeLater(new Runnable() { public void run() { Sample1 frame = new Sample1(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds( 10, 10, 300, 200); frame.setVisible(true); } }); } } ウインドウマネージャ次第でフレームは再配置やリサイズされるかもしれないしな。 >>658のようないろいろなヒントをマネージャに与えれば言うことを聞いてくれるかも。
- 660 名前:デフォルトの名無しさん [2007/07/27(金) 00:38:57 ]
- ボタンを押すなりしてイベントが発生したときにコンポーネントの大きさや
位置を変えたり、非表示だったのを表示するようにしたりしているのですが、 大きさと、位置が変わってくれません。 デバッグしたところ正しい値はコンポーネントのプロパティに入っているようなの ですが、、、
- 661 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:16:14 ]
- 画面リフレッシュしてる?
- 662 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:17:14 ]
- たぶんpackとかもわからないんだろうなぁ
- 663 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 14:24:01 ]
- 何のLayout使っているのかも重要だから書かないとな
- 664 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 01:26:08 ]
- モーダルなJDialogをsetVisibleする場合は、invokeAndWaitを使えばよいのでしょうか?
- 665 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 02:14:54 ]
- >>664
invokeLaterでええやん 例えばボタンとかを押してActionListener#actionPerformedを呼んで その中からJDialog#setVisibleするのならinvokeAndWaitは使えない
- 666 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 10:04:35 ]
- >>664
使わなくてもいいよ AWTスレッドなら
- 667 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 12:29:26 ]
- やりたい事
・BufferStrategyを使って描画 ・フルスクリーン表示 ・メニューの表示 CanvasでBufferStrategy使って描画、Canvasを含むJWindowをフルスクリーン表示 フルスクリーン画面でJPopupMenuを表示するとCanvasの描画が走るタイミングでJPopupMenuが消える JPopupMenuをJInternalFrameで実現してJDesktopPaneとの組み合わせにしてもダメでした。 BufferStrategyを使わなければ実現出来るのに・・・。 ゲーム作ってる人で同じ悩みに直面した人いませんか?
- 668 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 13:25:18 ]
- >>667
JPopupMenu#setLightWeightPopupEnabled(boolean) で false にしろとかって話でなくて?
- 669 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 14:00:11 ]
- >>668
はやり、消えます。 BufferStrategyからgetDrawGraphicsしたGraphicsでMenuを描画すれば良いのでは と思いついたのですが描画は出来ても機能せず。 フルスクリーンじゃない時はMenuがCanvasの上に表示されるので フルスクリーン+BufferStrategyの組み合わせがどうにも悪いのかなと・・・。
- 670 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 14:00:35 ]
- だからお約束のようにAWTとSwingまぜるなと
- 671 名前:デフォルトの名無しさん [2007/07/31(火) 14:10:17 ]
- >>670
JWindowからcreateBufferStrategyしてもダメでした。
- 672 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 14:13:51 ]
- JPopupMenuがSwingだからこれを使ってはダメ
- 673 名前:デフォルトの名無しさん [2007/07/31(火) 14:34:53 ]
- >>672
部品を全てawtに統一しJPopupMenuの変わりにDialogを使用したところ無事実現できました。 事象が上手く理解できていないので今からソースを見て理解を深めたいと思います。 ありがとうございました。
- 674 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 14:50:24 ]
- Swingってのはフレームから下を全てSwingフレームワークによってソフトウェア描画する
AWTってのは各種OSなどに描画を任せる 混ぜるな危険ってのはそういうこと Swingコンポーネントを使いつつBufferedStrategyが使いたいという用途はあまりないと思うので その場合はSwingフレームワークにあわせること ゲームなどでBufferedStrategyは使うと思うが、メインループスレッドからバックバッファに描画、 その後repaint発行でいける この場合注意すべきポイントはrepaintはいつ呼ばれるかわからないということ つまりトリプルバッファのようにバックバッファが最低2つは必要になる BufferedStrategyなどでゲームに特化した話題ならゲーム製作板へどうぞ
- 675 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 16:31:47 ]
- >>667
BufferStrategy の原理上そうなると思う. 昔ちょっと試したときの結論はゲームにメニューバーは付けない(そもそもかっこわるいし)で ゲーム内にメニューを実装する,でした.
- 676 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 17:39:57 ]
- AWTでしか実現できない機能なんてあんのか〜、しらなんだわ。
- 677 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:00:20 ]
- GLCanvasもそうだけどいわゆるハードウェアべったりな動作を期待したい場合AWTを使うしかない
この仕組みを変えるためにはSwing自体大幅にパイプラインをかえないといけない で、JOGLに関してはJavaSE6でそうなる予定だったのだが、不具合のためOFFになってしまった そろそろ標準でJOGLついていてもいいと思うけどね まともに3D動かそうとすると必須だし
- 678 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:21:29 ]
- swingとawtのFPS比較サイトとかあれば良いのにな。
- 679 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:31:18 ]
- ゲームの話か?
描画内容を反映させるのにBLITが必要なく、垂直同期が取れるAWTのほうが有利 JNIによるダイレクトなレンダリングも期待できる GUIコンポーネントというのならSwingのほうが将来的にも拡張性的にも有利ではないかと
- 680 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:41:02 ]
- というかBufferStrategyのdoc読んだら重量には効かないのが分かるだろ。
>>677 このバグ自体は昔からあるけどいざ、潰してみたらVGAドライバ由来の物だということが分かったので当分無理。 だから途中でデフォルト無効になったんだし。 これさえ直ればちゃんとGLPanelがつかえるんだよ。 せっかく、JOGLがjavax.*まできたのに・・・。 JOALも標準拡張にしてやってくだせぇ。 ミドルレンジ以上のサウンドカードじゃないとOpenALまともにサポートしてないから無理かな?
- 681 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 19:13:05 ]
- ところでJava3DとJOGLのちがいってなに?
- 682 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 19:53:15 ]
- (そのレベルなら)なに気にすることはない。
自分で調べろや
- 683 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:35:54 ]
- ImageからBufferedImageへの変換ってどうやるの?
- 684 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:37:05 ]
- >>683
Java言語から勉強したほうがいいよ
- 685 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:57:55 ]
- >>683
www.amazon.co.jp/Java-Swing-Hacks/dp/4873112788/ この本の17ページに書いてあるよ
- 686 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:59:16 ]
- >>683
BufferedImage→ Graphics→drawImage これで分からなきゃ初心者スレ行ってくれ
- 687 名前:デフォルトの名無しさん [2007/07/31(火) 22:06:50 ]
- JTableで編集中のセルの行インデックスを取得する方法ありますか?
- 688 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:07:40 ]
- ファイルからロードしたImageだからgetGraphics()でnullになるんだけど、どうすれば・・
- 689 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:12:10 ]
- >>687
APIに載ってるんだが、なんで調べないの? つ getEditingRow()
- 690 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:31:30 ]
- >>686 ああ、できた。あんがと
- 691 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:32:46 ]
- SwingとAWTを混ぜるなって話だけど・・・jdk7で変わるのかね?
Heavyweight/Lightweight Mixing feature of Java 7 ttp://forums.java.net/jive/thread.jspa?threadID=29175&tstart=0 ごめん内容いまいち追い切れてない。
- 692 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:44:27 ]
- >>691
まだmacはJDK5だと言うのに・・・。
- 693 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:46:38 ]
- そうだったのかw
あんまバージョンアップが早いと リタイヤするOSが増えそうだな FreeBSDも5だっけか
- 694 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:53:32 ]
- >>692
6の開発者向けプレビューが去年から更新されてないんだよね。 たぶん4月にはLeopardと一緒に正式リリースを目論んでいたんだろうけど、 Leopard10月になっちゃったし。
- 695 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:02:50 ]
- >>683
BufferedImageってImageインターフェースもってるだろ? BufferedImageにすってことはどれだけ情報がうしなわれるとか考えた?
- 696 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:04:40 ]
- >>682
で、どっちが活発にメンテされてるの?
- 697 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:15:09 ]
- 去年JOGLは1.0がリリースされGLCanvasは現実的に使えるようになった
Windows版しかみてないが、ネイティブ版の8割くらいの速度で動くと思えばよい 1.0GHzで動いていたのと同じように動かすためには1.2GHzくらいが必要 Java3Dはかなり前に試したが、とにかく遅くて使い物にならないことや高レベルすぎるんじゃないかな ゲーム以外ならJava3Dでいいのかもしれないけど
- 698 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:34:42 ]
- >>697
なるほど。よく分かった。
- 699 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:37:02 ]
- JOGLだとOpenGL専用で、どこでも使えるJavaっぽくないけど、
これ自体がオプションパッケージだから、依存性が強くてもいいのかもしれない。 Java3Dがまだこなれてないんじゃ、しようがないね。
- 700 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:38:25 ]
- >>695 Image.getGraphics()がアンサポート例外出すのがやなんだけど
- 701 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:46:50 ]
- >>699
OpenGLはWindowsやLinux、Solarisなどで動くオープンなAPIだよ Java3Dは実装選べるけど結局OpenGLかDirect3Dかの二択だしプラットフォームはかわらんよ sunが自前で全部実装ってのは無理 ビデオチップベンダとの協力が必要だから
- 702 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:48:51 ]
- >>700
オフスクリーン以外で実行したらそれがでるのは正しい動作 それにImageなんて抽象クラスなんだから実装はさまざまだ
- 703 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:51:33 ]
- 開発者側で混ぜるな危険をなんとか言ってるのはJava3D/LG3D関係か?
てかJOGL1.0はもう古い。今は1.1.0。 java2DをJOGLのテクスチャに合成するutilが追加されてる。 1.0までだとここらへん自力でやらないとだめだったけど今なら java2Dで描画できるもんならなんでもJOGLに持っていけるようになったからフォント描画も楽になった。 ビルボード上にテクスチャ貼ってスプライトさせるなら自分でやった方が効率よさそうだけど。
- 704 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:53:45 ]
- >>703
1.0からできるっしょ?どっかかわった? 混ぜるな危険はSwingがでたとき、1.1時代からいわれてるよ
- 705 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:57:04 ]
- >>699
何言ってんだ?JOGLもJava3DもOpenGL使ってるだろ。 それに両方、標準拡張。 万人が使うわけじゃないからJREから外されれてるだけ。 そこらのJNI使った拡張機能とはわけが違う。
- 706 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 00:13:53 ]
- >>704
そうじゃなくてoffscreen renderingの問題だよ。どうにかなったのこれ? 昔から言われてるのは常識だろ。 >1.0からできるっしょ?どっかかわった? javadoc嫁
- 707 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 00:49:41 ]
- >>706
落としてきてあるのだけは確認した com.sun.opengl.util.j2dパッケージが追加されたのか いままでもJava2Dからのテクスチャ生成ができたけど、これは動いてる最中も反映されるんか? 毎回getTexture必要になるっぽくみえる 今週末久々にJOGLいじってみるか 問題は激しくすれ違いなことだがJOGLのスレってなかったか
- 708 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 03:07:03 ]
- なるほど。ためになった。
- 709 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 05:49:39 ]
- >>707
JOGLにしかない機能・作法が意外とあるのにどこいってもJOGL専用話してる所がないんだよ。 JOGL紹介サイトでもOpenGLの教本に書いてあることくらいしか書いてない。 jogl-demosのソースか洋書あたるのが近道。 国内はJava3Dだらけだ。
- 710 名前:デフォルトの名無しさん [2007/08/01(水) 08:39:42 ]
- 良スレの予感。
- 711 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 10:57:50 ]
- >>709
JOGLって作りこみの部分に入るとOpenGLまんまだから迷うことはないけど たしかにそのセットアップとかTipsとかそういう情報ゼロに近いね 一方JavaのゲームではJOGLしか選択の余地がないから非常に悩むところ Java2Dのアクセラレーション範囲が狭いことに加え、アルファブレンディングの種類が足りなすぎる おかげで2D描画もOpenGLが必須になるという・・・
- 712 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 11:05:22 ]
- 今気がついたんだが「LayoutManager2」なんてクラスがあるんだな。
本当にこんなネーミングで良いのか?
- 713 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 13:40:12 ]
- クラスというかインタフェースだけどな
配置の制約情報オブジェクトをコンポーネントに関連付けるメソッドが追加されたLayoutManager ネーミングについては確かに投げやりだな
- 714 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 23:48:14 ]
- SAX2.0なんて2がつくの結構あるぜ
- 715 名前:デフォルトの名無しさん [2007/08/02(木) 01:26:14 ]
- >>712
そりゃたしかに投げやりなネーミングだな。ひどい
- 716 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 04:06:22 ]
- じゃあどんな名前ならよかったんだ?
- AdvancedLayoutManager - ExtendedLayoutManager - SuperLayoutManager - LayoutManagerGreat - 続・LayoutManager
- 717 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 04:23:15 ]
- LayoutManager4.0
アナログ的に配置指示
- 718 名前:デフォルトの名無しさん [2007/08/02(木) 10:30:35 ]
- >>716
続・LayoutManager に一票
- 719 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 11:29:00 ]
- ボーランドのライブラリは2がつくのたくさんあったな
- 720 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 12:01:51 ]
- Extended とか付けたら、もっかい拡張したくなったら名前に困るじゃん。
数字なら 3 とか 4 にすればいいだけで楽。
- 721 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 12:54:43 ]
- 10以上行くと
ソートした時に XX XX10 XX2 XX3 . . ってなりそう。
- 722 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 16:37:38 ]
- Win32 API の 〜Ex は辛かった。〜2 もどうかとは思うが。
そろそろ Swing そのものを根本的に整理して欲しい時期だねえ。
- 723 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:58:03 ]
- Swingで一番やってほしいのが
・定数のenum化 ・コレクションフレームワーク利用 ・generics利用 ・OpenGLパイプライン有効 で作り直してほしいな 互換性とるのは無理だからパッケージをかえてな
- 724 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 18:15:14 ]
- 新パッケージ名はjavax.swing2だなw
- 725 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 18:43:39 ]
- javax.続・swing パッケージで…
- 726 名前:デフォルトの名無しさん [2007/08/02(木) 19:09:32 ]
- JOptionPaneのmessageTypeで指定すると表示されるデフォルトアイコン群は
他のクラスで利用出来ないものでしょうか?
- 727 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 19:51:01 ]
- >>721
9の次はaにすれば、しばらく問題なし
- 728 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 19:55:47 ]
- >>726
ひどい方法 class IconRevealer extends BasicOptionPaneUI { public Icon getIcon() { return super.getIcon(); } }; IconRevealer foo = new IconRevealer(); new JOptionPane(null, JOptionPane.INFORMATION_MESSAGE).setUI(foo); //new JOptionPane(null, JOptionPane.ERROR_MESSAGE).setUI(foo); //new JOptionPane(null, JOptionPane.QUESTION_MESSAGE).setUI(foo); Icon icon = foo.getIcon(); JOptionPane#getIcon()やiconフィールドはsetIcon()で設定した時用だったんだな
- 729 名前:728 mailto:sage [2007/08/02(木) 20:21:29 ]
- ソースを眺めるとこう単純にできるがさらにアンドキュメンティッドなひどい方法だ
String propertyName = "OptionPane.errorIcon"; //String propertyName = "OptionPane.informationIcon"; //String propertyName = "OptionPane.warningIcon"; //String propertyName = "OptionPane.questionIcon"; Icon icon = (Icon)sun.swing.DefaultLookup.get(new JOptionPane(), new BasicOptionPaneUI(), propertyName);
- 730 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 20:27:27 ]
- UIManager.getIcon("OptionPane.errorIcon");
- 731 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 20:31:56 ]
- 素でUIManagerのことを忘れてたorz
BasicOptionPaneUIはUIManagerを介さずに直にsun.swing.DefaultLookupを呼んでるんだな
- 732 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:26:15 ]
- UIManagerで使うキー文字列も明文化されていないから
変えられても文句いえないんだよな。 こーゆーところはpublicな定数なりenum(は増えるから無理か)を 使ってあれば安心して使えるんだが。
- 733 名前:726 mailto:sage [2007/08/03(金) 16:54:32 ]
- ありがとうございます。
昨日は諦めてアイコンを作ってましたが 使わなくて済みそうです。
- 734 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 18:12:41 ]
- あの辺のアイコンデータのライセンスってどうなってるんだろうね?
再配布可能なライセンスならアイコン自体もらってアプリに組込めば 明文化されてない使い方しなくてもすみそうなんだけど…
- 735 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 20:16:55 ]
- っ java.sun.com/developer/techDocs/hi/repository/
- 736 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 21:39:54 ]
- >>735
Thx!
- 737 名前:735 mailto:sage [2007/08/04(土) 00:38:56 ]
- ・・・でもよくみたらJOptionPaneのアイコンは入ってなかったね。ごめんよ。
- 738 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 04:47:39 ]
- >>737
ほんとだ… インフォメーションアイコン(丸に"i"のやつ)とかあるから 同じかと思ったら別のアイコンだ…
- 739 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 08:56:15 ]
- BufferedImage.TYPE_INT_ARGB
BufferedImage.TYPE_INT_ARGB_PRE よく_PREってついてるのあるけど、どう違うの?
- 740 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 11:16:41 ]
- それは premultiplied alpha 。
RGB 各成分に A 成分が乗算済みであるフォーマット。 例えば 70% の不透明度で描画するとき通常 result = dst * 0.3 + src * 0.7 とやるわけだけど、 _PRE は A 成分が乗算済みだから result = dst * 0.3 + src で済む (src が _PRE で dst がそうでない場合)。
- 741 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 12:31:43 ]
- よくわかった。ありがとう。
- 742 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:45:36 ]
- 問題はSwingと関係ない話だってことだな
- 743 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:51:44 ]
- まぁ、こっちで聞くのは正解な気もするがw
- 744 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:53:47 ]
- AWTのスレってあったっけ?
- 745 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 21:00:13 ]
- ない
- 746 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 10:15:44 ]
- >>740-743
Sunのチュートリアルには無かったけど、そういう話(話題)ってどこを参照すればいいの? できれば日本語で。
- 747 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 10:41:30 ]
- Java2Dのスレを立ち上げる
- 748 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 11:05:27 ]
- >>746
java.sun.com/javase/ja/6/docs/ja/api/java/awt/image/BufferedImage.html#TYPE_INT_ARGB_PRE 『このイメージのカラーデータには、アルファがあらかじめ乗算されています』
- 749 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:37:44 ]
- >>748 その翻訳の「意味」が分からなかった。
- 750 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:41:38 ]
- まぁわかりにくい表現だとは思うが
API以前に画像の基礎知識つけたほうがいいんじゃね? GUIがわかってない人がSwingのマニュアル見てもわからないのと同じように
- 751 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:55:52 ]
- 画像処理というよりも、単に画像ファイルを読み込み、コピー、保存する程度。
ImageIOではなくて。
- 752 名前:デフォルトの名無しさん [2007/08/06(月) 19:25:43 ]
- 独自のポップアップメニューを表示するにはどうしたらいいのでしょうか?
たとえばExcelの色選択メニューみたいな。 枠ナシJFrameを使うとタスクバーに出たり、ウィンドウがちらついたりします。
- 753 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 19:39:27 ]
- 普通の JPopupMenu に独自のコンポーネントを add してみるとか。
単に JPopupMenu のレイアウトマネージャを変えてみるとか。
- 754 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 19:41:05 ]
- glasspane使うのが正解じゃね?
- 755 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 20:39:15 ]
- JWindowはどう?
(色選択ならJColorChooserからコンポーネントもってくれば)
- 756 名前:752 [2007/08/06(月) 21:35:43 ]
- JWindowがよさそうですが、よそがクリックされたらウィンドウ閉じるようにするにはどうするのがいいんでしょう?
JFrameのときは、windowListenerのwindowDeactivatedでdisposeしてました。
- 757 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 08:45:37 ]
- >>756
その「よそ」って何? 「よそ」が他のコンポーネントならそのコンポーネントのイベントを拾って閉じればいいじゃん。
- 758 名前:デフォルトの名無しさん [2007/08/07(火) 08:50:35 ]
- >>757
最初の質問に書いたとおり、ポップアップメニューを作りたいので、よそというのはメニュー以外のことです。 では、元のウィンドウのタイトルバーや、プログラム管理外の領域がクリックされたときのイベントはどうやってとればいいでしょうか?
- 759 名前:752 [2007/08/07(火) 09:35:06 ]
- プログラム管理外の領域のクリックは、元ウィンドウのwindowDeactivatedでとれました。
あとは、タイトルバーのクリックがどうにかなれば
- 760 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 09:58:46 ]
- JPopupMenu popup = new JPopupMenu();
popup.add(new JColorChooser()); component.setComponentPopupMenu(popup); でよくね? # JPopupMenu isa JComponent
- 761 名前:752 [2007/08/07(火) 10:21:52 ]
- >>760
それでいけそうですた。 >>753の言うことをちゃんと聞いてればよかった。
- 762 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 20:40:22 ]
- DelphiでいうところのPaintBoxみたく
paintComponent(Graphics g) にクロージャを引っかけることができるような カスタムペイントコンポーネントって、ないの? 今はふつー(??)に、JPanel の派生クラスをつくってる。
- 763 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 20:45:01 ]
- ない。
ふつーは JComponent から派生する。
- 764 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 20:51:45 ]
- PaintBoxとpaintComponent(Graphics g) は動きがまったく違うと思うのだが
- 765 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 21:42:32 ]
- >>762
ないんだよねぇ。 それ欲しい。
|

|