Czy w poniższym programie po stworzeniu obiektów klasy rysowanie możliwe jest narysowanie dwukrotnie tego samego obiektu ( tak zeby były widoczny dwa razy )? W poniższym przykładzie mamy dwa obiekty klasy rysowanie po dodaniu 1 obiektu następnie 2 i uzyciu funkcji reapint na 2 widoczny jest tylko jeden kwadrat ten ostatni po odświeżeniu . Nie rozumiem czemu tak się dzieje czy ktoś mógłby pomóc ? Działa to tak jak by po kazdym dodaniu panelu rysowania tło się odświeżało a chciałbym tego uniknąć .
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Solution {
int x,y;
public static void main (String[]args){
Solution ala=new Solution();
ala.start();
}
public void start(){
JFrame ramka =new JFrame("Testowe");
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
x=1;y=1;
rysowanie rys1=new rysowanie();
ramka.add(rys1);
x=51;y=1;
rysowanie rys2=new rysowanie();
ramka.add(rys2);
x=200;y=200;
rys2.repaint();
ramka.setSize(500,500);
ramka.setVisible(true);
}
class rysowanie extends JPanel{
public rysowanie (){
}
@Override
public void paintComponent(Graphics g){
g.setColor(Color.blue);
g.drawRect(x,y,100, 100);
}
}
}