/** * Creates new form SystemMonitor * * @param lever * @param wheels * @param doors * @param light */ public SystemMonitor(Lever lever, Wheel wheels[], Door doors[], Light light) { super("Landing System Monitor"); this.lever = lever; this.wheels = wheels; this.doors = doors; this.light = light; ActionListener pullListener = new ActionListener() { @Override public void actionPerformed(ActionEvent event) { lever.endPull(); repaint(); } }; ActionListener pushListener = new ActionListener() { @Override public void actionPerformed(ActionEvent event) { lever.endPush(); repaint(); } }; Timer timerPull = new Timer(2000, pullListener); timerPull.setRepeats(false); Timer timerPush = new Timer(2000, pushListener); timerPush.setRepeats(false); initComponents(); // Add Listener on toggle button upDownToggleButton.addItemListener( (ItemEvent ev) -> { if (ev.getStateChange() == ItemEvent.SELECTED) { lever.startPull(); repaint(); timerPull.start(); upDownToggleButton.setText("PUSH"); } else if (ev.getStateChange() == ItemEvent.DESELECTED) { lever.startPush(); repaint(); timerPush.start(); upDownToggleButton.setText("PULL"); } }); pack(); setVisible(true); }