Mover de lugar o desenho

boum galera tou com um problema, tou gerando uma figura, mais eu queria mover ela de lugar e não estou conseguindo
alguem tem uma opnião, como fazer isso


import java.awt.*;
import java.awt.event.*;//IMPORTAÇÃO DAS BIBLIOTECAS
import javax.swing.*;

// CRIAÇÃO DO FRAME
public class casa extends JFrame{
int quad;


  JLabel botao;
  int x1, y1, x2, y2, t;// variaveis das coordenadas
  String dados;//variavel responsavel para pegar os dados
  JLabel palavra;


  public casa() {//classe construtor
    super("Computação Grafica");

    // exibição do frame
    Container c = getContentPane();
    c.setLayout(new BorderLayout());

    // Cria um JLabel
   botao = new JLabel();
    c.add(botao, BorderLayout.CENTER);
    // Cria um botão

    JButton btn = new
      JButton("<<Desenhar Quadrado>>");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
            Graphics graphics = botao.getGraphics();
            
            // bloco para pegar os dados que são inserido pelo usuario
                dados = JOptionPane.showInputDialog("Digite do Eixo X1: ");
                x1 = Integer.parseInt(dados);
                dados="";

                dados = JOptionPane.showInputDialog("Digite do Eixo Y1: ");
                y1 = Integer.parseInt(dados);
                dados="";

                //Usuário entra com o tamanho do casa
                dados = JOptionPane.showInputDialog("Digite o Tamanho do Quadrado: ");
                t = Integer.parseInt(dados);
                dados="";

                x2=x1+t;//atribui o valor para x2
                y2=y1+t;//atribui o valor para y2

                Quadrado(x1,y1,x2,y2);
                

        }
      }
    );

    // Adiciona o botão à janela
   c.add(btn, BorderLayout.SOUTH);

    setSize(300,300);
    setVisible(true);
  }

    
public void Quadrado(int x1, int y1, int x2, int y2)
{
	int x, y;//variaveis auxiliares

        Graphics graphics = getGraphics();//função responsavel para
                                                 //exibir os pixel na tela


                for (x=x1;x<=x2;x++){//Desenha reta pixel a pixel rastreando
                        graphics.drawLine(x,y1,x,y1);       //por x
                        graphics.drawLine(x,y2,x,y2);
                }

                for(y=y1;y<=y2;y++){//Desenha reta pixel a pixel rastreando
                        graphics.drawLine(x1,y,x1,y);       //por y
                        graphics.drawLine(x2,y,x2,y);
                }


}
public void paint(Graphics g) {
        super.paint(g);
       Quadrado(x1,y1,x2,y2);
     
    }
 public class MouseHandler extends MouseAdapter {
        private boolean mouseDownOnQuad = false;
        @Override
        public void mousePressed(MouseEvent e) {
            mouseDownOnQuad =contains(e.getPoint());
        }

        @Override
        public void mouseReleased(MouseEvent e) {
            mouseDownOnQuad = false;
        }

        @Override
        public void mouseDragged(MouseEvent e) {
            if (!mouseDownOnQuad)
                return;
            Quadrado(x1,y1,x2,y2);
            repaint();
        }
    }

public static void main(String args[]){
  casa a = new   casa();
    a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

O que vc quer dizer com “mover o quadrado”?

Vc diz, clicar sobre ele e arrasta-lo?

isso mesmo!!!
vc pode me dar uma ideia como faço isso

Putz, isso está longe de ser trivial…

hummmmmm