【问题标题】:Keyboard Press and Jbutton键盘按下和 J 按钮
【发布时间】:2013-03-14 10:24:25
【问题描述】:

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

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

【问题讨论】:

  • 请显示完整的错误消息,并指出是哪一行导致错误发生。事实上,我在上面的代码中没有看到对 setMnemonic(...) 的调用。
  • 不要比较像createEquasion != ""这样的字符串,而是使用"".equals(...)

标签: java swing jbutton keylistener


【解决方案1】:

您的问题与 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 数字键,那么您将需要使用键绑定。

【讨论】:

    猜你喜欢
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 2014-07-06
    • 1970-01-01
    相关资源
    最近更新 更多