Hallo,
ich bin ein Java Neuling und probiere mich gerade an meinem ersten Fenster.
Mein Problem ist jetzt, dass wenn ich auf ein MenuItem,wie zum Beispiel Beenden, klicke nichts passiert. Das Fenster bleibt immer noch bestehen. Ich kann aber keinen Fehler erkennen, könnte mir da jemand behilflich sein?
Danke schon einmal im voraus!
package fensterina;
import java.awt.*;
import java.awt.event.*;
import javax.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.WindowConstants;
public class Fenster extends JFrame implements ActionListener, WindowListener
{
JPanel jp1, jp2, jp3, jp4, jp5; // Panels für unser Fenster
private Spielregeln spielregeln;
private AboutUs aboutUs;
private JPanel pane = new JPanel();
public static void main(String args[])
{
Fenster MemoryFenster = new Fenster();
}
public Fenster()
{
this.setSize(800,600 );
this.setLocation(100, 100);
this.setTitle("Memory");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Panels erzeugen
jp1 = new JPanel();
jp2 = new JPanel ();
jp3 = new JPanel ();
//Größe des Panels und Hintergrundfarbe
jp3.setPreferredSize(new Dimension(50,10));
jp3.setBackground(Color.magenta);
jp4 = new JPanel();
jp4.setPreferredSize(new Dimension(50,50));
jp4.setBackground(Color.black);
//Abstand der Karten 5,5
jp5 = new JPanel (new GridLayout(4,4));
//Vier Tasten in Panel 1 einfuegen
for (int i=1; i<=3; i++)
jp1.add(new JButton("Panel" + i));
for (int i=1; i<17; i++)
jp5.add(new JButton());
jp5.setVisible(true);
//Panels in den Container einfuegen
this.add(jp1, BorderLayout.WEST);
this.add(jp2, BorderLayout.SOUTH);
this.add(jp3, BorderLayout.EAST);
this.add(jp4, BorderLayout.NORTH);
this.add(jp5, BorderLayout.CENTER);
//Menuebar
JMenuBar dieMenueleiste = new JMenuBar();
JMenu menue1 = new JMenu("Spiel");
menue1.add("Neues Spiel");
menue1.add("Highscore");
menue1.addSeparator();
menue1.add("Beenden");
menue1.addActionListener(this);
addWindowListener(this);
JMenu menue2 = new JMenu("Optionen");
menue2.add("Level 1");
menue2.add("Level 2");
menue2.add("Abbrechen");
JMenu menue3 = new JMenu("?");
menue3.add("Spielregeln");
menue3.add("About Us");
menue3.addActionListener(this);
addWindowListener(this);
menue3.addActionListener(this);
addWindowListener(this);
dieMenueleiste.add(menue1);
dieMenueleiste.add(menue2);
dieMenueleiste.add(menue3);
//hinzufügen der Menüleiste zum Fenster
this.setJMenuBar(dieMenueleiste);
this.setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
String actionCommand = evt.getActionCommand();
Object source = evt.getSource();
if (actionCommand.equals("Beenden"));
{
System.exit(0);
}
if (actionCommand.equals("Spielregeln") )
{
getInstanceSpielregeln().setVisible(true);
}
if (actionCommand.equals("About Us") )
{
getInstanceAboutUs().setVisible(true);
}
}
public Spielregeln getInstanceSpielregeln()
{
if (spielregeln==null)
{
spielregeln= new Spielregeln();
}
return spielregeln;
}
public AboutUs getInstanceAboutUs()
{
if (aboutUs==null)
{
aboutUs= new AboutUs();
}
return aboutUs;
}
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){}
}
ich bin ein Java Neuling und probiere mich gerade an meinem ersten Fenster.
Mein Problem ist jetzt, dass wenn ich auf ein MenuItem,wie zum Beispiel Beenden, klicke nichts passiert. Das Fenster bleibt immer noch bestehen. Ich kann aber keinen Fehler erkennen, könnte mir da jemand behilflich sein?
Danke schon einmal im voraus!
package fensterina;
import java.awt.*;
import java.awt.event.*;
import javax.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.WindowConstants;
public class Fenster extends JFrame implements ActionListener, WindowListener
{
JPanel jp1, jp2, jp3, jp4, jp5; // Panels für unser Fenster
private Spielregeln spielregeln;
private AboutUs aboutUs;
private JPanel pane = new JPanel();
public static void main(String args[])
{
Fenster MemoryFenster = new Fenster();
}
public Fenster()
{
this.setSize(800,600 );
this.setLocation(100, 100);
this.setTitle("Memory");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Panels erzeugen
jp1 = new JPanel();
jp2 = new JPanel ();
jp3 = new JPanel ();
//Größe des Panels und Hintergrundfarbe
jp3.setPreferredSize(new Dimension(50,10));
jp3.setBackground(Color.magenta);
jp4 = new JPanel();
jp4.setPreferredSize(new Dimension(50,50));
jp4.setBackground(Color.black);
//Abstand der Karten 5,5
jp5 = new JPanel (new GridLayout(4,4));
//Vier Tasten in Panel 1 einfuegen
for (int i=1; i<=3; i++)
jp1.add(new JButton("Panel" + i));
for (int i=1; i<17; i++)
jp5.add(new JButton());
jp5.setVisible(true);
//Panels in den Container einfuegen
this.add(jp1, BorderLayout.WEST);
this.add(jp2, BorderLayout.SOUTH);
this.add(jp3, BorderLayout.EAST);
this.add(jp4, BorderLayout.NORTH);
this.add(jp5, BorderLayout.CENTER);
//Menuebar
JMenuBar dieMenueleiste = new JMenuBar();
JMenu menue1 = new JMenu("Spiel");
menue1.add("Neues Spiel");
menue1.add("Highscore");
menue1.addSeparator();
menue1.add("Beenden");
menue1.addActionListener(this);
addWindowListener(this);
JMenu menue2 = new JMenu("Optionen");
menue2.add("Level 1");
menue2.add("Level 2");
menue2.add("Abbrechen");
JMenu menue3 = new JMenu("?");
menue3.add("Spielregeln");
menue3.add("About Us");
menue3.addActionListener(this);
addWindowListener(this);
menue3.addActionListener(this);
addWindowListener(this);
dieMenueleiste.add(menue1);
dieMenueleiste.add(menue2);
dieMenueleiste.add(menue3);
//hinzufügen der Menüleiste zum Fenster
this.setJMenuBar(dieMenueleiste);
this.setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
String actionCommand = evt.getActionCommand();
Object source = evt.getSource();
if (actionCommand.equals("Beenden"));
{
System.exit(0);
}
if (actionCommand.equals("Spielregeln") )
{
getInstanceSpielregeln().setVisible(true);
}
if (actionCommand.equals("About Us") )
{
getInstanceAboutUs().setVisible(true);
}
}
public Spielregeln getInstanceSpielregeln()
{
if (spielregeln==null)
{
spielregeln= new Spielregeln();
}
return spielregeln;
}
public AboutUs getInstanceAboutUs()
{
if (aboutUs==null)
{
aboutUs= new AboutUs();
}
return aboutUs;
}
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){}
}