4

アプレット上で動作する mac os x で Swing アプリケーションをテストしています。

このアプレットをブラウザで実行すると、JMenus/JMenuItems でのマウスオーバーが正しく機能しないことに気付きました。

問題を再現するための小さなプログラムを次に示します。

package com.macosx.tests;

import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;

import javax.swing.*;

public class Example extends JApplet {

    JMenuBar bar;
    JMenu file, edit;
    JMenuItem new1, save, close;

    private void doStart() {
        bar = new JMenuBar();

        file = new JMenu("File");
        edit = new JMenu("Edit");

        new1 = new JMenuItem("New");
        save = new JMenuItem("Save");
        close = new JMenuItem("Close");

        setJMenuBar(bar);
        bar.add(file);
        bar.add(edit);
        file.add(new1);
        file.add(save);
        file.add(close);
    }

    @Override
    public void start() {
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    doStart();
                }
            });
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

このコードを使用して、.jar ファイルを生成します。Eclipse では、エクスポート機能を使用できますが、Main-Class を上記のクラスとして定義することだけを確認してください。

jar を実行したら、コンテンツを含む html ファイルを作成します。

<html>
<head>
<title>Menu test Applet</title>
</head>
<body>
<applet id="appletID" height="800" width="600" 
  code="com.macosx.tests.Example" 
  archive="tests.jar">
</applet>
</div>
</body>
</html>  

この後、html ファイルを実行してメニューをチェックします。マウスオーバー イベントを受信しないはずです。私は何か間違ったことをしていますか?これはJavaのバグですか?この問題をテストする Mac ユーザーはいますか?

Mac用の最新のOracle JRE(http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1637588.html)でMac OSX 10.7.4を実行しています。これをテストするためにFirefoxを使用しました。

java.vendor     Oracle Corporation
java.version    1.7.0_06
os.name         Mac OS X
os.version      10.7.4

ありがとう

4

1 に答える 1

4

コードはここで正常に動作します。そのJREのバグだと思います。

コードを次のように変更します。

  1. ダンプjava.version&java.vendor
  2. メインを削除します(混乱させるだけです)-その後..
  3. バグレポートを上げます。

試験機詳細

このプロパティ アプレットから取得した詳細:

Name            Value
java.vendor     Oracle Corporation
java.version    1.7.0_05
os.name         Windows 7
os.version      6.1

ブラウザ: ファイアフォックス 15.0

于 2012-08-30T00:18:12.353 に答える