Nype
Cadet 3rd Year
- Registriert
- Apr. 2007
- Beiträge
- 33
Fehler wurde behoben!
Thread kann geschlossen werden.
Ich habe fälschlicherweise super.paintComponents(); in paintComponent aufgerufen,
anstatt super.paintComponent();.
Auszug des Quellcodes:
Anhang anzeigen 146984
Anhang anzeigen 146985
Thread kann geschlossen werden.
Ich habe fälschlicherweise super.paintComponents(); in paintComponent aufgerufen,
anstatt super.paintComponent();.
Auszug des Quellcodes:
Code:
class DrawPanel extends JPanel implements MouseListener, MouseMotionListener{
...
protected DrawPanel(BufferedImage img, float scaleFactor, pixel paintColor, int paintMode, boolean filled){
super();
...
this.addMouseListener(this);
this.addMouseMotionListener(this);
this.img=img;
}
@Override
protected void paintComponent(Graphics graphic){
super.paintComponent[COLOR="Red"]s[/COLOR](graphic);
Graphics2D g2 = (Graphics2D)graphic;
...
//Wenn noch nicht gezeichnet wurde
if(!painted){
//Bild ausgeben
int newWidth = (int)(img.getWidth()*scaleFactor);
int newHeight = (int)(img.getHeight()*scaleFactor);
//Weichzeichnen
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphic.drawImage(img, 0, 0, newWidth, newHeight, null);
}
//Wenn bereits gezeichnet wurde
else{
//Punkt, Linie, Kreis oder Polygon zeichnen
}
...
@Override
public void mouseClicked(MouseEvent e) {
...
//Wenn die linke Mousetaste gedrückt wurde
if(e.getButton()==1){
//Zeichnen
painted=true;
x = e.getX();
y = e.getY();
...
}
this.repaint();
}
...
}
Zuletzt bearbeitet: