I have two objects like this (two balls),but they are in two different JFrame.
How can I combine them in a single JFrame ?
I tried to put the other object in this class but the repaint() method give me some problems.
public class palla extends JFrame implements ActionListener
{
public JPanel contentPane;
private Image bufferVirtuale;
private Graphics offScreen;
private Timer tim = null;
private int xPallina = 0;
private int yPallina = 0;
private int diametroPallina = 40;
private int spostamento = 2;
private int Delay = 10;
private boolean destra,basso;
public palla()
{
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(500, 200, 500, 400);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane);
    destra = true;
    basso = true;
    tim = new Timer(Delay,this);
    tim.start();
}
public void update(Graphics g)
{
    paint(g);
}
public void paint(Graphics g)
{
    bufferVirtuale = createImage(getWidth(),getHeight());
    offScreen = bufferVirtuale.getGraphics();
    Graphics2D screen = (Graphics2D) g;
    offScreen.setColor(new Color(254,138,22));
    offScreen.fillOval(xPallina,yPallina,diametroPallina,diametroPallina);
    screen.drawImage(bufferVirtuale,0,0,this);
    offScreen.dispose();
}
public void actionPerformed(ActionEvent e)
{
        if(basso)
        {
            if(yPallina > (this.getHeight()-45))
            {
                basso = false;
                yPallina -= spostamento;
            }
            else
            {
                yPallina += spostamento;
            }
        }
        else
        {
            if(yPallina < 25)
            {
                basso = true;
                yPallina += spostamento;
            }
            else
            {
                yPallina -= spostamento;
            }
        }
        //il controllo differente avviene a differenza del pannello server,se la pallina colpisce il margine destro. Mentre nel 
        //pannello server se la pallina colpiva il margine destro avveniva il trasferimento,qui invece la pallina deve rimbalzare
        if(!destra)//perciò se la pallina va verso sinistra
        {
            if(xPallina < 5)//se la pallina raggiunge il margine sinistro e arrivo comunicato è falso
            {
                destra = true;
                xPallina += spostamento;
            }
            else//se invece la pallina sta andando verso sinistra ma ancora non ha colpito il margine
            {
                xPallina -= spostamento;//viene diminuita la sua posizione di "spostamento"-pixel
                if(xPallina < 0)//se però raggiunge il margine sinistro
                {
                    destra = true;
                    xPallina += spostamento;
                }
            }
        }
        else//se invece la pallina va a destra
        {
            if(xPallina > (this.getWidth()-45))//si controlla se colpisce il margine destro
            {
                destra = false;//si fa cambiare direzione,va a sinistra
                xPallina -= spostamento;//e si diminuisce le coordinate delle X
            }
            else//altrimenti se non ha colpito ancora il margine si aumento le coordinate
            {
                xPallina += spostamento;
            }
        }
    repaint();
}
}
 
    