Почему Всплывающие окна GtkLookAndFeel Java не имеют никакой границы?

Необходимо использовать отражение, чтобы получить метод для начала, затем "создать" его путем предоставления аргументов типа MakeGenericMethod:

MethodInfo method = typeof(Sample).GetMethod("GenericMethod");
MethodInfo generic = method.MakeGenericMethod(myType);
generic.Invoke(this, null);

Для статического метода, передайте null как первый аргумент Invoke. Это не имеет отношения к общим методам - это - просто нормальное отражение.

, Как отмечено, многое из этого более просто с C# 4 с помощью dynamic - если можно использовать вывод типа, конечно. Не помогает в случаях, где вывод типа не доступен, таков как точный пример в вопросе.

6
задан Matt H 29 July 2010 в 21:00
поделиться

1 ответ

По моему мнению, GTK LaF является сломано по дизайну. Он не учитывает настройки пользовательского интерфейса программиста (цвет шрифта, фон и т.д.) для кажущихся случайными JCO-компонентов. Это потому, что он получает свои настройки из файла .gtkrc, а не из вызовов setXXX (...). Я бы остановился на Metal для Linux и на «родном» для Windows.

Response:

Внешний вид GTK + может быть настраивается с помощью файлов ресурсов. Внешний вид Swing GTK + использует следующий алгоритм, чтобы найти файлы ресурсов:

  1. Если системное свойство swing.gtkthemefile существует, проанализируйте его и остановитесь, например: java -Dswing.gtkthemefile = / tmp / customTheme -jar SwingSet2.jar.
  2. Если файл user.home / .gtkrc-2.0 существует, проанализируйте его и продолжите.
  3. Определите выбранное пользователем имя темы (THEMENAME) способом из свойство рабочего стола gnome.net/ThemeName который определяется с помощью XSETTINGS. Если это свойство равно null, используйте Default как THEMENAME. 1. Если файл user.home / .themes / THEMENAME / gtk-2.0 / gtkrc существует, проанализируйте его и остановите. 2. Если системное свойство swing.gtkthemedir существует и файл swing.gtkthemedir / THEMENAME / gtk-2.0 / gtkrc существует, проанализируйте его и остановитесь. 3. Если системное свойство swing.gtkthemedir не существует и файл /usr/share/themes/THEMENAME/gtk-2.0/gtkrc существует, проанализируйте его и остановитесь. 4. Наконец, если определен swing.gtkthemedir, выполните синтаксический анализ swing.gtkthemedir / THEMENAME / gtk / gtkrc, иначе разобрать /usr/share/themes/THEMENAME/gtk/gtkrc.

Один из способов настройки GTK + - способ движка темы. Горстка двигатели существуют. В версии 1.4.2 Swing поддерживает файлы темы по умолчанию, растровые изображения и движки bluecurve. Мы изучение способов открыть API чтобы позволить создание дополнительные двигатели ГТК. Визит http://www.themes.org для примеров.
- http://java.sun.com/j2se/1.4.2/docs/guide/swing/1.4/Post1.4.html

Я предполагаю, что java берет свою тему из другого файла RC ИЛИ текущие параметры границы не поддерживаются.

2
ответ дан 17 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: