class Menu implements ActionListener, Serializable {
JFrame frame1,frame2;
JTextArea text;
JTable table;
JPanel panel,panel2;
JButton b1,b2,b3,b4,b5,b6,b7,b8,b9;
JScrollPane scroller;
JTextField tf1;
JProgressBar laden;
int test, x,z,zz , m, k, sicher,laenge, anzahl, anzahlc,arraydelete,arraygroese;
String addi, c, cp, d, t, r, kuen;
String titel1;
Database DB1 = new Database();
String[] titles = new String[]{ "Titel", "Regisseur", "Künstler", "Anzahl", "Länge" };
public void los() {
frame1 = new JFrame();
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setBackground(Color.WHITE);
panel = new JPanel();
panel2 = new JPanel();
panel.setBackground(Color.WHITE);
panel2.setBackground(Color.WHITE);
laden = new JProgressBar();
laden.setMaximum(100);
laden.setMinimum(0);
laden.setValue(0);
b1 = new JButton(" 1 ");
b1.addActionListener(this);
b1.setAlignmentX(JButton.CENTER_ALIGNMENT);
b1.setMaximumSize(new Dimension(Integer.MAX_VALUE, b1.getMaximumSize().height));
b2 = new JButton(" 2 ");
b2.addActionListener(this);
b2.setAlignmentX(JButton.CENTER_ALIGNMENT);
b2.setMaximumSize(new Dimension(Integer.MAX_VALUE, b2.getMaximumSize().height));
b3 = new JButton(" 3 ");
b3.addActionListener(this);
b3.setAlignmentX(JButton.CENTER_ALIGNMENT);
b3.setMaximumSize(new Dimension(Integer.MAX_VALUE, b3.getMaximumSize().height));
b4 = new JButton(" 4 ");
b4.addActionListener(this);
b4.setAlignmentX(JButton.CENTER_ALIGNMENT);
b4.setMaximumSize(new Dimension(Integer.MAX_VALUE, b4.getMaximumSize().height));
b5 = new JButton(" Ja ");
b5.addActionListener(this);
b5.setAlignmentX(JButton.CENTER_ALIGNMENT);
b5.setMaximumSize(new Dimension(Integer.MAX_VALUE, b5.getMaximumSize().height));
b6 = new JButton("Nein");
b6.addActionListener(this);
b6.setAlignmentX(JButton.CENTER_ALIGNMENT);
b6.setMaximumSize(new Dimension(Integer.MAX_VALUE, b6.getMaximumSize().height));
b7 = new JButton("Speicehrn");
b7.addActionListener(this);
b7.setAlignmentX(JButton.CENTER_ALIGNMENT);
b7.setMaximumSize(new Dimension(Integer.MAX_VALUE, b7.getMaximumSize().height));
b8 = new JButton("Laden");
b8.addActionListener(this);
b8.setAlignmentX(JButton.CENTER_ALIGNMENT);
b8.setMaximumSize(new Dimension(Integer.MAX_VALUE, b8.getMaximumSize().height));
b9 = new JButton(" 5 ");
b9.addActionListener(this);
b9.setAlignmentX(JButton.CENTER_ALIGNMENT);
b9.setMaximumSize(new Dimension(Integer.MAX_VALUE, b9.getMaximumSize().height));
b9.setVisible(false);
panel.add(b1);
panel.add(b2);
panel.add(b3);
panel.add(b4);
panel.add(b9);
panel.add(b5);
panel.add(b6);
panel.add(b7);
panel.add(b8);
text = new JTextArea(10, 20);
text.setLineWrap(true);
tf1 = new JTextField(c);
tf1.setText("Hier eingabe Möglich!");
tf1.selectAll();
tf1.requestFocus();
tf1.addActionListener(this);
tf1.setMaximumSize(new Dimension(Integer.MAX_VALUE, tf1.getMaximumSize().height));
scroller = new JScrollPane(text);
scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
panel2.add(scroller);
panel2.add(laden);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel2.setLayout(new BoxLayout(panel2, BoxLayout.Y_AXIS));
frame1.getContentPane().add(BorderLayout.WEST, panel);
frame1.getContentPane().add(BorderLayout.EAST, panel2);
frame1.getContentPane().add(BorderLayout.SOUTH, tf1);
frame1.setSize(350, 500);
frame1.setVisible(true);
text.append("Bitte Loggen Sie sich zunächst ein! \n");
m=1;
}
public void anfangsMenu() {
text.setText("");
laden.setValue(100);
text.append("\n#############\n");
text.append("# Willkommen #\n");
text.append("##############\n");
scroller.getAutoscrolls();
text.append("\nWollen Sie das Script\n");
text.append("Starten? JA oder NEIN \n");
k = 1;
}
public void hauptMenu(){
text.setText("");
if(DB1.disk.size() == 0 && z==999){
text.append("######Hauptmenu######\n#####################\n# x = xx xxxxxxxx" +
"\n# x = xxx xxxxxxxxxx\n# 3 = xxxxxx xxxxxxxx\n#" +
"\n# 4 = Bibliothek anzeigen\n#####################");
scroller.getAutoscrolls();
b9.setVisible(false);
b1.setEnabled(false);
b2.setEnabled(false);
b3.setEnabled(false);
b8.setEnabled(false);
zz=9999;
}
else if(DB1.disk.size() == 0 && z==888){
text.append("######Hauptmenu######\n#####################\n# 1 = CD erstellen" +
"\n# 2 = DVD erstellen\n# 3 = BluRay erstellen\n#" +
"\n# 4 = Bibliothek anzeigen\n#####################");
scroller.getAutoscrolls();
b9.setVisible(false);
}
else if(DB1.disk.size() > 0 && z == 888){
text.append("######Hauptmenu######\n#####################\n# 1 = CD erstellen" +
"\n# 2 = DVD erstellen\n# 3 = BluRay erstellen" +
"\n# 4 = Bibliothek anzeigen\n# 5 = Media löschen\n#####################");
scroller.getAutoscrolls();
b9.setVisible(true);
}
}
public void cdErstellen(){
anzahlc = 0;
t = JOptionPane.showInputDialog("Titel der CD angeben", "TITEL");
kuen = JOptionPane.showInputDialog("Künstler angeben", "KÜNSTLER");
while(anzahlc<2){
try{
anzahl = Integer.parseInt(JOptionPane.showInputDialog("die Anzahl der Titel angeben", "ANZAHL"));
anzahlc = 2;
}
catch(Exception e){
text.append("Bitte geben Sie bei \"die Anzahl der Titel angeben\" " +
"\nnur Zahlen ein");
anzahlc = 0;
}
}
while(anzahlc<3){
try{
laenge = Integer.parseInt(JOptionPane.showInputDialog("Länge der CD in Minuten", "LÄNGE"));
anzahlc = 3;
}
catch(Exception e){
text.append("Bitte geben Sie bei \"Länge der CD\" " +
"\nnur Zahlen ein");
anzahlc = 0;
}
}
DB1.erfasseDisk(new CD(t, kuen, anzahl, laenge));
hauptMenu();
}
public void dvdErstellen(){
anzahlc = 0;
t = JOptionPane.showInputDialog("Titel der DVD angeben", "TITEL");
r = JOptionPane.showInputDialog("Regisseur angeben", "REGISSEUR");
while(anzahlc<4){
try{
laenge = Integer.parseInt(JOptionPane.showInputDialog("Länge der DVD in Minuten", "LÄNGE"));
anzahlc = 4;
}
catch(Exception e){
text.append("Bitte geben Sie bei \"Länge der DVD\" " +
"\nnur Zahlen ein");
anzahlc = 0;
}
}
DB1.erfasseDisk(new DVD(t,r, laenge));
hauptMenu();
}
public void blurayErstellen(){
anzahlc = 0;
t = JOptionPane.showInputDialog("Titel der BluRay angeben", "TITEL");
r = JOptionPane.showInputDialog("Regisseur angeben", "REGISSEUR");
while(anzahlc<5){
try{
laenge = Integer.parseInt(JOptionPane.showInputDialog("Länge der BluRay in Minuten", "LÄNGE"));
anzahlc = 5;
}
catch(Exception e){
text.append("Bitte geben Sie bei \"Länge der BluRay\" " +
"\nnur Zahlen ein");
anzahlc = 0;
}
}
DB1.erfasseDisk(new BluRay(t,r, laenge));
hauptMenu();
}
public void listeZeigen(){
for(int i=0; i<DB1.disk.size(); i++)
{
text.append(i+":\n"+DB1.disk.get(i).toString());
}
}
public void arrayLöschung(){
listeZeigen();
DB1.disk.remove(arraydelete = Integer.parseInt(JOptionPane.showInputDialog("Geben Sie die Nummer der \nDsik an", "NUMMER")));
text.append("Eintrag erfolgreich GELÖSCHT");
hauptMenu();
listeZeigen();
}
public void actionPerformed(ActionEvent ev) {
try {
if (ev.getSource() == b1) {
text.append("Sie haben \"1\" gewählt, sind Sie sicher? \n");
sicher = 1;
}
} catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try {
if (ev.getSource() == b2) {
text.append("Sie haben \"2\" gewählt, sind Sie sicher? \n");
sicher = 2;
}
} catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try {
if (ev.getSource() == b3) {
text.append("Sie haben \"3\" gewählt, sind Sie sicher? \n");
sicher = 3;
}
} catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try {
if (ev.getSource() == b4) {
text.append("Sie haben \"4\" gewählt, sind Sie sicher? \n");
sicher = 4;
}
} catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try {
if (ev.getSource() == b5 && k == 1) {
text.append("JA \n");
k =2;
hauptMenu();
}
else if(ev.getSource() == b5 && sicher ==1){
cdErstellen();
sicher = 100;
}
else if(ev.getSource() == b5 && sicher ==2){
dvdErstellen();
sicher = 200;
}
else if(ev.getSource() == b5 && sicher ==3){
blurayErstellen();
sicher = 300;
}
else if(ev.getSource() == b5 && sicher ==4){
sicher = 400;
listeZeigen();
}
else if(ev.getSource() == b5 && zz == 9999){
text.append ("\n\n Zur zeit sind keine Disks\n enthalten");
zz=0;
}
} catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try {
if (ev.getSource() == b6 && k ==1) {
text.append("NEIN \n");
System.exit(1);
}
else if(ev.getSource() == b6 && sicher ==1){
hauptMenu();
sicher = 100;
}
else if(ev.getSource() == b6 && sicher ==2){
hauptMenu();
sicher = 100;
}
else if(ev.getSource() == b6 && sicher ==3){
hauptMenu();
sicher = 100;
}
} catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try{
if (ev.getSource() == tf1 ) {
test = 1;
c = tf1.getText();
laden.setValue(25);
if (c.equals("Admin")&& m==1) {
text.append("\nGuten Tag Admin, geben Sie Ihr Kennwort ein!\n");
laden.setValue(50);
while(x<2){
cp = JOptionPane.showInputDialog("Bitte Passwort eingeben", "Bitte Passwort eingeben");
if (cp.equals("123")){
text.append("LogIn ERFOLGREICH!\n");
laden.setValue(75);
x = 2;
z = 888;
anfangsMenu();
}
else{
text.append("\nFALSCHES KENNWORT - \nbitte neu eingeben\n");
x = 1;
}
}
}
else if(m==1 && c.equals("Gast")|| c.equals("Guest") && m==1 || c.equals("guest") && m==1|| c.equals("gast") && m==1){
text.append("LogIn ERFOLGREICH!\n");
text.append("Für "+c);
z=999;
x = 2;
anfangsMenu();
}
else if (m==1) {
text.append("\nFALSCHER benutzername - \nbitte neu eingeben\n");
}
}
}
catch (Exception e) {
text.append("Fehler im Code!\n" + "\n"+e);
}
try {
if (ev.getSource() == b7) {
text.append("Sie wählten SPEICHERN\n");
try{
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("dome.ser"));
for(int i=0; i<DB1.disk.size(); i++)
{
os.writeObject(Database.disk.get(i));
}
os.close();
System.out.println("\t|| Die Liste wurde im Hauptverzeichniss gespeichert ||");
}
catch (Exception ex){
System.out.println("\n\t\t|| Datei konnte nicht gespeichert werden! ||\n"+ex);
}
}
}
catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try {
if (ev.getSource() == b8) {
text.append("Sie wählten LADEN\n");
try{
for(int i=0; i<Database.disk.size(); i++){
Database.disk.remove(i);
}
ObjectInputStream is = new ObjectInputStream(new FileInputStream("dome.ser"));
Database.disk = (ArrayList<Disk>) is.readObject();
System.out.println("\t|| Die Liste wurde geladen ||");
is.close();
}
catch(Exception ex){
System.out.println("\n\t\t|| Datei konnte nicht geladen werden! ||\n"+ex);
}
}
}
catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
try {
if (ev.getSource() == b9) {
text.append("\nSie haben \"2\" gewählt, sind Sie sicher? \n");
arrayLöschung();
}
} catch (Exception e) {
text.append("Fehler im Code!\n" + e);
}
}
}