import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
public class NeuDVD extends JInternalFrame {
JLabel daten,titel,fsk,laufzeit,genre,jahr,leer;
static JLabel labelCover;
static JInternalFrame frame_dvd;
static JTextField feld_titel,feld_laufzeit,feld_jahr;
static JComboBox combo_genre,combo_fsk;
String[] genre_array = {"Abenteuer","Action","Drama","Drama, Krieg","Fantasy","Horror",
"Komödie","Krieg","Science Fiction","Science Fiction","Thriller"};
String[] fsk_array = {"6","12","16","18"};
static JButton cover_auswahl,ok,abbrechen;
static String cover;
NeuDVD() {
//super();
frame_dvd = new JInternalFrame("neue DVD hinzufügen",true,true,true,true);
frame_dvd.setLocation(250,100);
frame_dvd.setLayout(null);
frame_dvd.setSize(410,300);
daten = new JLabel(" Hauptdaten des Eintrags");
daten.setBounds(170,20,210,15);
// JLabel mit Hintergrundfarbe
daten.setOpaque(true);
daten.setBackground(new Color(50,113,205));
daten.setForeground(Color.white);
titel = new JLabel("Titel:");
titel.setBounds(170,60,50,15);
feld_titel = new JTextField();
feld_titel.setBounds(240,58,140,20);
genre = new JLabel("Genre:");
genre.setBounds(170,90,50,15);
combo_genre = new JComboBox(genre_array);
combo_genre.setBounds(241,88,120,20);
laufzeit = new JLabel("Laufzeit:");
laufzeit.setBounds(170,120,50,15);
feld_laufzeit = new JTextField();
feld_laufzeit.setBounds(240,118,60,20);
jahr = new JLabel("Jahr:");
jahr.setBounds(170,150,50,15);
feld_jahr = new JTextField();
feld_jahr.setBounds(240,148,60,20);
fsk = new JLabel("FSK:");
fsk.setBounds(170,180,50,15);
combo_fsk = new JComboBox(fsk_array);
combo_fsk.setBounds(240,178,50,20);
leer = new JLabel("");
leer.setBounds(170,215,210,15);
leer.setOpaque(true);
leer.setBackground(new Color(50,113,205));
ok = new JButton("OK");
ok.setBounds(170,242,80,20);
ok.addActionListener(new ButtonListener());
abbrechen = new JButton("Abbrechen");
abbrechen.setBounds(260,242,110,20);
abbrechen.addActionListener(new ButtonListener());
cover_auswahl = new JButton("Cover");
cover_auswahl.addActionListener(new CoverListener());
cover_auswahl.setBounds(20,17,80,20);
labelCover = new JLabel();
labelCover.setBounds(20,60,120,170);
labelCover.setOpaque(true);
labelCover.setBackground(new Color(255,0,0));
cover = "Icons/grau.jpg";
ImageIcon icon = new ImageIcon(cover);
icon.setImage(icon.getImage().getScaledInstance(120,170,Image.SCALE_DEFAULT));
labelCover.setIcon(icon);
frame_dvd.add(daten);
frame_dvd.add(titel);
frame_dvd.add(feld_titel);
frame_dvd.add(genre);
frame_dvd.add(combo_genre);
frame_dvd.add(laufzeit);
frame_dvd.add(feld_laufzeit);
frame_dvd.add(jahr);
frame_dvd.add(feld_jahr);
frame_dvd.add(fsk);
frame_dvd.add(combo_fsk);
frame_dvd.add(leer);
frame_dvd.add(ok);
frame_dvd.add(abbrechen);
frame_dvd.add(cover_auswahl);
frame_dvd.add(labelCover);
frame_dvd.setVisible(true);
VideothekMain.v.desktop.add(frame_dvd);
try {
frame_dvd.setSelected(true);
} catch(Exception e) {
}
}
public void hinzufuegenDVD() {
int anzahl = VideothekMain.v.tdvd.tabelle_dvd.getRowCount();
JTable feld = VideothekMain.v.tdvd.tabelle_dvd;
ArrayList listeDVD = new ArrayList();
// DVDs in ArrayList speichern
for(int i=0; i<anzahl; i++) {
String zeile = ""+feld.getValueAt(i,0)+";"+feld.getValueAt(i,1)+";"+feld.getValueAt(i,2)+";"+
feld.getValueAt(i,3)+";"+feld.getValueAt(i,4)+";"+feld.getValueAt(i,5)+";";
listeDVD.add(zeile);
}
String titel = ""+feld_titel.getText();
String genre = ""+combo_genre.getSelectedItem();
String laufzeit = ""+feld_laufzeit.getText();
int jahr = Integer.parseInt(""+feld_jahr.getText());
int fsk = Integer.parseInt(""+combo_fsk.getSelectedItem());
String zeile = cover+";"+titel+";"+genre+";"+laufzeit+";"+jahr+";"+fsk+";";
listeDVD.add(zeile);
// ArrayList der DVDs wird nach Titel sortiert
//Collections.sort(listeDVD);
//Collections.sort(listeDVD.subList(1, listeDVD.size()));
//Collections.sort(listeDVD.subList(1, 2));
/*
Collections.sort(listeDVD,new Comparator() {
public int compare(Object o1,Object o2)
{
//Hier wird der Vergleich zwischen 2 deiner Onjekte aus deiner
//ArrayList durchgeführt und entschieden, ob
//diese gleich sind, bzw. ob o1 größer oder kleiner als o2 ist
return 1 oder 0 oder -1
}
}); */
// Zeilenanzahl der Tabelle DVD wird auf 0 gesetzt
VideothekMain.v.tdvd.model_dvd.setRowCount(0);
// Zeile wird gesplittet und in die Tabelle eingetragen
for(int i=0; i<listeDVD.size(); i++) {
String f = ""+listeDVD.get(i);
String[] feld_dvd = f.split(";");
VideothekMain.v.tdvd.model_dvd.addRow(feld_dvd);
}
int anzahl2 = VideothekMain.v.tdvd.tabelle_dvd.getRowCount();
VideothekMain.v.eintraege.setText("Einträge: " + anzahl2);
frame_dvd.setVisible(false);
}
}