我有一个计算器应用程序,我在使用setMnemonic时遇到问题。我试图让键盘上的键与计算器上的按钮链接。它一直告诉我<标识符>是期待。这是我从函数http://docs.oracle.com/javase/tutorial/uiswing/components/button.html获取信息的页面。
我有什么想法可以让它发挥作用?
答案 0 :(得分: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数字键,那么你将需要使用键绑定。