
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class CDInputDialog extends JDialog {
  private CD dieCD;
  // der OK-Knopf
  JButton jButtonOK = new JButton();
  // der Abbrechen-Knopf
  JButton jButtonAbbrechen = new JButton();
  // Bezeichnungstext fuer das Eingabefeld 
  JLabel jLabelTitel = new JLabel();
  // Das Eingabefeld
  JTextField jTextFieldTitel = new JTextField();

  // Konstruktor mit der als Parameter uebergebenen CD, deren Attribute
  // hier (mit dem Eingabefenster) geaendert werden sollen.
  public CDInputDialog(CD c) {
    dieCD = c;
    jbInit();
  }

  // Diese Initialisierungs-Methode wird vom Konstruktor aufgerufen.
  private void jbInit() {
    // Die groesse des Fensters setzen
    this.setSize(400,320);
    // Den OK-Knopf mit dem Text "OK" versehen
    jButtonOK.setText("OK");
    // Die groesse und den Ort des Knopfes festlegen
    jButtonOK.setBounds(new Rectangle(184, 251, 97, 27));
    // Dem Knopf eine unten ausprogrammierte Aktion zuordnen
    jButtonOK.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButtonOK_actionPerformed(e);
      }
    });
    // Kein besonderes Layout setzen
    this.getContentPane().setLayout(null);
    // Abbrechen-Knopf:  
    jButtonAbbrechen.setBounds(new Rectangle(286, 251, 97, 27));
    jButtonAbbrechen.setText("Abbrechen");
    jLabelTitel.setText("Titel");
    jLabelTitel.setBounds(new Rectangle(52, 49, 41, 17));
    jTextFieldTitel.setBounds(new Rectangle(86, 47, 109, 21));
    this.getContentPane().add(jLabelTitel, null);
    this.getContentPane().add(jTextFieldTitel, null);
    this.getContentPane().add(jButtonOK, null);
    this.getContentPane().add(jButtonAbbrechen, null);
  }

  void jButtonOK_actionPerformed(ActionEvent e) {
    // OK wurde gedrckt, die nderungen werden aus dem Eingabefeld in
    // die Fachkonzeptklasse CD bertragen
    dieCD.setTitel(jTextFieldTitel.getText());
    // Das Fenster wird versteckt
    this.hide();
  }
}
