powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Кнопка по умолчанию в showConfirmDialog
5 сообщений из 5, страница 1 из 1
Кнопка по умолчанию в showConfirmDialog
    #39203348
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть стандартный код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
                ...
                int reply = JOptionPane.showConfirmDialog (UserReference.this,
                                                           "Удалить текущего пользователя?",
                                                           "Удалить",
                                                           JOptionPane.YES_NO_OPTION);
                if (reply == JOptionPane.YES_OPTION) {
                    ...
                }
                ...


Когда это окошко выводится, то по умолчанию активна кнопка "OK". А можно ли сделать по умолчанию кнопку "No"? Не хочется, чтобы по неаккуратности удалялись нужные данные :)

Спасибо!
...
Рейтинг: 0 / 0
Кнопка по умолчанию в showConfirmDialog
    #39203361
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab
Код: java
1.
2.
3.
4.
JOptionPane.showConfirmDialog (UserReference.this,
                                                           "Удалить текущего пользователя?",
                                                           "Удалить",
                                                           JOptionPane.YES_NO_OPTION);

Тогда лучше заюзать:
Код: java
1.
JOptionPane.YES_NO_CANCEL_OPTION

Появиться Cancel, чтобы закрывать диалог по нажатию Esc
fplabКогда это окошко выводится, то по умолчанию активна кнопка "OK"Как может появиться Ok при JOptionPane.YES_NO_OPTION ? (:
Для этого есть:
Код: java
1.
JOptionPane.OK_CANCEL_OPTION
...
Рейтинг: 0 / 0
Кнопка по умолчанию в showConfirmDialog
    #39203367
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваша правда - появляется не "OK", а "YES". Что, по сути то же самое. Но спасибо за поправку.
Вариант с
Код: java
1.
JOptionPane.YES_NO_CANCEL_OPTION


конечно, можно было заюзать. Правда, "лишняя" кнопка...
Придется что-ли писать свой JDialog - там-то уж все под контролем :)
...
Рейтинг: 0 / 0
Кнопка по умолчанию в showConfirmDialog
    #39203369
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplabЕсть стандартный код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
                ...
                int reply = JOptionPane.showConfirmDialog (UserReference.this,
                                                           "Удалить текущего пользователя?",
                                                           "Удалить",
                                                           JOptionPane.YES_NO_OPTION);
                if (reply == JOptionPane.YES_OPTION) {
                    ...
                }
                ...


Когда это окошко выводится, то по умолчанию активна кнопка "OK". А можно ли сделать по умолчанию кнопку "No"? Не хочется, чтобы по неаккуратности удалялись нужные данные :)

Спасибо!

http://stackoverflow.com/questions/1395707/how-to-make-joptionpane-showconfirmdialog-have-no-selected-by-default
Попробуйте showOptionDialog(). Там последним параметром initial value.
Пример даже в JavaDoc есть.
https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html

И, кстати. Хотя Swing и побуждает нас делать Yes/No, OK/Cancel диалоги, это пагубная практика с точки зрения юзабилити.
Пользователи не читают текст на диалогах. Зато они читают текст на кнопках. Поэтому вместо диалога
Are you sure to delete files? [Yes] [No]
На много лучше сделать диалог
Would you like to delete files? [Delete Files] [Keep Files]

В связи с чем showOptionDialog() становится ещё более привлекательным методом.
Если вы таки решили остановиться на Yes/No, то, возможно, вам будет интересно посмотреть на код BasicOptionPaneUI.getButtons(), в котором можно найти стандартные константы, для локализации текста.
UIManager.getString("OptionPane.yesButtonText")
...
Рейтинг: 0 / 0
Кнопка по умолчанию в showConfirmDialog
    #39203373
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz http://stackoverflow.com/questions/1395707/how-to-make-joptionpane-showconfirmdialog-have-no-selected-by-default
Попробуйте showOptionDialog(). Там последним параметром initial value.
Пример даже в JavaDoc есть.
...

О, какой роскошный ответ! Спасибо. Обязательно погляжу
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Кнопка по умолчанию в showConfirmDialog
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]