Folgendes Problem: Die paint(java.awt.Graphics g)-Methode von der inneren Klasse Grid wird nicht aufgerufen. Warum?
Wenn ich die Klasse statt von JPanel von Canvas erben lassen, dann geht es komischer weise...
Wenn ich die Klasse statt von JPanel von Canvas erben lassen, dann geht es komischer weise...
Java:
public class Field extends toolkit.gui.DBPlotter implements java.awt.event.MouseListener, java.awt.event.ActionListener {
private final Dimension SCREEN_SIZE = new Dimension(400, 400);
private Color background;
private JPopupMenu popupMenu;
private Grid grid;
private int size;
private boolean isGrid, gridPossible;
public Field(int size, Color background) {
this.size = size;
this.background = background;
init();
}
...
private void addGrid() {
int step = SCREEN_SIZE.width / size;
grid = new Grid(size, step);
grid.setSize(SCREEN_SIZE);
add(grid);
}
...
private class Grid extends javax.swing.JPanel {
private int size, step;
public Grid(int size, int step) {
this.size = size;
this.step = step;
}
@Override
public void paint(java.awt.Graphics g) {
g.setColor(Color.BLACK);
for(int i=1; i<size; i++) {
g.fillRect(i*step-1, 0, 2, step*size);
g.fillRect(0, i*step-1, step*size, 2);
}
}
}
}