- - PR -
JPopupMenuの表示
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-12-24 14:23
AppletでJPopupMenuによりポップアップを表示しているのですが
LookAndFeelを”Windows”にすると下に「Java Applet Window」 と付きます。 これを表示しないようにはできないのでしょうか? import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Test extends JApplet implements MouseListener { JPopupMenu popup = null; JComboBox combo = null; Container pane = null; public void init() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception err){ err.printStackTrace(); } pane = getContentPane(); pane.setLayout(new FlowLayout()); combo = new JComboBox(); pane.add(combo); popup = new JPopupMenu(); popup.add("Test1"); popup.add("Test2"); pane.addMouseListener(this); } public void mousePressed(MouseEvent e) { showPopup(e); } public void mouseReleased(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } private void showPopup(MouseEvent e) { Component com = (Component)e.getSource(); if (e.isPopupTrigger()) { popup.show(com, e.getX() , e.getY()); } } } バージョン OS:WindowsXP Java:JDK1.4.1-6 | ||||||||
|
投稿日時: 2003-12-24 15:10
appletviewer, mozilla firebird上で確認しましたが、どこにもそのような表示はされませんでした。いったいどこに表示されるの?てゆーか、LookAndFeelを”Windows”が意味不明です。 私の環境 j2sdk se 1.4.2 windows 98SE | ||||||||
|
投稿日時: 2003-12-24 15:35
申し訳ございません。
ソースに間違いがありました。 public void mouseReleased(MouseEvent e) { } ↓ public void mouseReleased(MouseEvent e) { showPopup(e); } です。 これでApplet上でマウスの右クリックを行なうとPopupが表示されます。 この表示されたPopup画面の下に「Java Applet Window」が付いてきます。 LookAndFeelが”Windows"とは UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); ↓ UIManager.setLookAndFeel( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); のことです。 わかり難い説明で申し訳ございません。 [ メッセージ編集済み 編集者: nori@it 編集日時 2003-12-24 15:45 ] | ||||||||
|
投稿日時: 2003-12-24 16:17
せんせい!やっぱりひょうじできません。
OS、Java Plug-inのバージョンが違うことが原因なのだろうか? それとも、ブラウザの問題? 再現できない以上、私の方ではこれ以上フォローアップしてあげることができません。 | ||||||||
|
投稿日時: 2003-12-24 16:25
unibon です。こんにちわ。
このメッセージは http://java-house.jp/ml/archive/j-h-b/007967.html や http://www.vc-net.ne.jp/~ytp/bbs/java/bbs10408.html に由来するものだと思いますが、 アプレットのコンテナが出しているものなので、 実行環境によって多少挙動が異なると思います。 AppletViewer なら出す必要はないのですが、 ブラウザだと Java PlugIn なのかそうでないのかで違ってきます。 ただ、私も知らなかったのですが、 LAF の違いで出たり出なかったりするのでしたっけ(未確認)。 たしかに Windows 上の IE で Metal のフレームを出されても、 嘘臭さがにじみ出ますので警告する必要性も薄いのかもしれませんね。 | ||||||||
|
投稿日時: 2003-12-24 16:35
unibon です。追加です。
上記はちょっと違っていました。 JDK に付属のソースコードを見たところ、 java.awt.Window クラスの setWarningString メソッド(private なメソッド)内で、 どんな文字列を出すか(あるいは文字列を出さないか)を決めているようでした。 | ||||||||
|
投稿日時: 2003-12-24 16:54
表示できませんか。 いろいろありがとうございました。 こちらではブラウザはIE6.0、Java PlugInはJDK1.4.1-6です。
そうなんです。 LookAndFeelを指定しなければ「Java Applet Window」は表示されません。 またComboBoxのPopupはLookAndFeelに"Windows"を指定してもしなくても 「Java Applet Window」は表示されません。 但しComboBoxのPopupはJava PlugInのバージョンによって違うみたいです。 | ||||||||
1
