簡體   English   中英

Swing菜單Java 7 mac osx

[英]Swing menus Java 7 mac osx

我一直在mac os x上測試我的Swing應用程序,它運行在applet上。

當我在瀏覽器中運行此applet時,我注意到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運行Mac OSX 10.7.4(http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1637588.html)。 用Firefox測試這個。

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

謝謝

代碼在這里工作正常。 我懷疑這是JRE中的一個錯誤。

將代碼更改為:

  1. 轉儲java.versionjava.vendor
  2. 刪除主要(這只會混淆事情) - 然后..
  3. 提出錯誤報告。

試驗機的細節

從此屬性applet獲取的詳細信息:

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

瀏覽器: FireFox 15.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM