Hi,
ich wollte ein Applet schreiben, dass ähnlich wie in Paint ein Rechteck zeichnet. Wenn die Maustaste gedrückt wird, wird die linke obere Ecke festgelegt. Bei angehaltener Maustaste legt man dann die untere rechte Ecke fest, wobei man ständig die Größe des Rechtecks sieht. Beim loslassen wird das Rechteck dann festgelegt. Das ganze soll ohne drawRect funktionieren. Ich krieg das ganze leider nicht so hin wie es sein sollte.
Ich poste hier mal das Grundgerüst, zum Linien zeichnen, auf dem das ganze aufbauen soll:
package Übungen;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
public class D2_Swing_Image extends JApplet implements MouseMotionListener
{
BufferedImage bi;
Graphics2D big2;
int x, y;
boolean reset = true;
public void init()
{
bi = (BufferedImage)createImage(getWidth(), getHeight());
big2 = bi.createGraphics();
big2.setStroke(new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
big2.setPaint(Color.RED);
addMouseMotionListener(this);
}
public void paint(Graphics g){
Graphics2D g2=(Graphics2D)g;
g2.drawImage(bi, null, 0 , 0);
}
public void mouseDragged(MouseEvent ev)
{
if(reset){
reset = false;
x = ev.getX() - 1;
y = ev.getY();
}
big2.draw(new Line2D.Double(x, y, ev.getX(), ev.getY()));
x = ev.getX();
y = ev.getY();
repaint();
}
public void mouseMoved(MouseEvent ev) {
reset = true;
}
}
Vielen Dank.