[英]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中的一個錯誤。
將代碼更改為:
java.version
和java.vendor
從此屬性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.