BuiltWithNOF
Linked Lists

Copy and paste this code into JCreator.  Run it. We will go through this code carefully. When in JCreator, comment this code clearly, but take note with pictures also.

 

import java.io.*;
import java.awt.*;
import java.applet.Applet;


public class LLLight extends Applet
{
   ListNode first, last, temp;
   int wait;
   Label lab;
   TextField nameTxt;
   Button addFront,addBack,delFront,delBack,print;

  public void init()
  {
   first = last = null; // create the List container
   lab = new Label("Enter Object"); add(lab);
   nameTxt = new TextField(8); add(nameTxt);
   addFront = new Button("Add Front"); add(addFront);
   addBack = new Button("Add Back"); add(addBack);
   delFront = new Button("Del Front"); add(delFront);
   delBack = new Button("Del Back"); add(delBack);
   print = new Button("Print"); add(print);

  }

  public void paint(Graphics g)
  {
      
     if ( first==null )
         g.drawString( "Empty List",10,80 );

     else
     {

         ListNode current = first;
         g.drawString( first.data  + " is the front of the list.", 10,80 );
    
         int yval = 0;
         while ( current != null )
         {
           g.drawString( current.data,10,yval*15+80);
           current = current.next;
           yval++;
         }

     }  // end of if
  } // end of paint

  public boolean action(Event e,Object o)
  {
  if (e.target == addFront)
  { 
     ListNode temp = new ListNode(nameTxt.getText());
     temp.next = first;
     first = temp;
    
     nameTxt.setText("");
     nameTxt.requestFocus();
  }

  if (e.target == delBack)
  { 
       if (first == null)
       {
         System.out.println("Empty List");
     }
    
     else
     {
         ListNode temp = first;
        
         while( temp.next != last)
             temp = temp.next;
            
         last = temp;
         last.next = null;
     }
    
       nameTxt.setText("");
       nameTxt.requestFocus();
  }

  if (e.target == delFront)
  { 
     if (first == null)
         System.out.println("List is Empty");
     else
       first = first.next;
      
     nameTxt.setText("");
     nameTxt.requestFocus();
  }

  if (e.target == addBack)
  { 
 
     // fix this
     ListNode temp = new ListNode(nameTxt.getText());
     last.next = temp;
     last = temp;
    
     nameTxt.setText("");
     nameTxt.requestFocus();
  }

  if (e.target == print)
  {
     repaint();
  }
 
  return true;
 } // end of action
} //end of LLLight




class ListNode
{
  
   String data;   
   ListNode next;

  
   public ListNode( String d )
   {
     data = d;
     next = null;
   }
  
}

[Home] [Syllabus] [Sessions]