Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Java look and feel в Ubuntu  (Прочитано 1711 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LMnet

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Java look and feel в Ubuntu
« : 14 Марта 2013, 09:07:02 »
С недавнего времени начал изучать Java и при создании GUI приложений столкнулся с тем, что они отображаются достаточно уродливо, не как остальные приложения в системе. Причем, как я понял, это связано с какими-то настройками именно Ubuntu или Unity, потому что даже NetBeans (в котором я веду разработку) отображается также. Например, при открытии контекстного меню нету ни рамку вокруг меню, ни тени. В NetBeans часто в окнах появляются ненужные прокрутки, окна неправильно мастшабируются и т.д. Пробовал разные laf, но с остальными еще хуже (оформление в стиле Windows 95). Можно ли как-нибудь сделать мое Java приложение приятным глазу, как, например, Nautilus? Чтобы оно вписывалось в систему.

Несколько скриншотов, иллюстрирующих проблему

Пример неправильного масштабирования в NetBeans
(Нажмите, чтобы показать/скрыть)

Контекстное меню из Hello world с GUI
(Нажмите, чтобы показать/скрыть)

Контекстное меню из NetBeans
(Нажмите, чтобы показать/скрыть)

А вот так выглядит контекстное меню в наутилусе, совсем иначе
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 14 Марта 2013, 14:41:20 от LMnet »

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля

Оффлайн LMnet

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #2 : 14 Марта 2013, 09:36:52 »
https://www.google.ru/search?client=ubuntu&channel=fs&q=java+ayatana&ie=utf-8&oe=utf-8&redir_esc=&ei=j15BUaabDMrk4QTnt4HoBQ
Про Java Ayatana я знаю, но он только верхнее меню преобразует в меню hud. Все остальное не меняется.

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #3 : 14 Марта 2013, 10:44:09 »
Про Java Ayatana я знаю, но он только верхнее меню преобразует в меню hud. Все остальное не меняется.
Можно продолжить патчить swing.

Оффлайн LMnet

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #4 : 14 Марта 2013, 12:05:33 »
Про Java Ayatana я знаю, но он только верхнее меню преобразует в меню hud. Все остальное не меняется.
Можно продолжить патчить swing.
Что-то я очень сомневаюсь, что до меня никто не задавался таким же вопросом и все, кто пишет на Java и использует Ubuntu либо забивали, либо писали свой велосипед.

Оффлайн Nikki1993

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #5 : 14 Марта 2013, 12:13:09 »
LMnet,
в ява есть метод называется
setLookAndFeel
вот код для него
Код: (java) [Выделить]
public static void setLookAndFeel() {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch(ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) {
        JOptionPane.showMessageDialog(null, "Error setting native LAF: " + e);
    }
}
этот метод запускается в main() и все. Приложения выглядят в соответствии с системой
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

Оффлайн LMnet

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #6 : 14 Марта 2013, 12:18:54 »
LMnet,
в ява есть метод называется
setLookAndFeel
вот код для него
Код: (java) [Выделить]
public static void setLookAndFeel() {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch(ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) {
        JOptionPane.showMessageDialog(null, "Error setting native LAF: " + e);
    }
}
этот метод запускается в main() и все. Приложения выглядят в соответствии с системой
В первом посте я писал, что пробовал разные laf. Метод UIManager.getSystemLookAndFeelClassName() в моем случае возвращает com.sun.java.swing.plaf.gtk.GTKLookAndFeel, который выглядит именно так, как я описал ранее.

Оффлайн Nikki1993

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #7 : 14 Марта 2013, 12:41:38 »
LMnet,
странно, у меня все работает и никаких "уродливых" окон нет. Может чего в системе не хватает? какая ява стоит? открытая или от Oracle?
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

Оффлайн LMnet

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #8 : 14 Марта 2013, 14:44:39 »
LMnet,
странно, у меня все работает и никаких "уродливых" окон нет. Может чего в системе не хватает? какая ява стоит? открытая или от Oracle?
Добавил в первый пост скриншоты, чтобы было видно, о чем речь.

Я почти уверен, что либо в системе чего-то не хватает, либо что-то нужно настроить. Сейчас стоит JDK 1.8
(Нажмите, чтобы показать/скрыть)
С версией 1.7 тоже самое. Ставил из репозитория webupd8.

Оффлайн ZwS

  • Старожил
  • *
  • Сообщений: 1674
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #9 : 14 Марта 2013, 17:03:07 »
http://www.tune-it.ru/web/jek/blog/-/blogs/36209
второй способ попробуй.
Dell Inspiron One 2330 | Intel+Radeon HD7650A | 8GB RAM | Ubuntu GNOME 17.10

Оффлайн LMnet

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #10 : 15 Марта 2013, 09:23:11 »
http://www.tune-it.ru/web/jek/blog/-/blogs/36209
второй способ попробуй.
О, это именно то, что мне было нужно. Теперь понятно, что нужно копать в сторону настройки тем. Спасибо большое!

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #11 : 16 Марта 2013, 09:12:18 »
Пардон, как связаны наутилус и ява?
Признайся, тебе Georgy_ns из соседнего топика Mono отсыпал травы?

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #12 : 16 Марта 2013, 11:49:04 »
А зачем вообще изучать эту гадость JAVA/MONO-C# ? Есть же нормальные языки программирования С/С++ ....
Xubuntu 12.04 LTS с Xfce 4.10

Оффлайн LMnet

  • Автор темы
  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #13 : 16 Марта 2013, 13:56:47 »
Пардон, как связаны наутилус и ява?
Признайся, тебе Georgy_ns из соседнего топика Mono отсыпал травы?
Лол, топик про моно и вправду смешной.
Наутилус с Java никак не связаны, я привел наутилус в качестве нормально отображающегося приложения.

А зачем вообще изучать эту гадость JAVA/MONO-C# ? Есть же нормальные языки программирования С/С++ ....
В этом посте я вижу явный вызов к началу холивара. У каждого языка есть свои области применения. C/C++ я знаю, решил изучить Java.

Оффлайн Nikki1993

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Java look and feel в Ubuntu
« Ответ #14 : 16 Марта 2013, 14:11:14 »
LMnet,
Тогда если проблема решена, во избежании холивара я закрываю тему. Если появятся еще вопросы, создайте отдельную тему.
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

 

Страница сгенерирована за 0.071 секунд. Запросов: 24.