// IBIO + standard constructor stuff
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;

 public class EasyIO extends Frame implements ActionListener
 {
   //--- Constructor - add components to Frame -------
   public EasyIO()
   {
     setLayout(new FlowLayout());         // use FlowLayout manager

     addWindowListener                    // enable [x] for closing app
     new WindowAdapter()
       public void windowClosing(WindowEvent evt)
         System.exit(0)}
       }
     );
   }

   //--- Stub version to satisfy implements ActionListener ---
   public void actionPerformed(ActionEvent evt)
   {   }

 //===========================================================
 //=== IBIO simplified input/output commands - GUI version ===
 //===========================================================
   public void output(String message)
   {  JOptionPane.showMessageDialog(this,message);  }

   public void outputString(String message)
   {  output(message);  }

   public void output(char info)
   {  output(info + "")}

   public void output(byte info)
   {  output(info + "")}

   public void output(int info)
   {  output(info + "")}

   public void output(long info)
   {  output(info + "")}

   public void output(double info)
   {  output(info + "")}

   public void output(boolean info)
   {  output(info + "")}

   //----- Numerical input methods return 0 on error ------------
   public String input(String prompt)
   {  return JOptionPane.showInputDialog(this,prompt);  }

   public String inputString(String prompt)
   return input(prompt);  }

   public String input()
   return input("");     }

   public char inputChar(String prompt)
   char result=(char)0;
     try{result=input(prompt).charAt(0);}
     catch (Exception e){result = (char)0;}
     return result;
   }

   public byte inputByte(String prompt)
   byte result=0;
     try{result=Byte.valueOf(input(prompt).trim()).byteValue();}
     catch (Exception e){result = 0;}
     return result;
   }

   public int inputInt(String prompt)
   {  int result=0;
      try{result=Integer.valueOf(
                        input(prompt).trim()).intValue();}
      catch (Exception e){result = 0;}
      return result;
   }

   public long inputLong(String prompt)
   {  long result=0;
      try{result=Long.valueOf(input(prompt).trim()).longValue();}
      catch (Exception e){result = 0;}
      return result;
   }

   public double inputDouble(String prompt)
   {  double result=0;
      try{result=Double.valueOf(
                          input(prompt).trim()).doubleValue();}
      catch (Exception e){result = 0;}
      return result;
   }

   public boolean inputBoolean(String prompt)
   {  boolean result=false;
      try{result=Boolean.valueOf(
                         input(prompt).trim()).booleanValue();}
      catch (Exception e){result = false;}
      return result;
   }
 //============================================================
 //=========== end IBIO =======================================
 //============================================================

 }