Mostrar somente a parte definida no g.setClip

Gente, eu tenho um JLabel q dentro tem um BufferedImage. Esse JLabel está adicionado dentro de um JFrame.
Quando eu corto uma parte da minha imagem, ela não aparece nas coordenadas 0,0 do meu JFrame. Como eu faço pra só aparecer no meu JFrame apenas a parte que não foi cortada?

private BufferedImage bf;
JLabel label = new JLabel() {
            @Override
                public void paintComponent(Graphics g) {
                    super.paintComponent(g);
                    if(bf!=null){
                        g.setClip(100, 100,250,250);
                        g.drawImage(bf,0,0,this);
                        largura=g.getClipBounds().width;
                        altura=g.getClipBounds().height;
                    }
                 }
          };
         
          add(label);
    }

Alguém pode me ajudar?