Ich habe die nette Aufgabe ein Layout für ein Pacmanspiel in java zu erstellen. Das ist soweit erledigt. Nun stehe ich vor dem Problem, meinen Funktionsfähigen Buttons die entsprechenden Aufgaben zu zuweisen. In c++ hätte ich die auch schon erldigt, allerdings hab ich keine Ahnung von java
Ich bin daher für jede Hilfe dankbar
Problem Number one: Der Exit Button
Nach Betätigung des Buttons "Ende" soll das gesammte Applet geschlossen werden
Er zeigt mir an, dass bbeenden wahr ist, allerdings den Befehl "System.exit(0);" zum Beenden des Applets irnoriert er ???:L
Problem Number two: Klassenaufruf im Borderlayout
Ich muss nach Buttonklick auf Singleplayer eine Klasse im zentralen Teil des Borderlayouts aufrufen... Sie enthält später das Spielfeld mit dem Pacman und allem drum und dran.
Zum Testen hab ich die Klasse unten genommen. Sie malt einfach ein Rechteck mit den Farben schwarz, rot, gold.
Wie kann ich die Klasse dort aufrufen/anzeigen lassen :bahnhof:
Wäre auch hier über eine Hilfe dankbar
Ich bin daher für jede Hilfe dankbar
Problem Number one: Der Exit Button
Nach Betätigung des Buttons "Ende" soll das gesammte Applet geschlossen werden
Code:
public void actionPerformed(ActionEvent ereignis)
{
s = ereignis.getActionCommand();
if (s.equals ("Ende"))
{
bbeenden = true; //Bbeenden wird true gesetzt
}
if (bbeenden == true){
lab2.setText ("bbeenden ist wahr"); //Test, ob bbeenden true ist, dies geht!!!
}
if (bbeenden == true) //wenn Button Ende geklickt wurde...
{
System.exit(0); //Soll Applet beenden werden
}
}
Problem Number two: Klassenaufruf im Borderlayout
Ich muss nach Buttonklick auf Singleplayer eine Klasse im zentralen Teil des Borderlayouts aufrufen... Sie enthält später das Spielfeld mit dem Pacman und allem drum und dran.
Zum Testen hab ich die Klasse unten genommen. Sie malt einfach ein Rechteck mit den Farben schwarz, rot, gold.
Wie kann ich die Klasse dort aufrufen/anzeigen lassen :bahnhof:
Wäre auch hier über eine Hilfe dankbar
Code:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
public class CombineLayout extends JApplet implements ActionListener
{
Panel pNorth = new Panel(),
pWest = new Panel(),
pSouth= new Panel(),
pCenter= new Panel();
public void init ()
{
b1 = new Button ("Singleplayer"); //Button "Singleplayer"
b1.addActionListener (this); //ActionListener aktivieren für b1
b6 = new Button ("Ende"); //Button "Ende"
b6.addActionListener (this); //ActionListener aktivieren für b6
setLayout(new BorderLayout());
add(BorderLayout.NORTH, pNorth);
add(BorderLayout.WEST, pWest);
add(BorderLayout.CENTER, pCenter);
add(BorderLayout.SOUTH, pSouth);
//Das Zentrum... --> später Spielfeld
pCenter.setLayout(new GridLayout(6, 1));
pCenter.setBackground(Color.white);
//Hier soll die Klasse aufgerufen werden!!!!!!
//Der Westen --> Buttons
pWest.setLayout(new GridLayout(6, 1)); //Layout für den Westen
pWest.add(b1); //Einfügen des Button b1 in den Westen
pWest.add(b6); //Einfügen des Button b6 in den Westen
//Der Süden -->
pSouth.setLayout(new FlowLayout()); //Layout für den Süden
pSouth.add(lab2); //einfügen des Label lab2 in den Süden, lab2 = Copyright
} //init Ende
public void actionPerformed(ActionEvent ereignis)
{
s = ereignis.getActionCommand();
if (s.equals ("Ende"))
{
ausgabetext = ("Ende"); //Wenn Ende gedrückt ist, enthält "Ausgabetext" den Text "Ende"
bbeenden = true; //Bbeenden wird true gesetzt
}
lab3.setText (ausgabetext); //"Ende" wird in einem Label angezeigt
if (bbeenden == true){
lab2.setText ("bbeenden ist wahr"); //Test, ob bbeenden true ist
}
if (bbeenden == true) //wenn Button Ende geklickt wurde...
{
System.exit(0); //Soll Applet beenden werden
}
}
}
class Flagge extends JPanel {
public void paint(Graphics g) {
g.setColor(Color.black);
g.drawRect(0,0,200,50);
g.setColor(Color.red);
g.drawRect(0,50,200,50);
g.setColor(Color.yellow);
g.drawRect(0,100,200,50);
g.setColor(Color.black);
g.fillRect(0,0,200,50);
g.setColor(Color.red);
g.fillRect(0,50,200,50);
g.setColor(Color.yellow);
g.fillRect(0,100,200,50);
}
}