B
BlinD
Gast
2 Applets/Klassen zu eins verschmelzen
Hallo , ich hab ein problem:
Ich habe 2 Applets
wie füge ich nun am besten die Klasse Raumschiff in die Klasse Spiel ein.
Ich habe es mal probehalber mit this.getContentPane().add( new Raumschiff()); eingefügt , nur das hier keine Bilder und Sounds geladen werden.
Mir wäre es am liebsten die Klasse Raumschiff würde in jPanel_spielfeld auftauchen.
Hallo , ich hab ein problem:
Ich habe 2 Applets
Code:
import java.applet.*;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class Raumschiff extends JApplet implements Runnable
{
// image FlugImage;
AudioClip hit;
double winkel=0;
public void init()
{
setBackground (Color.blue);
setSize(600,600);
FlugImage = getImage (getDocumentBase(), "bilder/flug.gif");
hit = getAudioClip (getDocumentBase(), "Sound/bounce.au");
hit.play();
}
public void start() {
// Schaffen eines neuen Threads, in dem das Spiel läuft
Thread th = new Thread ((Runnable) this);
//Starten des Threads
th.start ();
}
public void stop() { }
public void destroy() { }
public void run()
{
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
while (true)
{
winkel +=Math.PI/10;
repaint();
try{Thread.sleep (20);}
catch (InterruptedException ex){ }
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
public void paint (Graphics g) {
Graphics2D g2d = (Graphics2D) g;
AffineTransform at1 = new AffineTransform();
at1.setToTranslation(100,100);
at1.rotate(Math.PI + winkel,0,0); // 180° , rotationsmittelpunkt 0,0
g2d.drawImage(FlugImage, at1, this);
g.drawLine(0,0,600,600);
g.drawLine(0,600,600,0);
}
}
Code:
public class Spiel extends JApplet
{
JPanel jPanel_main = new JPanel();
JPanel jPanel_spielfeld = new JPanel();
JPanel jPanel_controlfeld = new JPanel();
/**Das Applet konstruieren*/
public Spiel() { };
public void init()
{
try { layoutInit(); }
catch(Exception e){ }
}
/**Initialisierung der Komponenten*/
private void layoutInit() throws Exception
{
this.setSize(new Dimension(800,600));
//this.getContentPane().add(jPanel_main, null);
this.getContentPane().add( new Raumschiff());
jPanel_main.setLayout( new BorderLayout() );
jPanel_main.setBorder (new LineBorder (Color.gray));
jPanel_main.add(jPanel_spielfeld, BorderLayout.WEST);
jPanel_main.add(jPanel_controlfeld, BorderLayout.EAST);
jPanel_spielfeld.setPreferredSize(new Dimension(600,600));
jPanel_spielfeld.setBorder (new LineBorder (Color.gray));
jPanel_spielfeld.setBackground(Color.white);
jPanel_controlfeld.setPreferredSize(new Dimension(200,600));
jPanel_controlfeld.setBorder (new LineBorder (Color.gray));
jPanel_controlfeld.setBackground(Color.white);
jPanel_controlfeld.setLayout( new BorderLayout(2,2) );
//jPanel_spielfeld.add(new Raumschiff());
}
wie füge ich nun am besten die Klasse Raumschiff in die Klasse Spiel ein.
Ich habe es mal probehalber mit this.getContentPane().add( new Raumschiff()); eingefügt , nur das hier keine Bilder und Sounds geladen werden.
Mir wäre es am liebsten die Klasse Raumschiff würde in jPanel_spielfeld auftauchen.