Java Threading

November 21, 2009 · Print This Article

TimerTextField.java

JAVA:
  1. import java.util.Date;
  2.  
  3. import javax.swing.JTextField;
  4.  
  5.  
  6. public class TimerTextField extends JTextField implements Runnable {
  7.     private boolean gogo = true;
  8.     @Override
  9.     public void run() {
  10.         // TODO Auto-generated method stub
  11.         Date d;
  12.    
  13.         while(gogo)
  14.         {
  15.             d = new Date();
  16.             this.setText(d.toString());
  17.             this.repaint();
  18.             try {
  19.                 Thread.sleep(1000);
  20.             } catch (InterruptedException e) {
  21.                 // TODO Auto-generated catch block
  22.                 e.printStackTrace();
  23.             }
  24.         }
  25.     }
  26.    
  27.     public void closeMe()
  28.     {
  29.         gogo = false;
  30.     }
  31. }

Apps.java

JAVA:
  1. import java.awt.Component;
  2. import java.awt.Rectangle;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.util.concurrent.ExecutorService;
  6. import java.util.concurrent.Executors;
  7.  
  8. import javax.swing.JButton;
  9. import javax.swing.JFrame;
  10. import javax.swing.JScrollPane;
  11. import javax.swing.JTextArea;
  12.  
  13.  
  14. public class Apps extends JFrame {
  15.  
  16.     private TimerTextField ttf;
  17.     private JTextArea ta;
  18.     private JScrollPane jp;
  19.     private JButton jb;
  20.     public Apps()
  21.     {
  22.  
  23.         this.setVisible(true);
  24.         this.setLayout(null);
  25.         this.setBounds(10,20,500,400);
  26.         init();  
  27.     }
  28.    
  29.     protected void init()
  30.     {
  31.         ttf = new TimerTextField();
  32.         addComponents(ttf, new Rectangle(10,30,250,25));
  33.        
  34.         ta = new JTextArea(150,150);
  35.         jp = new JScrollPane(ta);
  36.         addComponents(jp, new Rectangle(10,65,150,150));
  37.        
  38.         jb = new JButton();
  39.         jb.setText("Click Me");
  40.         addComponents(jb, new Rectangle(260,30,80,25));
  41.        
  42.         jb.addActionListener(new ActionListener() {
  43.  
  44.             @Override
  45.             public void actionPerformed(ActionEvent e) {
  46.                 // TODO Auto-generated method stub
  47.                 jb_method(e);
  48.                
  49.             }
  50.            
  51.         });
  52.  
  53.     }
  54.    
  55.     protected void jb_method(ActionEvent e)
  56.     {
  57.         ExecutorService es = Executors.newSingleThreadExecutor();
  58.         es.execute(ttf);
  59.         //ttf.run();
  60.     }
  61.    
  62.     protected void addComponents(Component c, Rectangle r)
  63.     {
  64.         this.add(c);
  65.         c.setBounds(r);
  66.        
  67.     }
  68.    
  69.     public static void main(String[] arg)
  70.     {
  71.         new Apps();
  72.     }
  73. }

Random Posts

Comments

Got something to say?