Arraste e redimensione o JFrame não decorado

Atualmente, estou usando o código a seguir para arrastar e mover meus JFrames não registrados.

private void initialiseGUI(Component component){
    //<editor-fold defaultstate="collapsed" desc="code">
    component.addMouseListener(new MouseAdapter() {
        public void mousePressed(MouseEvent e) {
            posX = e.getX();
            posY = e.getY();
        }
    });

    component.addMouseMotionListener(new MouseAdapter() {
        public void mouseDragged(MouseEvent evt) {
            //sets frame position when mouse dragged            
            Rectangle rectangle = getBounds();
            getGUI().setBounds(evt.getXOnScreen() - posX, evt.getYOnScreen() - posY, rectangle.width, rectangle.height);
        }
    });
    //</editor-fold>
}

O que devo escrever para que o usuário possa redimensioná-lo como uma janela decorada, arrastando o lado?

questionAnswers(2)

yourAnswerToTheQuestion