JDialog: убрать заголовок, сохранить границу

Можно ли удалить строку заголовка из JDialog, но сохранить границы?

База SSCCE выглядит так:

package test;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.SwingUtilities;

public class SSCCE extends JFrame {
    private JDialog dialog;

    public SSCCE() {
        dialog = new JDialog();
        dialog.setSize(100, 100);
        dialog.add(new JList<>(new String[] { "One", "Two", "Three" }));
        dialog.setUndecorated(true);

        setSize(300, 200);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public void showDialog() {
        dialog.setLocationRelativeTo(this);
        dialog.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                SSCCE ex = new SSCCE();
                ex.setVisible(true);
                ex.showDialog();
            }
        });
    }
}

Запустив это я вижу это:

Но я не хочу заголовок на JDialog. Стандартный ответ заключается в использованииsetUndecorated(true), Но потом я тоже теряю границы окон и не хочу этого. Выглядит так:

Что я хочу, это что-то вроде этого макета:

Как мне этого добиться?

РЕДАКТИРОВАТЬ:

Я пытался пройти с одной из границ LaF, но получаю странные результаты. Просто для тестирования я пошел с "RootPane.errorDialogBorder" и ожидал получить жирную красную рамку вокруг моего диалога. Но вместо этого я получил это:

Это выглядит как не сфокусированная версия границы "RootPane.frameBorder". Почему я получил это вместо этого?

Ответы на вопрос(1)

Ваш ответ на вопрос