Вероятно, по той же причине, что нет никакого древовидного контейнера в повышении. Существует много способов реализовать такой контейнер, и нет никакого хорошего способа удовлетворить всех, кто использовал бы его.
Некоторые проблемы для рассмотрения:
- число детей для зафиксированного узла или переменная?
- Сколько наверху на узел? - т.е., Вы должны породить указатели, одноуровневые указатели, и т.д.
- Что алгоритмы обеспечить? - различные итераторы, алгоритмы поиска, и т.д.
В конце, проблема заканчивают тем, что были, что древовидный контейнер, который был бы достаточно полезен для всех, будет слишком тяжел для удовлетворения большинства людей, использующих его. При поиске чего-то мощного , Библиотека Графика Повышения является по существу надмножеством того, для чего можно было пользоваться древовидной библиотекой.
Вот некоторые другие универсальные древовидные реализации:
- tree.hh
Kasper Peeters - лес Adobe
- ядро:: дерево
Используйте этот конструктор:
JOptionPane(Object message, int messageType, int optionType,
Icon icon, Object[] options, Object initialValue)
где options
указывает кнопки и имеет initialValue
(одно из значений параметров options
) укажите значение по умолчанию.
Обновление: Вы можете вызвать showOptionDialog
, а не showConfirmDialog
. Первый принимает параметры options
и initialValue
параметры.
Это первое, что приходит мне в голову.
//Custom button text
Object[] options = {"Yes",
"No"};
JOptionPane.showOptionDialog(this, "The file " + selectedFile.getName() +
" already exists. Do you want to replace the existing file?",
getDialogTitle(),
JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE,
null, options, options[1]);
Но, вероятно, есть подход получше.
Если вы не хотите жестко указывать «Да» и «Нет» (например, когда ваше приложение локализовано для других языков), вы можете использовать ресурсы UIManager:
UIManager.getString("OptionPane.yesButtonText", l)
UIManager.getString("OptionPane.noButtonText", l)
В приведенном выше примере это JOptionPane.showOptionDialog
Эти аргументы нельзя передать в showConfirmDialog
, потому что у него их нет.
Возможно, больше людей ищут это, так почему бы не предложить «рабочее» решение.