[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01296] JPopupMenu の heavyweight化
◆◇ ◆◇ ◆◇ MagicalCastβ(ベータ版) ◆◇ ◆◇ ◆◇
┌──┐ ┌──┐
│\/│ DNSの新MLシステム誕生です!│\/│
└──┘ └──┘
これまでの簡単・快適そのままで高機能に
いえいえもっと高速に。βテストにご協力下さい
※ fmlでもmajordomoでもありません
◆◇ ◆◇ ◆◇ http://mx7.dns-ml.co.jp/ ◆◇ ◆◇ ◆◇
伊藤です。
こんにちは。
Canvas3DをSwingで使用したいので [Java3Djp:00653] Re: Swing
を参考にメニューをheavyweight化してみようとしたのですがうまく
行きません。
フレームを作成した後に
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
とやっているのですが すぐにtrueになってしまいます。
タイミングが悪いのでしょうか?
どちらかというとSwingの話題ですが、うまく行っている方が
おられるようでしたら、アドバイスおねがいします。
WindowsNT4.0+SP5
JDK1.2.2+Java3D1.1.3
サンプルコードを添付します。
---------------------
伊藤美穂
(株)数理システム
itoh@xxxxxxxxxx
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class PopupTest{
//アプリケーションの構築
public PopupTest() {
//JFrame作成
JFrame frame = new JFrame();
//メニュー作成
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu();
JMenuItem menuItem = new JMenuItem();
menu.setText("ファイル");
menuItem.setText("終了");
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
menu.add(menuItem);
menuBar.add(menu);
frame.setJMenuBar(menuBar);
frame.setSize(new Dimension(500, 500));
//heavyweight に設定:1
menu.getPopupMenu().setDefaultLightWeightPopupEnabled(false);
System.out.println("lightweight? 1: "
+menu.getPopupMenu().isLightWeightPopupEnabled());
//heavyweight に設定:2
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
System.out.println("lightweight? 2: "
+menu.getPopupMenu().isLightWeightPopupEnabled());
frame.setVisible(true);
}
//Main メソッド
public static void main(String[] args) {
new PopupTest();
}
}