Tired of ads? Upgrade to paid account and never see ads again!

ru_java


ru.java

все о языке программирования java


Previous Entry Share Next Entry
Некорректное отображение комбобоксов под Ubuntu
sandlex_general
sandlex wrote in ru_java
Народ, а подскажите плиз, из-за чего может быть такая некорректная отрисовка комбобоксов в java-приложениях (включая NetBeans)


Имею: Ubuntu 8.04.1 с темой “human” и “extra” визуальными эффектами. Java version - jdk 1.6.0_10-rc. Точно не уверен, но, кажется, такое проявлялось и на предыдущей версии Ubuntu 7.10 с jdk6u2.

Может быть что-то где-то подкрутить нужно? Не сталкивался никто? Руками ничего не ковырял, все так работает сразу после установки системы.

Хм... И что, с визуальными эффектами "extra" нормально отрисовываются диалоговые окошки? Попробуй отключить эффекты.

пробовал, не помогало

(Deleted comment)
L-n-F тот, который активизируется по дефолту (см. картинку со скриншотом нетбинса)
точнее, к сожалению, сейчас сказать не могу, ибо нет под рукой машины

(Deleted comment)
окей, попробую пошебуршать по настройкам. но не хотелось бы все-таки фиксить это уменьшением шрифтов

(Deleted comment)
спасибо, попробую этот вариант

(Deleted comment)
(Deleted comment)
вот тут есть примерно на эту тему сравнение сред, кстати
http://www.jroller.com/nivanov/

да, надо будет качнуть NB 6.5

В принципе, можно сделать свой L&F, который всё кроме JComboBox будет делегировать на Basic, а в BasicJComboBoxUI вручную решить проблему.

круто :) но для начала попробуем решить проблему переключением на более другой l&f из стандартных.
спасибо

Если вдруг захотите сделать таким способом - пишите, может быть, помогу сэкономить пару часов копания в документации

хорошо, большое java-спасибо

переопределить ссылку на BasicComboBoxUI можно поставив в результат getDefaults() величины ("ComboBoxUI", "yourUIClassPath",)

Наверное, там GTKLookAndFeel, а надо бы Metal.

Да, спасибо, буду играться с L&F

Вы если найдете, где сменить L&F для NB, напишите, пожалуйста: а то я сейчас посмотрел, словосочетание это увидел только в Tools - Options - Misc - Advanced, но возможности выставить чего-нибудь не увидел.

В общем, у меня не получилось поменять laf для NB. Теоретически, это нужно сделать, задав дефолтный laf для jvm, но скорее всего NB сам потом выбирает, какой ему выбрать из списка доступных. Можете попробовать у себя. Как это сделать, описано здесь: http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/plaf.html. Также можете посмотреть на форумах: http://ubuntuforums.org/archive/index.php/t-48283.html, http://ph.ubuntuforums.com/showthread.php?t=771396 и http://ubuntuforums.org/showthread.php?t=383394.
Напишите, если получится или уже получилось.

В общем, выставление дефолтового laf для свинговых приложений на laf NB не влияет :( Ну и фиг с ним :)
Файл swing.properties надо класть в JAVA_HOME/jre/lib (в моем случае это /opt/jdk1.6.0_10/lib/swing.properties).

$ netbeans --ui javax.swing.plaf.metal.MetalLookAndFeel

fish_ub7com

2008-11-21 07:27 pm (UTC)

Уфф. Никаким колдовством над swing.properties и экспортом
$ export _JAVA_OPTIONS="-Dswing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"
изменить L&F не получилось. Ответ был найден на NetBeans Wiki: http://wiki.netbeans.org/NewAndNoteWorthyMilestone7
Рабочий вариант - запуск из консоли с параметром --ui:
$ netbeans --ui javax.swing.plaf.metal.MetalLookAndFeel

как всегда...

fish_ub7com

2008-11-21 07:31 pm (UTC)

... ну и как положено, когда проблема решена находится самая прямая и самая правильная ссылка =)))
http://wiki.netbeans.org/NBLookAndFeels