Ich versuche, ein einfaches Rechteck zu malen, aber es wird nicht funktionieren. Mein sout in paintComponent sagt mir, dass es in paintComponent hineinkommt. Ich habe es jetzt für einige Stunden gegooglet, aber ich kann nicht finden, was ich falsch mache. Die paintComponent befindet sich in einer Klasse, die JComponent wie gewünscht erweitert. Ich rufe super.paintComponent (g) auf, nicht super.paintComponent s (g) und so weiter. Was vermisse ich?Java PaintComponent (Grafik g) wird nicht funktionieren
import java.awt.*;
import javax.swing.*;
public class Board extends JComponent{
private GameCreator game;
public Board(GameCreator game)
{
this.game = game;
}
@Override
public void paintComponent (Graphics g){
super.paintComponent(g);
g.fillRect(50,50,300,300);
g.setColor(Color.orange);
System.out.println("inside piantComponent");
}
public static void main(String[]args)
{
GameCreator game = new GameCreator(8,10);
game.prepareBoard();
Board board = new Board(game);
new Frame("test", board);
}
}
import javax.swing.*;
import java.awt.*;
public class Frame extends JFrame {
Board board;
JPanel gamePanel;
public Frame(String title, Board board) {
super(title);
setLayout(new BorderLayout());
setPreferredSize(new Dimension(800, 800));
pack();
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.board = board;
gamePanel = new JPanel();
gamePanel.add(board);
setContentPane(gamePanel);
}
}