import java.awt.*; import javax.swing.*; import java.awt.event.*; public class HUD extends JFrame { String number=""; int speed = 0; JPanel mainPanel = new JPanel(); JPanel sidePanel = new JPanel(new GridLayout(3,2)); JPanel displayPanel = new JPanel(new FlowLayout()); JTextField output = new JTextField(10); JButton jbAccelerate = new JButton("Accelerate"); JButton jbNos = new JButton("NOS\n\rNitrous Oxide Systems"); javax.swing.Timer t; javax.swing.Timer f; boolean accelerating=false; boolean boost=false; public HUD() { this.setContentPane(mainPanel); mainPanel.add(displayPanel); mainPanel.add(sidePanel); sidePanel.add(jbNos); mainPanel.add(output); sidePanel.add(jbAccelerate); pack(); jbAccelerate.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(accelerating==true) { t.stop(); accelerating = false; } else{ t.restart(); accelerating = true; } if (speed==256) { t.stop(); f.stop(); accelerating=false; boost=false; } } } ); t = new javax.swing.Timer(100, new ActionListener() { public void actionPerformed(ActionEvent e) { if(accelerating==true) { speed = speed + 1; } else{ speed = speed - 10; } while(speed>255) { speed = speed - 3; } speed++; System.out.println("Timer start: speed now equals: "+speed+ "Kmph"); updateDisplay(); output.setText(speed+"Kmph"); updateDisplay(); // if(e.getSource()==jbAccelerate) // { btnNum // } } } ); jbNos.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) ////must override this methods { if (boost==true) { t.stop(); f.restart(); System.out.println("NOS - Activated"); }else{ System.out.println("NOS - Deactivated"); } if(boost==true) { f.stop(); t.restart(); boost = false; } else{ f.restart(); t.stop(); boost = true; System.out.println("NOS - Deactivated"); } } } ); f = new javax.swing.Timer(25, new ActionListener() { public void actionPerformed(ActionEvent e) { if(accelerating==true) { speed = speed + 1; } else{ speed = speed - 1; } while(speed>255) { speed = speed - 3; } speed++; System.out.println("Timer start: speed now equals: "+speed+ "Kmph"); updateDisplay(); output.setText(speed+"Kmph"); updateDisplay(); } } ); } public void updateDisplay() { number = number.valueOf(speed); } } import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Main { public static void main(String[] args) { JFrame HUD = new HUD(); HUD.setSize(500,400); HUD.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); HUD.setVisible(true); } }