решил я в свою игру писаную на libGDX добавить диалог. Ну реализовал интерфейс(если правильно понял как это называется, неважно сейчас), под андроид запилил нативный. И стал вопрос десктопа. Погуглил, прочитал про Swing. Подумал что это то что нужно, мне же простой диалог(вы уверены что хотите выйти с игры) нужно было сделать. Написал такой код
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
}
catch (Exception e) {
//Exception handle
}
//
Object[] options = {"Yes, please",
"No, thanks",
"No eggs, no ham!"};
int n = JOptionPane.showOptionDialog(f,
"Would you like some green eggs to go "
+ "with that ham?",
"A Silly Question",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
options,
options[2]);
Компилирую это и получаю
Error parsing gtk-icon-sizes string: ''
in <YOUR THEME>/gtk-2.0/gtkrc:
gtk-icon-sizes =
"panel-menu=24,24:panel=20,20:gtk-button=18,18:gtk-large-toolbar=24,24"
Заработало, выглядит почти красиво. Но теперь собственно вопрос. А ЭТО ВООБЩЕ НОРМАЛЬНО? Такое поведение на одной из стандартных тем в xubutnu. Этот тупой Swing валится из-за того что не нашел какую-то строку? А вариант реализовать некое дефолтное знание в таком случае не судьба? В общем это долбаная джава меня достала. Сначала тупая idea почему-то решила загрузить i7 на ~50% на несколько минут, то прозрачные окна, то просто отвратительная графика(А ведь я не дизайнер, я пользуюсь простенькой xfce и не хочу каких-то красивых эффектов). Но поскольку ничего лучшего нет((Хочу плакать и умирать) то задам вопрос.
А что мне собственно делать в этой конкретной ситуации? Может убрать к чертям этот диалог из игры на десктопе(Я про эту игру)(все равно многие закрывают просто кликнув по крестику, а не через Esc). Или может убрать вот эту строчку
UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
И использовать джавашный(крайне убогий) стиль? Или swing это просто неудачный выбор и есть что-то годное?