Nachdem mir hier schon ein paar Mal geholfen wurde habe ich nun erneut ein Problem.
Ich habe mir eine class zum Zeichnen uaf einem Panel definiert.
Davon habe ich mir eine panel abgeleitet
So das klappt auch alles soweit. Wenn ich das Programm laufen lasse, erscheint auf meinem Panel eine Linie und Oval.
Nun meine Frage :
- Wie bekomme ich es hin, das ich zu verschiedenen Zeiten im Programm unterschiedliche Formen zeichen kann?
Also an einer beliebigen Stelle im Programm einen Kreis und an einer anderen eine Line und dann vllt. ein Dreieck zeichen.
Danke
Ich habe mir eine class zum Zeichnen uaf einem Panel definiert.
Code:
class DrawPanel extends JPanel
{
@Override
protected void paintComponent (Graphics g)
{
super.paintComponent(g);
g.setColor(Color.WHITE);
g.drawLine(10,10,100,50);
g.drawOval(100, 100, 300, 400);
}
}
Davon habe ich mir eine panel abgeleitet
Code:
public class Keplerbahn extends JFrame
{
DrawPanel panel1 = new DrawPanel();
public Keplerbahn( int x, int y )
{
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
setSize( x, y );
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
/* setLocation( (d.width - getSize().width ) / 2,
(d.height - getSize().height) / 2 );
*/
setLocation(0,0 );
}
@SuppressWarnings("deprecation")
public void init_window()
{
JFrame win = new Keplerbahn(1280,1024);
win.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
win.setTitle("Berechnet die Keplerbahnen");
panel1.setSize(1280, 1024);
panel1.setBackground(Color.BLACK);
win.add(panel1);
win.setVisible( true );
JDialog dialog1 = new JDialog();
JCheckBox cb1 = new JCheckBox("Merkur");
JCheckBox cb2 = new JCheckBox("Venus");
JCheckBox cb3 = new JCheckBox("Erde");
JCheckBox cb4 = new JCheckBox("Mars");
JCheckBox cb5 = new JCheckBox("Jupiter");
JCheckBox cb6 = new JCheckBox("Saturn");
JCheckBox cb7 = new JCheckBox("Uranus");
JCheckBox cb8 = new JCheckBox("Neptun");
JCheckBox cb9 = new JCheckBox("Pluto");
dialog1.add(cb1);
dialog1.add(cb2);
dialog1.add(cb3);
dialog1.add(cb4);
dialog1.add(cb5);
dialog1.add(cb6);
dialog1.add(cb7);
dialog1.add(cb8);
dialog1.add(cb9);
dialog1.setSize(300, 100);
dialog1.setLayout(new GridLayout(3,3));
dialog1.setVisible(true);
dialog1.show();
}
}
So das klappt auch alles soweit. Wenn ich das Programm laufen lasse, erscheint auf meinem Panel eine Linie und Oval.
Nun meine Frage :
- Wie bekomme ich es hin, das ich zu verschiedenen Zeiten im Programm unterschiedliche Formen zeichen kann?
Also an einer beliebigen Stelle im Programm einen Kreis und an einer anderen eine Line und dann vllt. ein Dreieck zeichen.
Danke