Por que o jframe oculta a barra de tarefas quando maximizado?

Estou a usarsetUndecorated(true); egetRootPane().setWindowDecorationStyle(JRootPane.FRAME); no meu jFrame. Isso funciona muito bem, mas agora quando eu maximizo meu quadro, ele se espalha por toda a janela, mesmo a barra de tarefas não é visível. O que posso fazer para que o quadro não oculte a barra de tarefas?

Também quando maximizo minimizar meu quadro várias vezes, o cursor é alterado para este<->, geralmente usado, altera o tamanho do quadro quando o cursor está na borda do quadro. Há algo que eu possa fazer para isso?

Um código pequeno pode reproduzir a coisa:

import javax.swing.JFrame;
import javax.swing.JRootPane;
public class Demo extends JFrame {
    public Demo() {
        setSize(250,125);
        setUndecorated(true);
        getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
        setVisible(true);
    }
    public static void main(String[] args) {
        new Demo();
    }
}

questionAnswers(2)

yourAnswerToTheQuestion