Java Threading

November 21, 2009

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. }

Java Navigation

November 14, 2009

Main.java

JAVA:
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         new Apps();
  4.     }
  5. }

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.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.Iterator;
  8. import java.util.List;
  9. import java.util.ListIterator;
  10. import javax.swing.JButton;
  11. import javax.swing.JFrame;
  12. import javax.swing.JLabel;
  13. import javax.swing.JScrollPane;
  14. import javax.swing.JTextArea;
  15. import javax.swing.JTextField;
  16.  
  17. public class Apps extends JFrame{
  18.     private JButton jbsave;
  19.     private JButton jbdisplay;
  20.     private JButton jbprev;
  21.     private JButton jbnext;
  22.     private JTextField team;
  23.     private JTextField player;
  24.     private JTextField salary;
  25.     private JTextField status;
  26.     private JLabel lblteam;
  27.     private JLabel lblplayer;
  28.     private JLabel lblsalary;
  29.     private List <Player> lm;
  30.    
  31.     private HashMap<String,List <Player>> hm;
  32.     private int num = 1;
  33.     private String currTeam;
  34.     int TotalPlayer = 0;
  35.     int TotalTeam = 0;
  36.     int currPlayerIndex = 0;
  37.     Iterator<String> team_iterator;
  38.     Iterator<Player> player_iterator;
  39.     ListIterator <Player>li;
  40.  
  41.     public Apps() {
  42.         init();
  43.         this.setLayout(null);
  44.         this.setVisible(true);
  45.         this.setBounds(10,20,400,400);
  46.        
  47.         hm = new HashMap<String,List <Player>>();
  48.         lm = new ArrayList<Player>();
  49.     }
  50.     private void init() {
  51.         jbsave = new JButton();
  52.         jbprev = new JButton();
  53.         jbnext = new JButton();
  54.         jbdisplay = new JButton();
  55.         lblteam = new JLabel();
  56.         lblplayer = new JLabel();
  57.         lblsalary = new JLabel();
  58.  
  59.         team = new JTextField();
  60.         player = new JTextField();
  61.         salary = new JTextField();
  62.         status = new JTextField();
  63.        
  64.         addComponents(lblteam,40,40,100,25);
  65.         addComponents(lblplayer,40,70,100,25);
  66.         addComponents(lblsalary,40,100,100,25);
  67.         addComponents(team,150,40,100,25);
  68.         addComponents(player,150,70,100,25);
  69.         addComponents(salary,150,100,100,25);
  70.         addComponents(status,40,130,210,25);
  71.         addComponents(jbsave,40,170,100,25);
  72.         addComponents(jbdisplay,150,170,100,25);
  73.         addComponents(jbprev,40,200,100,25);
  74.         addComponents(jbnext,150,200,100,25);
  75.  
  76.         lblteam.setText("Team");
  77.         lblplayer.setText("Player Name");
  78.         lblsalary.setText("Salary");   
  79.         jbprev.setText("Previous");
  80.         jbnext.setText("Next");  
  81.         
  82.         jbsave.setText("Save");
  83.         jbdisplay.setText("Display");
  84.         status.setEnabled(false);
  85.         /*jbprev.setEnabled(false); 
  86.         jbnext.setEnabled(false);*/ 
  87.         jbsave.addActionListener(new ActionListener() {
  88.             public void actionPerformed(ActionEvent e) {
  89.                 jbsave_actionPerformed(e);
  90.             }
  91.         });
  92.        
  93.         jbdisplay.addActionListener(new ActionListener() {
  94.             public void actionPerformed(ActionEvent e) {
  95.                 jbdisplay_actionPerformed(e);
  96.             }
  97.         });
  98.         jbprev.addActionListener(new ActionListener() {
  99.             public void actionPerformed(ActionEvent e) {
  100.                 jbprev_actionPerformed(e);
  101.             }
  102.         });
  103.         jbnext.addActionListener(new ActionListener() {
  104.             public void actionPerformed(ActionEvent e) {
  105.                 jbnext_actionPerformed(e);
  106.             }
  107.         });  
  108.     }
  109.    
  110.     private void jbdisplay_actionPerformed(ActionEvent e) {
  111.         currPlayerIndex = 0;
  112.         TotalPlayer = 0;       
  113.         team_iterator =  hm.keySet().iterator();       
  114.         TotalTeam = hm.size();   
  115.        
  116.         display();   
  117.         jbnext.setEnabled(true);
  118.     }
  119.    
  120.     private void jbnext_actionPerformed(ActionEvent e) {
  121.         display();     
  122.     }   
  123.     private void jbprev_actionPerformed(ActionEvent e) {
  124.         display();
  125.     }
  126.     private void display()
  127.     {   
  128.         Player p;
  129.         if (team_iterator.hasNext())
  130.         {
  131.             if (TotalPlayer == 0)
  132.             {
  133.                 currTeam = team_iterator.next();
  134.                 System.out.println(currTeam);         
  135.                 lm = (List <Player>) hm.get(currTeam);
  136.                 TotalPlayer = lm.size();
  137.                 li = lm.listIterator();
  138.             }
  139.            
  140.             if (li.hasNext())
  141.             {
  142.                 currPlayerIndex ++;
  143.                 p = (Player) li.next();
  144.                 team.setText(currTeam);
  145.                 player.setText(p.getPlayer());
  146.                 salary.setText(p.getSalary());   
  147.                 status.setText("Player " + currPlayerIndex + " of " + lm.size());
  148.                 if (TotalPlayer == currPlayerIndex)
  149.                     TotalPlayer = 0;
  150.             }                                       
  151.         }
  152.         else
  153.             TotalTeam = 0;
  154.     }
  155.     private void jbsave_actionPerformed(ActionEvent e) {               
  156.         Player p = new Player();
  157.         p.setPlayer(player.getText());
  158.         p.setSalary(salary.getText());
  159.        
  160.         lm = hm.get(team.getText());
  161.         if (lm == null)
  162.         {
  163.             lm = new ArrayList<Player>();
  164.         }
  165.         lm.add(p);
  166.        
  167.         hm.put(team.getText(), lm);
  168.         status.setText("Record Saved");
  169.         team.setText("");
  170.         player.setText("");
  171.         salary.setText("");
  172.        
  173.     }
  174.     private void addComponents(Component comp, int x,int y,int width, int height){
  175.         this.add(comp);
  176.         comp.setBounds(x, y, width, height);
  177.     }   
  178. }

Player.java

JAVA:
  1. public class Player {
  2.     private String player;
  3.     private String salary;
  4.    
  5.     public String getPlayer() {
  6.         return player;
  7.     }
  8.     public void setPlayer(String player) {
  9.         this.player = player;
  10.     }
  11.     public String getSalary() {
  12.         return salary;
  13.     }
  14.     public void setSalary(String salary) {
  15.         this.salary = salary;
  16.     }
  17. }

Java Hashmap

November 13, 2009

Pet.java

JAVA:
  1. public class Pet {
  2.    private String name;
  3.    private int age;
  4.  
  5.    public String getName()
  6.    {
  7.       return name;
  8.    }
  9.    public void setName(String name)
  10.    {
  11.       this.name = name;
  12.    }
  13.    public int getAge()
  14.    {
  15.        return age;
  16.    }
  17.  
  18.    public void setAge(int age)
  19.    {
  20.       this.age = age;
  21.    }
  22. }

Apps.java

JAVA:
  1. import java.awt.Component;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.io.BufferedReader;
  5. import java.io.FileReader;
  6. import java.io.FileWriter;
  7. import java.io.IOException;
  8. import java.io.PrintWriter;
  9. import java.util.ArrayList;
  10. import java.util.HashMap;
  11. import java.util.Iterator;
  12. import java.util.List;
  13. import java.util.ListIterator;
  14.  
  15. import javax.swing.JButton;
  16. import javax.swing.JFrame;
  17. import javax.swing.JScrollPane;
  18. import javax.swing.JTextArea;
  19. import javax.swing.JTextField;
  20.  
  21.  
  22. public class Apps extends JFrame
  23. {
  24.    private JButton jbsave;
  25.    private JButton jbdisplay;
  26.    private JTextField name;
  27.    private JTextField age;
  28.    private JTextArea ta;
  29.    private HashMap<String,Integer> hm;
  30.    private List <Pet> lm;
  31.    private JScrollPane jscroll;
  32.  
  33.    public Apps()
  34.    {
  35.       init();
  36.       this.setLayout(null);
  37.       this.setVisible(true);
  38.       this.setBounds(10,20,400,300);
  39.  
  40.       hm = new HashMap<String,Integer>();
  41.       lm = new ArrayList<Pet>();
  42. }
  43.  
  44. private void init()
  45. {
  46.    jbsave = new JButton();
  47.    jbdisplay = new JButton();
  48.    name = new JTextField();
  49.    age = new JTextField();
  50.    ta = new JTextArea();
  51.    jscroll = new JScrollPane();
  52.  
  53.    addComponents(name,40,40,100,25);
  54.    addComponents(age,40,70,50,25);
  55.    addComponents(jbsave,40,100,70,25);
  56.    addComponents(jbdisplay,120,100,100,25);
  57.    addComponents(jscroll,40,160,150,100);
  58.  
  59.    jscroll.getViewport().add(ta);
  60.    jbsave.setText("Save");
  61.    jbdisplay.setText("Display");
  62.    jbsave.addActionListener(new ActionListener() {
  63.       public void actionPerformed(ActionEvent e)
  64.      {
  65.         jbsave_actionPerformed(e);
  66.      }
  67.   });
  68.  
  69.    jbdisplay.addActionListener(new ActionListener()
  70.    {
  71.       public void actionPerformed(ActionEvent e)
  72.       {
  73.          try
  74.         {
  75.             jbdispaly_actionPerformed(e);
  76.         }
  77.         catch (IOException e1)
  78.         {
  79.            e1.printStackTrace();
  80.         }
  81.    }
  82.    });
  83. }
  84.  
  85. private void jbdispaly_actionPerformed(ActionEvent e) throws IOException
  86. {
  87.     String key;
  88.     ta.setText("HashMap size : " + hm.size());
  89.     Iterator<String> iterator = hm.keySet().iterator();
  90.  
  91.     while( iterator. hasNext() )
  92.     {
  93.        key = iterator.next();
  94.        ta.append("\n"+key + " , " + hm.get(key));
  95.     }
  96.  
  97.     Pet p;
  98.     ta.append("\nList size : " + lm.size());
  99.     ListIterator <Pet>li = lm.listIterator();
  100.  
  101.      while(li.hasNext())
  102.     {
  103.        p = (Pet) li.next();
  104.        ta.append("\n" + p.getName() + " , " + p.getAge());
  105.     }
  106. }
  107.    private void jbsave_actionPerformed(ActionEvent e)
  108.    {
  109.        Pet p = new Pet();
  110.        int i_age;
  111.        p.setName(name.getText());
  112.        i_age = Integer.parseInt(age.getText());
  113.        p.setAge(i_age);
  114.  
  115.        hm.put(name.getText(), i_age);
  116.        lm.add(p);
  117. }
  118.  
  119.    private void addComponents(Component comp, int x,int y,int width, int height)
  120.    {
  121.       this.add(comp);
  122.       comp.setBounds(x, y, width, height);
  123.    }
  124. }

Main.java

JAVA:
  1. public class Main
  2. {
  3.    public static void main(String[] args)
  4.    {
  5.       new Apps();
  6.     }
  7. }

Java Array

November 13, 2009

JAVA:
  1. import java.util.Arrays;
  2.  
  3. public class MainProg {
  4.  
  5. /**
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. // TODO Auto-generated method stub
  10. int num1[] = {1,2,3,4};
  11. int num2[] = new int[4];
  12. int num3[] = new int[4];
  13.  
  14. // to populate
  15. for (int i=0 ; i <4 ; i++) {
  16. num2[i] = i;
  17. }
  18.  
  19. Arrays.fill(num3,0);
  20.  
  21. // to display
  22. for ( int value : num2) {
  23. System.out.println(value);
  24. }
  25.  
  26. int value;
  27. for (int x=0 ; x <4 ; x++) {
  28. value = num2[x];
  29. System.out.println(value);
  30. }
  31.  
  32. }
  33. }

JAVA:
  1. import java.util.Arrays;
  2. import java.util.Random;
  3.  
  4.  
  5. public class ArrayEx2 {
  6.  
  7. /**
  8. * @param args
  9. */
  10. public static void main(String[] args) {
  11. // TODO Auto-generated method stub
  12. int e_matrix[][] = new int[3][3] ;
  13. int w_matrix[][] = new int[4][];
  14. int n_items;
  15.  
  16. Random num = new Random();
  17.  
  18. for (int i=0 ; i <e_matrix.length; i++) {
  19. Arrays.fill(e_matrix[i], i+1);
  20. }
  21. display(e_matrix);
  22.  
  23. for (int i=0 ; i <w_matrix.length; i++) {
  24. n_items = num.nextInt(4) + 1 ;
  25. System.out.println("index : " + i + ", length : " + n_items);
  26. w_matrix[i] = new int[n_items];
  27.  
  28. for (int x=0 ; x <w_matrix[i].length ; x++) {
  29. w_matrix[i][x] = num.nextInt(50);
  30. }
  31. }
  32. display(w_matrix);
  33. }
  34.  
  35. public static void display(int the_matrix[][]){
  36. for (int y=0 ; y <the_matrix.length ; y++) {
  37. System.out.println("[row : " + y + "] ");
  38. for (int x=0 ; x <the_matrix[y].length ; x++) {
  39. System.out.print(the_matrix[y][x] + " ");
  40. }
  41. System.out.println();
  42. }
  43.  
  44. }
  45.  
  46. }