Bardzo prosty aplet w stylu Paint'a

0

Witam :)
Chciałbym stworzyć aplet, który umożliwiłby użytkownikowi rysowanie podstawowych figur geometrycznych, zmiany kolorów itp. Napisałem coś, co umożliwiało rysowanie kółka i kwadratu. Niestety, narysowana figura nie zostawała zapamiętywana przy próbie narysowania kolejnej, więc zmodyfikowałem kod na następujący:

package javaapplication1;
import java.awt.;
import java.awt.event.
;
import java.awt.Graphics.*;

public class AppletOne extends java.applet.Applet implements MouseListener, ActionListener {
int shape=0;
int X, Y;
Button btn=new Button("kwadrat");
Button butt=new Button("kółko");
Image backbuffer;
Graphics backg;
int width,height;

public void init() {
   width=getSize().width;
   height=getSize().height;

   backbuffer=createImage(width,height);
   backg=backbuffer.getGraphics();
   backg.setColor(Color.black);
   backg.fillRect(0,0, width, height);
   backg.setColor(Color.white);

   addMouseListener(this);
   btn.addActionListener(this);
   add(btn);
   butt.addActionListener(this);
   add(butt);//tutaj stworzyłem tło obrazka

}

public void paint (Graphics myGraphics){
    myGraphics.setColor(Color.black);
    if(shape==1)
    {
        myGraphics.fillOval(X,Y,30,30);
    }
    if(shape==2)
    {
        myGraphics.fillRect(X,Y,30,30);
    }
    repaint();
    update(myGraphics);//to powinno rysować kółka lub kwadraty.
}
public void mouseClicked(java.awt.event.MouseEvent mouseEvent) {
     X=mouseEvent.getX();
     Y=mouseEvent.getY();//to pobiera współrzędne punktu x i y.
     

    

}

public void mouseEntered(java.awt.event.MouseEvent mouseEvent) {
}

public void mouseExited(java.awt.event.MouseEvent mouseEvent) {
}

public void mousePressed(java.awt.event.MouseEvent mouseEvent) {
}

public void mouseReleased(java.awt.event.MouseEvent mouseEvent) {
}

public void actionPerformed(java.awt.event.ActionEvent actionEvent) {
    if (actionEvent.getActionCommand().equals("kwadrat"))
    {
        shape=2;
    }
    if (actionEvent.getActionCommand().equals("kółko"))
    {
        shape=1;
    }//dzięki tej części powinienem móc wybrać pomiędzy figurami
}
public void update(Graphics myGraphics){
myGraphics.drawImage(backbuffer, 0, 0, this);//a to powinno zapobiec znikaniu figur.

}
}

I teraz dla odmiany nie mogę nic narysować. Ktoś ma pomysł, jak rozwiązać problem? :)

0

http://student.agh.edu.pl/~pstanisl/Paint.rar
Netbeansowy projekt z czymś takim o co pytasz. Dodatkowo ma możliwość zapisywania plików do XML (w postaci grafiki wektorowej). Możesz sobie zobaczyc jak można coś takiego sklecić. Radze szybko ściągać bo nie wiem jak długo będę to tam trzymał ;)

0

Dzięki, to powinno pomóc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1