JDialog Закрыть значок запроса? - PullRequest
0 голосов
/ 08 июля 2011

Я хотел бы удалить значок закрытия, присутствующий в опции JDialog. Как я могу достичь этого?

Требование: Попытка изменить структуру диалога по умолчанию, удалив значок «x» или значок закрытия

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 08 июля 2011

Вы не можете удалить его (и сохранить строку заголовка), но вы можете отключить его функциональность, используя:

dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
0 голосов
/ 16 февраля 2013

IT всегда лучше переопределить метод setDefaultCloseOperation, если вы хотите выполнить некоторые дополнительные операции. Как бы то ни было, вы не можете остановить закрытие диалога. Я пытался, но не смог остановить его закрытие. Но да, переопределив метод setDefaultcloseoperation, я смог выполнить некоторые операции очистки списка и закрытия файла. Попробуйте переопределить функцию следующим образом.

public class LaunchGenerator extends JDialog 
{
public LaunchGenerator()
{
this.setSize(1200, 900);
        contentPanel =new JPanel();
        contentPanel.setLayout(null);
        this.setContentPane(contentPanel);
        setDefaultCloseOperation(2); // you can write anything inside the function.
}

public void setDefaultCloseOperation(int i)
{
    if(i==2)
    {
        dispose();
                     //and all other things that you want to do. such as file      closing     and list cleanups.etc ,etc.
    }

}
0 голосов
/ 08 июля 2011

dialog.setUndecorated(true); должен сделать это за вас (метод, унаследованный от класса java.awt.Dialog ), но есть некоторые уловки, в частности, этот метод также удаляет строку заголовка невозможно перемещать диалог по экрану.

Это этот вопрос / ответ для получения дополнительной информации.

...