Hallo,
habe folgende painting Componente und weiter Klasse.
In MeineKlasse stecke ich (hier) eine Line2D in die ArrayList.
Setze das ganze und zeichne neu.
Das Problem, in setHighlightLines unter this.highlightLines ist der Inhalt noch drin (per size() geschaut), aber beim neuzeichnen passiert nix, da highlightLines angeblich = 0. Wie kann das sein?
habe folgende painting Componente und weiter Klasse.
Java:
public class PaintingClass extends JComponent
{
private ArrayList<Shape> highlightLines = new ArrayList<Shape>();
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
if(highlightLines.size() != 0 ){
for (Shape hl : highlightLines ) {
g2d.setColor(Color.black);
g2d.draw(hl);
}
}
public void setHighlightLines(ArrayList<Shape> highlightLines){
this.highlightLines = highlightLines;
}
}
}
Java:
public class MeineKlasse {
private final PaintingClass paintingComponent = new PaintingClass();
private ArrayList<Shape> highlightLines = new ArrayList<Shape>();
public void getVal(){
Shape highlight = new Line2D.Double(10,10,20,20);
highlightLines.add(highlight);
paintingComponent.setHighlightLines(highlightLines);
paintingComponent.repaint();
}
}
In MeineKlasse stecke ich (hier) eine Line2D in die ArrayList.
Setze das ganze und zeichne neu.
Das Problem, in setHighlightLines unter this.highlightLines ist der Inhalt noch drin (per size() geschaut), aber beim neuzeichnen passiert nix, da highlightLines angeblich = 0. Wie kann das sein?