8.4.7 Die Klasse IntJTextField.java
package BeispielApplet;
import javax.swing.JTextField;

// Klasse wurde von JTextField abgeleitet und einige
// Methoden ergaenzt bzw. der Konstruktor veraendert.

public class IntJTextField extends JTextField {

 private int low;        // untere Grenze des Wertebereiches
 private int high;       // obere Grenze des Wertebereiches


   // Konstruktor der Klasse dem beim Erzeugen des Objektes
   // wird der Wertebereich der Eingabe uebergeben.
 public IntJTextField ( int min, int max){
  this.low = min;
  this.high = max;
 }

   // Methode um festzustellen, ob die Eingabe des Objektes
   // ein Int-Wert im erlaubten Wertebereich ist.
 public boolean isValid(){
  int value;
  try
  {                // Eingabe wird in einen Int-Wert umgewandelt.
   value = Integer.parseInt(this.getText()) ;
   if (value < low || value > high)
   {                                   // Liegt der eingegebene
    throw new NumberFormatException(); // Wert außerhalb des
   }                                   // Wertebereiches
  }                                    // erfolgt Fehlermeldung
  catch (NumberFormatException f)
  {
                  // Es wird kontrolliert ob der Fehler durch
                  // die fruehere Ausgabe "k.p.D." entstanden ist.
   if (this.getText().equals("keine pos. Differenz"))
    return false;
   this.setText(" "+this.low+ "-" +this.high+" eingeben");
   this.selectAll();              // Bei einem Fehler
   this.requestFocus();           // wird der Wertebereich
   return false;                  // angezeigt und das betreffende
  }                               // Textfeld markiert.
   return true;
 }

   // Methode zum Auslesen des Textfeldes
 public int getValue(){
 return Integer.parseInt(this.getText());
 }
}