All pastes #927620 Raw Edit

Something

public text v1 · immutable
·published 2008-03-04 13:20 UTC
rendered paste body
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.ImageIcon;

public class Speedo extends JFrame
{
int i = 0;
int a;
int b;
int c;
int v;
double fuel=0.0;
Timer t;
Timer BrakeT;
Timer decelT;
boolean ticking = false;
boolean BTicking = false;

String speeding = ("WARNING ! EXCESSIVE SPEEDING IS DANGEROUS");
String limit = ("WARNING ! EXCEEDING THE SPEED LIMIT IS ILLEGAL!");

ImageIcon[] img = new ImageIcon[10];
ImageIcon  pt = new ImageIcon("small-Point.jpg");
JPanel Content = new JPanel();
JTextField jtfFuel = new JTextField (5);
JButton jbnSetFuel = new JButton ("Set Fuel");
JButton jbnGas = new JButton ("GAS");
JButton jbnBrake = new JButton ("BRAKE");
ImageIcon img0 = new ImageIcon ("0.jpg");
ImageIcon imgS0 = new ImageIcon ("small-0.jpg");
JLabel jlbDisplay = new JLabel (img0);
JLabel jlbDisplay2 = new JLabel (img0);
JLabel jlbDisplay3 = new JLabel (img0);
JLabel jlbF = new JLabel ("Fuel (L)");

JLabel jlbMessage = new JLabel ();

JLabel jlbPoint = new JLabel (pt);

JLabel jlbFuel1 = new JLabel (imgS0);
JLabel jlbFuel2 = new JLabel (imgS0);
JLabel jlbFuel3 = new JLabel (imgS0); 



        public Speedo()
        {
                            
            
            this.setContentPane(Content);
            Content.setLayout(new BoxLayout(Content,BoxLayout.Y_AXIS));
            for (int i = 0; i < 10; i++)
            {
                img[i] = new ImageIcon (i + ".jpg");
            }
            
            t = new Timer(200, new ActionListener() 
            {                                                          
                public void actionPerformed(ActionEvent e)
                {
                                v=i;
                                
                                c = v % 10;
                                jlbDisplay3.setIcon(img[c]);
                                
                                v = v / 10;
                                b = v % 10;
                                jlbDisplay2.setIcon(img[b]); 
                                
                                v = v / 10;
                                a = v % 10;
                                jlbDisplay.setIcon(img[a]);

                           i=i+2; 
                           
                           if(i>=160)
                           { 
                               i=160;
                           }
                           if(i >= 80)
                            {
                                jlbMessage.setText(speeding);
                            }                                                  
                       repaint();                                                    
                }//end actionPerformed TIMER!     
            });//end timer  
            
                   BrakeT = new Timer(200, new ActionListener() 
                    {                                                          
                        public void actionPerformed(ActionEvent e)
                        {
                            
                            i=i-3;
                                                                                    
                            if (i<=0)
                                  {
                                      i=0;
                                  }
                                  
                             if (i <= 80) 
                            {
                                jlbMessage.setText(" ");
                            } 
                            
                                        v=i;
                                        c = v % 10;
                                        jlbDisplay3.setIcon(img[c]);
                                        
                                        v = v / 10;
                                        b = v % 10;
                                        jlbDisplay2.setIcon(img[b]); 
                                        
                                        v = v / 10;
                                        a = v % 10;
                                        jlbDisplay.setIcon(img[a]);
                                               
                                 
                        }//end actionPerformed TIMER!     
                    });//end timer
                    
                    decelT = new Timer(200, new ActionListener() 
                    {                                                          
                        public void actionPerformed(ActionEvent e)
                        {
                            
                            i=i-1;
                                                                                    
                            if (i<=0)
                                  {
                                      i=0;
                                  }
                                  
                             if (i <= 80) 
                            {
                                jlbMessage.setText(" ");
                            } 
                            
                                        v=i;
                                        c = v % 10;
                                        jlbDisplay3.setIcon(img[c]);
                                        
                                        v = v / 10;
                                        b = v % 10;
                                        jlbDisplay2.setIcon(img[b]); 
                                        
                                        v = v / 10;
                                        a = v % 10;
                                        jlbDisplay.setIcon(img[a]);
                                               
                                 
                        }//end actionPerformed TIMER!     
                    });//end timer
            //declare panels 
            JPanel fuel = new JPanel();
            JPanel p = new JPanel();
            JPanel button = new JPanel();
            //button panel
            button.add(jbnGas);
            button.add(jbnBrake);
            Content.add(button);
            //Speed panel
            p.add(jlbDisplay);
            p.add(jlbDisplay2);           
            p.add(jlbDisplay3);
            jlbMessage.setForeground(Color.red);
            p.add(jlbMessage);
            Content.add(p);                           
            //fuel jFrame
            fuel.add (jlbFuel1);
            fuel.add(jlbFuel2);
            fuel.add(jlbPoint);
            fuel.add(jlbFuel3);
            fuel.add(jlbF);
            fuel.add(jtfFuel);
            fuel.add(jbnSetFuel);
            Content.add(fuel);       
             //mouse listeners
            jbnGas.addMouseListener(new jbnGasAction() );
            jbnBrake.addMouseListener(new jbnBrakeAction() );
            // button listener
            jbnSetFuel.addActionListener(new jbnSetFuel() );

        }
        
        class jbnSetFuel implements ActionListener
        {
            public void actionPerformed(ActionEvent e)
            {
                if(e.getSource()==jbnSetFuel)
                {
                    fuel = Double.parseDouble(jtfFuel.getText());
                }
            }
        }//end setfuel    
        
                   
       class jbnGasAction implements MouseListener //the class for the accell timer and mouse listener
       {
           public void mousePressed(MouseEvent e) 
           {
                ticking = true;
                t.start();
                decelT.stop();
           }
           
            public void mouseReleased(MouseEvent e)
            {
                ticking = false;
                t.stop();
                decelT.start();
            }
            public void mouseClicked(MouseEvent e){}
            public void mouseEntered(MouseEvent e){}
            public void mouseExited(MouseEvent e){}
        }
        
        class jbnBrakeAction implements MouseListener
        {
            public void mousePressed(MouseEvent e) 
           {
               BTicking = true;
               BrakeT.start();
               decelT.stop();
               
           }
           
            public void mouseReleased(MouseEvent e)
            {
                BTicking = false;
                BrakeT.stop();
                decelT.start();//when no buttons are pressed the decel timer starts and slowly decels the speed (i)
            }
            public void mouseClicked(MouseEvent e){}//mouse clicked, mouse entereed & mouse exited are unused so left blank
            public void mouseEntered(MouseEvent e){}
            public void mouseExited(MouseEvent e){}
        }
        
        
        
        public static void main (String args[])
                        {
                        Speedo d = new Speedo();
                        d.setTitle("SPEEDOMETER");
                        d.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                        d.setLocation(250,250);
                        d.setSize(450,450);
                        d.setVisible(true);
                        d.setResizable(false);
                        }//end main
        
}