您好我从JPanel中的按钮获取文本时遇到问题。我的程序将有一个JPanel,里面有4个按钮。每个按钮都有一个随机整数,显示为文本。我希望我的程序能够获得从键盘按下的键,并检查该键是否与任何按钮匹配。文字(像计算器一样)。 如果该键与JPanel中的任何按钮匹配,它将打印出该键并禁用该按钮。
我的代码类似于:
private void formKeyPressed(java.awt.event.KeyEvent evt) {
Component[] comp = numpanel.getComponents();
for (int i = 0;i<comp.length;i++) {
if (comp[i] instanceof JButton) {
//check if it matches with any button's text
}
}
}
当我尝试编写comp [i] .getText()以检查密钥和按钮的文本时出错。根据我的理解,它说comp [i]是一个组件,它没有getText()方法,我理解正确吗?
我如何解决这个问题,或者他们是否有其他方法可以解决这个问题?
答案 0 :(得分:4)
它说comp [i]是一个组件,它没有方法getText(),我理解正确吗?
是
我如何解决这个问题,或者他们是否有其他方法可以解决这个问题?
如果您知道comp[i]
是一个JButton,例如在if语句中,您检查到它与instanceof
一致,那么您可以将其转换为JButton,并使用getText ()方法。
.... = ((JButton)comp[i]).getText();