Hier mein Quelltext der Menu class
[Java]
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class Menu implements ActionListener {
JFrame frame1;
JTextArea text;
JPanel panel,panel2;
JButton b1,b2,b3,b4,b5,b6,b7,b8;
JScrollPane scroller;
JTextField tf1;
JProgressBar laden;
int test, x, m, k, sicher,laenge, anzahl, anzahlc;
static String addi, c, cp, d, t, r, kuen;
Database DB1 = new Database();
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));
panel.add(b1);
panel.add(b2);
panel.add(b3);
panel.add(b4);
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, 350);
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("");
text.append("######Hauptmenu######\n#####################\n# 1 = CD erstellen" +
"\n# 2 = DVD erstellen\n# 3 = BluRay erstellen\n#" +
"\n# 4 = Bibliothek anzeigen\n#####################");
scroller.getAutoscrolls();
}
public void cdErstellen(){
//JOptionPane.showInputDialog("Bitte Passwort eingeben", "Bitte Passwort eingeben");
System.out.println("cdErstellen");
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 = 1;
}
}
laenge = Integer.parseInt(JOptionPane.showInputDialog("Länge der CD in Minuten", "LÄNGE"));
// anzahl = JOptionPane.showInputDialog("die Anzahl der Titel angeben", "ANZAHL");
// laenge = JOptionPane.showInputDialog("Länge der CD in Minuten", "LÄNGE");
DB1.erfasseDisk(new CD(t, kuen, anzahl, laenge));
DB1.auflisten();
}
public void dvdErstellen(){
System.out.println("dvdErstellen");
// t = JOptionPane.showInputDialog("Titel der DVD angeben", "TITEL");
// r = JOptionPane.showInputDialog("Künstler angeben", "KÜNSTLER");
// laenge =JOptionPane.showInputDialog("Länge der DVD in Minuten", "LÄNGE");
}
public void blurayErstellen(){
System.out.println("blurayErstellen");
// t = JOptionPane.showInputDialog("Titel der BluRay angeben", "TITEL");
// r = JOptionPane.showInputDialog("Künstler angeben", "KÜNSTLER");
// laenge =JOptionPane.showInputDialog("Länge der BluRay in Minuten", "LÄNGE");
}
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");
hauptMenu();
k =2;
}
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;
}
} 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");
x = 2;
laden.setValue(75);
anfangsMenu();
}
else{
text.append("\nFALSCHES KENNWORT - \nbitte neu eingeben\n");
x = 1;
}
}
}
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"));
os.writeObject(Database.disk);
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);
}
}
}
[/Java]
Das nächste ist dann Database:
[Java]
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class Database {
static ArrayList <Disk> disk;
private int laufende_nr_disk;
public Database()
{
disk = new ArrayList<Disk>();
}
public void erfasseDisk(Disk dieDisk)
{
disk.add(dieDisk);
}
public void auflisten()
{
// Liste der CDs ausgeben
for(int i=0; i<disk.size(); i++)
{
System.out.println("Arraynummer: "+i+"\n"); //------------------------
if(disk.get(i) != null)
{
disk.get(i).ausgeben();
System.out.println();
}
}
}
public void Eintragloeschen( int nummer ){
disk.remove( nummer );
}
}
[/Java]
ich habe auch shcon folgendes gemacht:
Habe die Database einfach von der Menu erben lassen, so konnte ich die text.append ausführen, jedoch hat dann die GUI nicht mehr gestartet, bzw mit fehler:
run:
Exception in thread "main" java.lang.NoClassDefFoundError: gui/Menu
at gui.Main.main(Main.java:19)
Caused by: java.lang.ClassNotFoundException: gui.Menu
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 1 more
Java Result: 1