import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 30.10.2010
  * @author
  */

public class CDAnwendung extends JFrame {
  // Anfang Attribute
  CD meineCD = new CD();
  
  private JMenuBar jmb = new JMenuBar();
  private JMenu jmuCD = new JMenu("CD");
  private JMenuItem CDJMenuItem1 = new JMenuItem("CD eingeben...");
  private JMenuItem CDJMenuItem3 = new JMenuItem("Beenden");
  private JTextArea jTFCDSammlung = new JTextArea("");
  private JLabel jLabel1 = new JLabel();
  // Ende Attribute

  public CDAnwendung(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 548;
    int frameHeight = 408;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    setJMenuBar(jmb);
    jmb.add(jmuCD);
    CDJMenuItem1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        CDJMenuItem1_ActionPerformed(evt);
      }
    });
    jmuCD.add(CDJMenuItem1);

    jmuCD.addSeparator();
    CDJMenuItem3.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        CDJMenuItem3_ActionPerformed(evt);
      }
    });
    jmuCD.add(CDJMenuItem3);

    jTFCDSammlung.setBounds(32, 40, 361, 257);
    jTFCDSammlung.setText("");
    cp.add(jTFCDSammlung);
    jLabel1.setBounds(32, 16, 76, 16);
    jLabel1.setText("Meine CDs");
    jLabel1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel1);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  public void CDJMenuItem1_ActionPerformed(ActionEvent evt) {
    CDGUI meinCDEingabefenster = new CDGUI(this, "CD Eingeben", true);
    meineCD = new CD();
    meinCDEingabefenster.setDieAngezeigteCD(meineCD);
    meinCDEingabefenster.anzeigen();
    CDContainer.addCD(meineCD);
    refreshCDAnzeige();
  }

  public void CDJMenuItem3_ActionPerformed(ActionEvent evt) {
     dispose();  // Schliesst das Hauptanwendungsfenster
  }

  public void refreshCDAnzeige() {
    CD dieAktuelleCD;
    String anzeige = "";

    for (int i = 0; i<CDContainer.getAnzahlAllerMeinerCDs(); i++) {
      dieAktuelleCD = CDContainer.getCDAt(i);
      anzeige = anzeige + dieAktuelleCD.getTitel();
      anzeige = anzeige + ", ";
      anzeige = anzeige + dieAktuelleCD.getInterpret();
      anzeige = anzeige + "\r\n";
    }

    jTFCDSammlung.setText(anzeige);
  }

  // Ende Methoden

  public static void main(String[] args) {
    new CDAnwendung("CDAnwendung");
  }
}
