#java #swing #ubuntu
#java #swing #ubuntu
Вопрос:
Я разработал приложение Java Swing. При запуске приложения в среде IDE Netbeans все работает правильно (см. http://www.fkserv.ugent.be/vrg/tom_dierickx/Screenshot2.png для скриншота).
После сборки проекта в .jar и запуска его в командной строке появляется окно приложения, но компоненты отображаются неправильно (см. http://www.fkserv.ugent.be/vrg/tom_dierickx/Screenshot1.png для скриншота).
Кто-нибудь сталкивался с этим раньше и может иметь решение этой проблемы?
Как указывает поток, это, похоже, проблема, связанная с Ubuntu. У меня не возникло проблем при запуске приложения в системе Windows.
Некоторые потоки в Интернете вносят дефект в Compiz или Beryl. Однако я никогда не устанавливал эти графические инструменты. Тем не менее, я запустил строку кода, которую я нашел в сети для удаления Compiz. Казалось, что Compiz был установлен по умолчанию. К сожалению, проблема остается. Beryl, похоже, не установлен.
Потоки также отмечают добавление export AWT_TOOLKIT="MToolkit"
, но это, похоже, тоже не работает.
В командной строке не генерируются ошибки времени выполнения.
Есть предложения?
Комментарии:
1. как вы его запускаете? или есть какие-либо исключения в командной строке?
2. Попробуйте отключить эффекты рабочего стола в Linux.
3. на какой версии Linux вы его используете? Используете ли вы версию suns java или openjdk?
4. Как вы запускаете jar? Что находится в вашем пути к классу при запуске jar? Есть ли в вашем проекте netbeans alibrary, который вы пропустили при запуске jar?
5. Если вы собираетесь использовать
MToolkit
, у вас должна быть установлена библиотека motif.
Ответ №1:
После некоторого тестирования я пришел к следующим выводам:
- Приложение работает в Windows, но не в Ubuntu.
- Некоторые приложения Swing работают на Ubuntu, а другие — нет.
Следовательно, похоже, что проблема связана с одним или несколькими компонентами Swing, которые не работают в Ubuntu. Я думаю, что сейчас лучше избегать этих компонентов, проверяя, что работает, а что нет.
Комментарии:
1. попробуйте установить тему из темы по умолчанию в свою собственную тему (используя SystemLookAndFeel).