0

我有一个 Swing 应用程序,当我运行 VoiciOver 实用程序时,它宣布 Swing 应用程序为 Java。

例如:

import javax.swing.*;
import java.awt.event.*;
public class Menu extends JFrame{
public Menu()
{
    super("Menu example");

    JMenu file = new JMenu("File");
    file.setMnemonic('F');
    JMenuItem newItem = new JMenuItem("New");
    newItem.setMnemonic('N');
    file.add(newItem);
    JMenuItem openItem = new JMenuItem("Open");
    openItem.setMnemonic('O');
    file.add(openItem); 
    JMenuItem exitItem = new JMenuItem("Exit");
    exitItem.setMnemonic('x');
    file.add(exitItem);

    //adding action listener to menu items
    newItem.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("New is pressed");
            }
        }
    );
    openItem.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("Open is pressed");
            }
        }
    );
    exitItem.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("Exit is pressed");
            }
        }
    );                      
    JMenuBar bar = new JMenuBar();
    setJMenuBar(bar);
    bar.add(file);

    getContentPane();
    setSize(200, 200);
    setVisible(true);
}

public static void main(String[] args)
{
    Menu app = new Menu();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

如果我们使用 VoiceOver 实用程序尝试此示例,它会将应用程序宣布为“java 菜单示例窗口”。

有人可以帮我解决这个问题吗?

4

1 回答 1

0

您可以设置属性来更改显示的名称,如此com.apple.mrj.application.apple.menu.about.name所示。

于 2012-11-19T20:54:40.673 回答