デスクトップ パネルからの JInternalFrames からの移動を制御するために、DefaultDesktopManager (またはこのサブクラス) を使用しようとしています。フレームがデスクトップ ペインから移動されるのを防ぐことはできますが、内部フレームを最小化すると、次のようになります。
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.RepaintManager.getVolatileOffscreenBuffer(RepaintManager.java:965)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1398)
at javax.swing.RepaintManager.paint(RepaintManager.java:1206)
...
コードの一部は次のとおりです。
JDesktopPan pane = new JDesktopPane();
pane.setDesktopManager(new DefaultDesktopManager());
DefaultDesktopManager を使用しない場合 (つまり、上記の 2 行目にコメントを付ける) は、例外なく内部フレームを最小化できます。
注: この質問は、別の Stackoverflow の質問の回答から生じます。