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? :)