Удаление кнопки «Отмена» и «X» из диалогового окна в Swing - PullRequest
0 голосов
/ 09 декабря 2018

В настоящее время я работаю над игрой в шахматы для школьного проекта.Когда вы продвигаете пешку, она открывает диалоговое окно, которое позволяет игроку выбрать, какую фигуру он хотел бы продвинуть.Однако, когда игрок нажимает «отменить» или «X», окно просто возвращает ноль, и пользователь не может продвигать свою часть.Мне было интересно, могу ли я удалить / отключить кнопку отмены и кнопку «X».Вот мой код:

    private String createDialog() {
         hideLabels();
         Object[] options = {"Queen", "Knight", "Bishop", "Rook"};
         String selection = (String)JOptionPane.showInputDialog(frame, "What would you like to promote to?, ", "Promote", JOptionPane.PLAIN_MESSAGE, null, options, options[0]);
         return selection;
}

1 Ответ

0 голосов
/ 09 декабря 2018

Вместо использования JOptionPane, который не дает вам большого контроля над функциональностью, вы можете создать свой собственный JDialog и добавить свои собственные компоненты и кнопки в диалог.

Вы не можете удалить закрытиекнопку, но вы можете помешать кнопке закрытия сделать что-нибудь, добавив:

dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

Или, если вы действительно хотите использовать JOptionPane, то посмотрите раздел из учебника по Swing на Остановка диалога изЗакрытие , которое показывает, как вы проверяете, чтобы убедиться, что введено правильное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...