// A class providing a Queue viewer that outputs the size of the queue.
// Barry Cornelius, 12th February 2000
import java.awt.    BorderLayout;
import javax.swing. JFrame;
import javax.swing. JLabel;
import java.util.   Observable;
import java.util.   Observer;
public class QueueCounter implements Observer
{
   private JLabel iJLabel;
   public QueueCounter(final int pJFrameX, final int pJFrameY)
   {
      final JFrame tJFrame = new JFrame("QueueCounter");
      iJLabel = new JLabel("unused");
      tJFrame.getContentPane().add(iJLabel, BorderLayout.CENTER);
      tJFrame.setLocation(pJFrameX, pJFrameY);
      tJFrame.setSize(300,100);
      tJFrame.setVisible(true);
   }
   
   public void update(final Observable pObservable, final Object pObject)
   {
      final Queue tQueue = (Queue)pObservable;
      final String tOperationString = (String)pObject;
      iJLabel.setText("After " + tOperationString + ":" + tQueue.size());
   }
}
