# Per Klick eine andere Klasse ausführen!



## fatmc (12. Juni 2005)

Hallo!
Ich bins ma wieder , aber diesmal mit nem anderen Problem.  
Und zwar habe ich zwei voneinander unabhängige Klassen ,wobei die eine ein einfaches Fenster mit ein paar Buttons ausgibt und die andere Klasse ist ein Spiel.
Nun bekomme ich es leider nicht gebacken , das ich per klick auf ein Button (in der ersten Klasse)  die Klasse mit dem Spiel sich ausführen lässt, also sich das Spiel öffnet.

Wenn ihr mir helfen könnt und das auch tut,   dann wäre ich euch sehr,sehr dankbar. 
Mit freundlichem Gruß
euer Problemkind fat


----------



## elmato (12. Juni 2005)

verstehe ich jetzt nicht so ganz..
meinst du sowas

```
JButton b = new JButton();
b.addActionlistener(new ActionListener(
    public void actionPerformed(ActionEvent e){
          DeineKlasse2 spiel = new DeineKlasse2();
          spiel.machWas();
}
)):
```
oder habe ich dich falsch verstanden
ansonsten such mal im forum nach ClassforName oder schau in der api


----------



## fatmc (12. Juni 2005)

hmm ich probiere das gerade, nur ich bekomme das nicht richtig eingesetzt.Meine erste Klasse mit den Buttons heisst "Fenster" und die zweite Klasse mit dem Spiel, die geöffnet werden soll heisst "Tictactoe"! und was kommt in "spiel.machWas();
" falls du mir das richtig einsetzen kannst wäre das sehr net ! THX schonmal ,
MFG fat


----------



## fatmc (12. Juni 2005)

Also in Klartext:
Ich möchte von der Klasse "Fenster" die Klasse "Tictactoe" öffnet!
Dieses soll mit dem Button "spielen" geschehen!(dieser ist auch schon erzeugt)

Nun hier mein Quelltext der Klasse "Fenster" , wo nun die Verknüpfung zum "Tictactoe" eingebaut werden muss.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class Fenster extends Frame implements ActionListener
{

Button one = new Button ("Intro starten");
Button two = new Button ("Spielen");
Button three = new Button ("Anleitung");
Button four = new Button ("Credits");
Button five = new Button ("Beenden");

public Fenster ()
{

super (" Lernpaket ");

FlowLayout Buttons = new FlowLayout (FlowLayout.CENTER);
Panel pane = new Panel (Buttons);
pane.setLayout(Buttons);
Label L = new Label ("TIC TAC TOE ");
add(pane);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
      dispose();
      System.exit(0);
}
});
one.addActionListener(this);
two.addActionListener(this);
three.addActionListener(this);
four.addActionListener(this);
five.addActionListener(this);

pane.add(L);
pane.add(one);
pane.add(two);
pane.add(three);
pane.add(four);
pane.add(five);
one.setBackground(Color.pink);
two.setBackground(Color.pink);
three.setBackground(Color.pink);
four.setBackground(Color.pink);
five.setBackground(Color.pink);
L.setFont (new Font ("Monospaced", Font.BOLD,30));
setSize (500, 200);
//setBackground(Color.blue);
new ImageIcon("C:/ring.jpg");
setVisible (true);

}

public static void main(String arg[])
{
     new Fenster();
}

public void actionPerformed(ActionEvent e)
{
  if(e.getSource()==one)
 {
     try {
Runtime.getRuntime().exec("C:\\Programme\\QuickTime\\QuickTimePlayer.exe TicTacToeIntro.mov");
} catch( IOException ex) {


}

}


}

}



Hoffe ihr blickt da durch und wisst was zu tun ist! THX


----------



## elmato (12. Juni 2005)

fatmc hat gesagt.:
			
		

> Also in Klartext:
> Ich möchte von der Klasse "Fenster" die Klasse "Tictactoe" öffnet!
> Dieses soll mit dem Button "spielen" geschehen!(dieser ist auch schon erzeugt)
> 
> ...


ich weiss halt nicht genau was du machen willst, soll sich das spiel im gleichen Frame(Fenster) oeffnen oder ist die klasse TickTackToe ein frame das dann angezeigt wird?


----------



## fatmc (12. Juni 2005)

Ja es sollte ein eigenes Frame sich öffnen , also ein weitere Fenster!


----------



## elmato (12. Juni 2005)

dann muesste alles so stimmen...

```
Ticktacktoe ttt = new Ticktacktoe():
```


----------



## fatmc (13. Juni 2005)

Alles klar! Jetzt hab ich es.Vielen Dank!


----------

