请考虑以下代码。
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class RobotControl extends JFrame {
public static void main (String args[]) {
RobotControl GUI = new RobotControl();
GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GUI.setSize(500,500);
GUI.setVisible(true);
GUI.setTitle("RobotControl");
}
private Finch myf;
private JButton front;
private JButton back;
private JButton left;
public RobotControl() {
myf = new Finch();
setLayout (new FlowLayout());
front = new JButton("front");
add(front);
front.addActionListener(new FrontButtonListener(myf));
back = new JButton("back");
add(back);
back.addActionListener(new BackButtonListener(myf));
left = new JButton("left");
add(left);
left.addActionListener(new LeftButtonListener(myf));
}
public class FowardButtonListener implements ActionListener {
public FowardButtonListener(Finch myf) {
}
public void actionPerformed(ActionEvent arg0) {
myf.setWheelVelocities(100,100,10000);
}
}
public class BackwardButtonListener implements ActionListener{
public BackwardButtonListener(Finch myf){
}
public void actionPerformed(ActionEvent arg0) {
myf.setWheelVelocities(-100,-100,10000);
}
}
public class LeftButtonListener implements ActionListener{
public LeftButtonListener(Finch myf){
}
public void actionPerformed(ActionEvent arg0){
myf.setWheelVelocities(0, 200, 1000);
}
}
现在,该程序创建了一个操作小型Robot的GUI。三种选择可以向前移动,向后移动或向左移动。我希望机器人在开始移动之前等待所有三个按钮或任何按钮组合被点击,就像此刻,机器人立即移动我点击任何按钮。任何帮助表示赞赏。我最近才开始学习java,所以我的知识非常有限。
答案 0 :(得分:1)
如果我理解你的问题,那么:
为每个按钮声明一个boolean
变量,当单击每个按钮时,为该按钮定义标志为true。并且在按钮的情况下检查是否所有标志都是真的。如果是,则不要等待,如果是假则等待。
答案 1 :(得分:0)
每个都可以有一个布尔值。单击按钮时,将布尔值更改为true。