我有一个名为“选择”的JButton 在创建JButton和其他类的类中,我想使用带有ActionPerformed方法的if条件。
像(伪代码)
之类的东西if(_selectListener.actionPerformed(ActionEvent)) { //i.e., if select Button is clicked,
//do something
}
这可能吗?
我想调用这种方法是因为我必须处理一种情况,即玩家应该可以通过点击“选择”按钮或其他“滚动”按钮来选择某些内容,并且我想使用类似于一堆if语句如上所述。
如果可能,它的语法是什么? ActionEvent的论点是什么? 谢谢!
答案 0 :(得分:0)
你不能打电话,if
需要boolean
表达式/值,但这个方法返回void。
答案 1 :(得分:0)
最简单,最干净的方法是为每个按钮添加专用的特定动作侦听器。这样,当调用actionPerformed()方法时,您确定已单击关联的按钮,并且不需要测试单击了哪个按钮:
selectButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// handle click on select button
}
});
scrollButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// handle click on scroll button
}
});
另一种方法是使用常见的ActionListener,并使用ActionEvent的getSource()
方法来了解触发事件的组件。将结果与每个可能的按钮进行比较,以确定哪个是已被点击的按钮:
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == selectButton) {
// handle click on select button
}
else if (e.getSource() == scrollButton) {
// handle click on scroll button
}
}
ActionEvent的参数是什么?
答案在the documentation。阅读它。