Tôi đã sử dụng mã sau để đặt Tên ứng dụng (trong thanh trình đơn "Hệ thống" trên Apple MacBook của tôi). (Trên thực tế, tôi nghĩ rằng tôi đã sao chép điều này từ stackoverflow.)Java/OS X Lion: Đặt tên ứng dụng đã ngừng hoạt động với JDK1.7
Về cơ bản, có một lớp AppLauncher riêng biệt sử dụng System.setProperty() để đặt tên ứng dụng trước khi tạo Runnable mới cho chính ứng dụng.
Chỉ hoạt động tốt.
Tuy nhiên, kể từ khi tôi tải xuống và bắt đầu sử dụng JDK 1.7, giải pháp ngừng hoạt động - Tôi nhận được Tên lớp thay vì Tên ứng dụng trong menu, giống như trước khi tôi tìm thấy giải pháp đó. Tôi đã thử googling nó, nhưng vô ích.
Đây là mã không còn tồn tại được sử dụng để làm việc dưới JDK 1.6, giảm đến các bộ phận có liên quan:
public class AppLauncher {
public static void main(String[] args) {
System.setProperty("apple.laf.useScreenMenuBar", "true");
System.setProperty("com.apple.mrj.application.apple.menu.about.name",
"My Application");
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MainWindow();
}
});
}
}
Cám ơn ý kiến!
ETA: gọi bằng java -Dapple.laf.useScreenMenuBar = true vẫn hoạt động. Pu8tting các tài sản vào Info.plist có thể làm việc, nhưng tôi đã không thử nó được nêu ra.
Bất kỳ may mắn với '-D' hoặc' Info.plist', thể hiện [ở đây] (http://stackoverflow.com/a/8956715/230513)? Nó có thể không được hỗ trợ trong OpenJDK. – trashgod
Xin chào, vâng - D dường như làm điều này. Tôi sẽ giữ Info.plist ở phía sau đầu của tôi và thử nó một lần tôi ở đó, cảm ơn. –
@trashgod: bạn có thể thêm nó làm câu trả lời để câu hỏi có thể để lại danh sách "chưa được trả lời". – wchargin