2013-03-25 109 views
1

我有一个计算器应用程序,我无法使用setMnemonic。我试图让键盘上的按键与计算器上的按钮链接。它一直告诉我<标识符>预计。这是我一直从功能http://docs.oracle.com/javase/tutorial/uiswing/components/button.html获取信息的页面。键盘按钮和Jbutton

任何想法,我可以得到它的工作?

+1

请显示完整的错误信息,并指出哪些行会导致错误发生。实际上,在上面的代码中,我没有看到对'setMnemonic(...)'的调用。 – 2013-03-25 01:37:18

+1

而不要比较这种'createEquasion!=“”'字符串,而是使用'“”.equals(...) – drzymala 2013-03-25 02:04:33

回答

3

您的问题与Swing或助记符无关,并且都与尝试在方法或构造函数之外进行方法调用有关。你不能这样做:

public class calculator_ui implements ActionListener { 
    /**Creates a new instance of the window "Buttons"*/ 
    JFrame frame = new JFrame("Buttons"); 

    // .... etc... 
    JButton buteq = new JButton("="); 
    JButton butclear = new JButton("C"); 
    butclear.setMnemonic(KeyEvent.VK_B); // .... **** this is misplaced 
    JButton back = new JButton("<"); 

而是将代码行移动到你的类的构造函数中,它是合法的。

另外,设置助记符将设置按钮将重新调用的alt-key组合。如果你想要更有趣,并让按钮响应按下非ALT数字键,那么你会想要使用键绑定。