Hallo!
Ich bin sozusagen ein Java Anfänger habe aber schon ein Grundwissen von C (d.h. Schleifen, Arrays…)
Ich habe da ein Problem mit meinem kleinen Java Projekt.
Ich möchte mit Java sozusagen eine kleine „Website“ bzw. Informationsseite über den Mond (gg) erstellen.
Ich arbeite mit der Anfänger Software blueJ und habe es bis jetzt mal geschafft eine Klasse Fesnter zu erzeugen von dieser dann die anderen Klassen vererbt werden sollen.
Meine Klasse Fenster sieht so aus:
import java.awt.*;
import java.awt.event.*;
import java.awt.Menu.*;
public class Fenster extends Frame implements ActionListener, WindowListener
{
public Fenster()
{
super(„Java Website über den Mond“);
setSize(400,400);
setLocation(250,350);
setVisible(true);
addWindowListener(this);
}
public void actionPerformed(ActionEvent ev)
{
if (ev.getSource() instanceof MenuItem)
{
String verlinkmenu1 = ev.getActionCommand();
if (verlinkmenu1 == „Grunddaten“) new Fenster();
}
if (ev.getSource() instanceof MenuItem)
{
String verlinkmenu2 = ev.getActionCommand();
if (verlinkmenu2 == „Mondphasen“) new Mondphasen();
}
}
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
public void windowOpened(WindowEvent evt){}
public void windowIconified(WindowEvent evt){}
public void windowDeiconified(WindowEvent evt){}
public void windowClosed(WindowEvent evt){}
public void windowActivated(WindowEvent evt){}
public void windowDeactivated(WindowEvent evt){}
}
======================================================================
Meine Klasse Window (indem das Menü enthalten ist) sieht so aus:
import java.awt.*;
import java.awt.event.*;
import java.awt.Menu.*;
public class Window extends Fenster implements ActionListener
{
public Window()
{
setTitle(„Java Website über den Mond“);
setSize(400,400);
setLocation(250,350);
setVisible(true);
MenuBar hm = new MenuBar();
Menu menu1 = new Menu(„Daten“);
Menu menu2 = new Menu(„Bilder“);
Menu menu3 = new Menu(„Mondforschung“);
Menu menu4 = new Menu(„Menschen auf dem Mond“);
Menu menu5 = new Menu(„Info“);
menu1.add(„Grunddaten“);
menu1.addSeparator();
menu1.add(„Mondphasen“);
menu1.addSeparator();
menu1.add(„Mondfinsternis“);
menu1.addSeparator();
menu2.add(„Der Mond“);
menu2.addSeparator();
menu2.add(„Mondfinsternis“);
menu2.addSeparator();
menu3.add(„Landedaten“);
menu3.addSeparator();
menu4.add(„Erster Mensch auf dem Mond“);
menu4.addSeparator();
menu4.add(„Liste der Menschen auf dem Mond“);
menu4.addSeparator();
menu5.add(„Über“);
menu5.addSeparator();
menu5.add(„Version“);
menu5.addSeparator();
hm.add(menu1);
hm.add(menu2);
hm.add(menu3);
hm.add(menu4);
hm.add(menu5);
menu1.addActionListener(this);
setMenuBar(hm);
}
}
Meine Klasse Mondphasen (welche ein Menüpunkt im Menü von Window ist) sieht so aus:
import java.awt.*;
import java.awt.event.*;
public class Mondphasen extends Fenster implements WindowListener
{
public Mondphasen()
{
setSize(500, 500);
setLocation(450,350);
setTitle(„Die Mondphasen des Mondes“);
}
Font f = new Font(„Arial“,Font.BOLD,20);
public void paint(Graphics g)
{
g.setFont(f);
g.setColor(Color.blue);
g.drawString(„Die Mondphasen“, 120, 60);
}
}
======================================================================
(Zu starten mit blueJ ist die Klasse Window.)
Mein Fehler:
Ich starte mit blueJ ein neues Fenster der Klasse Window --> rechte Maustaste „new Window()“
Dann habe ich ein Fenster mit der Menubar oben.
Dann klicke ich auf „Daten“ und im unter Menü von Daten dann auf „Mondphasen“.
Wie gewollt öffnet sich jetzt ein neues Fenster und zwar indem natürlich „Mondphasen“ drinnen steht.
Wenn ich jetzt das Fenster von Mondphasen schließen möchte dann schließt sich leider auch das Fenster von Window mit.
Ich wäre sehr Dankbar wenn jemand mir helfen kann, da ich selbst nicht mehr weiter weiß…
Liebe Grüße
carphunters