2014-01-19 4 views
-1

Рассмотрите следующий код.Объекты и java GUI

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); 
         }   
        } 

Теперь программа создает графический интерфейс, который управляет небольшим роботом. Три варианта перемещения вперед, назад или повернуть налево. Я хочу, чтобы робот подождал, пока все три кнопки или любая комбинация кнопок будут нажаты, прежде чем они начнут двигаться, так как на данный момент робот движется немедленно, я нажимаю любую кнопку. Любая помощь приветствуется. Я только недавно начал изучать Java, поэтому мои знания очень ограничены.

+1

1) Три логические переменные в графическом интерфейсе могут работать. 2) Я уверен, что вы могли бы справиться с этим с небольшими усилиями. 3) При отправке кода здесь убедитесь, что он отформатирован хорошо, в частности отступ. Твое немного сложно прочитать внизу, и я уверен, что вы не пытаетесь усложнить нам помощь, так почему бы не исправить это? –

+0

Думаю, вам нужно немного уточнить поведение вашей программы. Что произойдет после запуска программы? Вам нужны кнопки для сброса, а затем снова ждать, пока все 3 из них будут нажаты? – user1186155

+0

Программа создает графический интерфейс, в котором работает небольшой робот. Три варианта перемещения вперед, назад или повернуть налево. Я хочу, чтобы робот дождался нажатия всех трех кнопок или любой комбинации кнопок, прежде чем он начнет двигаться, так как на данный момент робот движется немедленно, я нажимаю любую кнопку. – Hustl3r28

ответ

0

У вас может быть логическое значение для каждого. Когда нажимается кнопка, измените логическое значение на true.

1

Если я правильно понял ваш вопрос правильно то:

Объявите boolean переменный для каждой кнопки, и при каждом нажатии кнопки, чтобы флаг определен для кнопки истины. И в случае кнопки проверьте, соответствуют ли все флаги или нет. IF true, тогда не ждите, если false, тогда подождите.