[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00893] Re: [Q]java3DとCanvas
■□■□■ 国際電話、国内長距離電話を超・安くかけよう! ■□■□■
┏━━━━━━━━━━━━━┓ 日本国内ならどこまでかけても ┏━━━┓
┃遠距離恋愛しているあなたへ┃ 1分間17円ぽっきりだよ! ┃NTTの ┃
┃単身赴任で寂しいあなたにも┃ 1時間しゃべってもたった千円 ┃約半額┃
┗━━━━━━━━━━━━━┛ ┗━━━┛
★ 国際電話にかけても超・安い。 日本→米国:1分間21円だよ!★
■□■□ 安い電話ドット・コム http://www.yasuidenwa.com/ □■□■
こんにちは,岸田です.
Ikuhisa Masui wrote:
> こんにちは 増井(java,java3Dの初心者)と申します。
>
> 基本的な質問なんですが、Java3DでFrame 上にCanvas?をのせて表示テストをしてい
> るのですが、
> 表示自体は問題ないのですが、メニューのプルダウン表示部分がJava3Dの表示エリア
> の裏側になってしまい
> メニューがみえなくなるのです。
> Frame 上へのJava3Dの表示領域ののせかたがおかしいのでしょうか?
> ご教授お願いします。
>
> 以下、コーディング例をのせます。(途中、かなり略しています)
> (java3dの表示のサンプルが、Appletを継承したものばかりで、Frameにのせた
> 以下の例は
> 試行錯誤してやっと動作したのもので、自信がありません)
> public class frm extends JFrame
> {
> Gp3d gp3; // 私が作成したクラス
>
> public void initComponents() throws Exception
> {
> gp3 = new Gp3d();
> gp3.setSize(new java.awt.Dimension(700,500));
> gp3.setVisible(true);
> gp3.setBackground(new java.awt.Color(128, 128, 128));
> gp3.setLocation(new java.awt.Point(10,30));
> getContentPane().add(gp3);
> }
> }
>
> public class Gp3d extends Canvas // 私が作成したクラス
> {
> public Gp3d() {
> Canvas3D C3d = new Canvas3D(null);
> }
> }
これって,よくある質問なのですが,Canvas3DはHeavyWeightコンポーネントで
メニューのほうは,たぶんLightWeightコンポーネントなので,こういうことが
起こります.そういう時
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
とするといいようです.
SwingConnectionの「Mixing heavy and light components」
http://java.sun.com/products/jfc/tsc/archive/tech_topics_arch/mixing/mixing.html
を読むとよいでしょう.
--
YUKIE Kishida
TIME INTERMEDIA: yukie@xxxxxxxxxx (http://www.timedia.co.jp/)
PRIVATE: yukie@xxxxxxxxxx (http://yukie.com/)