1

我有一个计算器应用程序,但在使用 setMnemonic 时遇到问题。我试图让键盘上的键与计算器上的按钮链接。它一直告诉我 < Identifier> 是预期的。这是我从http://docs.oracle.com/javase/tutorial/uiswing/components/button.html函数获取信息的页面。

有什么想法可以让它工作吗?

4

1 回答 1

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 组合键。如果您想变得更漂亮并让按钮响应非 alt 数字键的按下,那么您将需要使用键绑定。

于 2013-03-25T02:04:07.717 回答