Java Probleme beim Zeichnen mit MouseListener

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:

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();
			}


...
}
Anhang anzeigen 146984

Anhang anzeigen 146985
 
Zuletzt bearbeitet:
1. Welcher Anhang?
2. Code in CODE-Tags posten, die heißen nicht umsonst so.

Desweiteren bitte darauf achten, dass die Einrückungen noch dableiben.
 

Ähnliche Themen

Zurück
Oben