K
kasimier
Gast
hi,
ich versuche grad mit java warm zu werden und etwas zu zeichnen und muss feststellen, das ist es ganz schön kompliziert ist, da auch nur mal eine popeliges Quadrat hinzubekommen.
Habe mir ein JFrame angelegt, das auch angezeigt wird und so wie ich das verstanden hatte, wird die paint methode automatisch aufgerufen, so das ich sie nicht selber händisch aufrufen musst(zumindest bei erstmaligen zeichnen).
generell haben sich mir da 2 fragen ergeben
1) Wozu das JPanel, in vielen Beispielen hab ich gesehen, das dort mit einem panel gearbeitet wird. ich versteh den unterschied nicht so ganz. habe gesehen das ich einem panel das jframe zuweisen kann mit panel.setContentPane(Componente) andererseits kann ich einen frame aber auch die contentpane geben mit frame.getcontentpane().
Wozu braucht man das panel oder warum ist es ratsam es zu benutzen
2) wieso klappt mein paint() nicht, ich werde aus dem beispielen die ich finde nicht schlau. was muss ich machen damit mein paint funktioniert.
ich versuche grad mit java warm zu werden und etwas zu zeichnen und muss feststellen, das ist es ganz schön kompliziert ist, da auch nur mal eine popeliges Quadrat hinzubekommen.
Habe mir ein JFrame angelegt, das auch angezeigt wird und so wie ich das verstanden hatte, wird die paint methode automatisch aufgerufen, so das ich sie nicht selber händisch aufrufen musst(zumindest bei erstmaligen zeichnen).
generell haben sich mir da 2 fragen ergeben
1) Wozu das JPanel, in vielen Beispielen hab ich gesehen, das dort mit einem panel gearbeitet wird. ich versteh den unterschied nicht so ganz. habe gesehen das ich einem panel das jframe zuweisen kann mit panel.setContentPane(Componente) andererseits kann ich einen frame aber auch die contentpane geben mit frame.getcontentpane().
Wozu braucht man das panel oder warum ist es ratsam es zu benutzen
2) wieso klappt mein paint() nicht, ich werde aus dem beispielen die ich finde nicht schlau. was muss ich machen damit mein paint funktioniert.
Code:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class SchachBrett
{
public static JFrame mainFrame;
public static JPanel panel;
public int [][] schachBrett;
public SchachBrett()
{
mainFrame = new JFrame("Schachbrett");
mainFrame.setDefaultCloseOperation(mainFrame.EXIT_ON_CLOSE);
mainFrame.setSize(800, 600);
schachBrett = new int[8][8];
}
public void paint(Graphics g)
{
System.out.println("bin in paint");
g.drawRect(30, 40, 200, 300);
}
public static void main(String[] args)
{
SchachBrett brett = new SchachBrett();
}
}