Hallo,
Ich habe grad angefangen, mir ein Spiel zu programmieren aber scheitere grad schon am Layout...
Es soll im Prinzip so aussehen, das ich ein Frame habe, auf dem sich zwei JPanels befinden was auch kein Problem ist.
Wenn ich jetzt aber auf ein JPanel zeichnen möchte, verschwinden die Panels und es wird nur eine Linie gezeichnet!
Hier der Code... Ich hoffe jemand entdeckt wo der haken ist:
Danke und Gruß
manuche
Ich habe grad angefangen, mir ein Spiel zu programmieren aber scheitere grad schon am Layout...
Es soll im Prinzip so aussehen, das ich ein Frame habe, auf dem sich zwei JPanels befinden was auch kein Problem ist.
Wenn ich jetzt aber auf ein JPanel zeichnen möchte, verschwinden die Panels und es wird nur eine Linie gezeichnet!
Hier der Code... Ich hoffe jemand entdeckt wo der haken ist:
Code:
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GamePanel extends JPanel implements Runnable{
private static final long serialVersionUID = 6411499808530678723L;
private static JFrame gui = new JFrame ("Schiffeversenken");
private static JPanel additionPanel = new JPanel ();
private static boolean runGame = true;
public GamePanel (int pWidth, int pHeight){
this.setBounds(10, 10, pWidth - 280, pHeight - 55);
this.setMaximumSize (new Dimension (pWidth - 280, pHeight - 55));
this.setBackground (Color.BLUE);
Container contentPane = gui.getContentPane();
gui.setResizable (false);
gui.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
gui.setSize(new Dimension (pWidth, pHeight));
gui.setLocation(250, 250);
additionPanel.setBounds (gui.getWidth() + 20, 10, this.getWidth() - gui.getWidth() - 35, pHeight - 55);
additionPanel.setMaximumSize (new Dimension (pWidth - gui.getWidth() - 35, pHeight - 55));
additionPanel.setBackground (Color.GREEN);
contentPane.setLayout(null);
contentPane.add (additionPanel);
contentPane.add (this);
gui.setVisible (true);
doInit();
}
private static void doInit(){
Thread gameRoutine = new Thread();
gameRoutine.setDaemon (true);
gameRoutine.run();
}
public void paint(Graphics g){
g.drawLine(10, 10, gui.getHeight(), 10);
}
public void run() {
while (runGame){
System.out.println ("läuft...");
}
}
public static void main (String[] args){
new GamePanel (685, 455);
}
}
Danke und Gruß
manuche