Witam,
na początek chciałbym zaznaczyć, że z javą za wiele wspólnego nie miałem dotychczas i dopiero się uczę ;) ,więc prosiłbym o wyrozumiałość.
Szukam (niestety bezskutecznie,póki co) pomocy w dopisaniu metody do jednej z klas programu. Metoda powinna przesunąć narysowany obrazek o zadany wektor. Niestety moje próby kończą się niepowodzeniem. Byłbym więc wdzięczny za jakieś rady / wskazówki.
Kod klasy dla której potrzebna jest metoda (na wszelki wypadek)
public class Draw_pad extends JComponent
{
private static final long serialVersionUID = 7347455026837469877L;
private Image image;
private Graphics2D graphic;
private int current_x,current_y,previous_x,previous_y;
private int [] bounds = null;
public Draw_pad()
{
setDoubleBuffered(false);
addMouseListener(new MouseAdapter()
{
@Override
public void mousePressed(MouseEvent me)
{
previous_x=me.getX();
previous_y=me.getY();
}
});
addMouseMotionListener(new MouseAdapter()
{
@Override
public void mouseDragged(MouseEvent me)
{
current_x=me.getX();
current_y=me.getY();
if(graphic!=null)
graphic.drawLine(previous_x, previous_y, current_x, current_y);
repaint();
previous_x=current_x;
previous_y=current_y;
}
});
}
public void clear()
{
graphic.setColor(Color.WHITE);
repaint();
graphic.fillRect(0, 0, getSize().width, getSize().height);
graphic.setColor(Color.BLACK);
//bounds=null;
}
@Override
protected void paintComponent(Graphics g)
{
if(image == null)
{
image = createImage(getSize().width, getSize().height);
graphic = (Graphics2D) image.getGraphics();
graphic.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
clear();
}
g.drawImage(image, 0, 0, null);
}
}
PS. kod nie do końca autorski,jako że pracuję nad programem ze znajomym i akurat to on zaproponował to rozwiązanie - jeśli więc można coś poprawić , również prosiłbym o komentarz :)
Z góry dziękuję.