Использование CSS в JavaFX 2.0 - PullRequest
3 голосов
/ 28 июня 2011

Я пытался использовать CSS в JavaFX 2.0.Но это не работает.Я пытался импортировать файл CSS:

// Import CSS
Group root = new Group();
Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
scene.getStylesheets().add("example.css");

Но NetBeans всегда выдает следующее исключение:

ПРЕДУПРЕЖДЕНИЕ: com.sun.javafx.css.StyleManager $ 2 run Resource "null"не найден.

Я пытался поместить файл CSS в каталог проекта, в каталог src и использовать абсолютный путь: "C:\\Users\\janus\\Documents\\NetBeansProjects\\example.css"

Ничто не решило проблему

Ответы [ 11 ]

16 голосов
/ 17 февраля 2013

В вашей папке src добавьте:

src/resources/css/yourStyle.css

затем добавьте следующий код:

scene.getStylesheets().add("resources/css/yourStyle.css");
6 голосов
/ 15 июля 2011

Это работает, если ваш файл CSS находится в том же пакете.

scene.getStylesheets().add(YourClazz.class.getResource("myCssFile.css").toExternalForm());
3 голосов
/ 07 июля 2011

У меня тоже были проблемы с этим, но он работал с чем-то вроде этого:

String cssPath = "/com/yourdomain/resources/style.css";
scene.getStylesheets().addAll(cssPath);

Измените значение cssPath, чтобы оно соответствовало пакету, содержащему ваш файл css.

1 голос
/ 21 мая 2013

Если вы хотите оформить свое полное приложение одним CSS, вы найдете решение здесь: http://www.guigarage.com/2013/03/global-stylesheet-for-your-javafx-application/

1 голос
/ 19 апреля 2012

Я обнаружил, что вся эта проблема .css может быть решена, при использовании NetBeans перейдите в свойства проекта - запустите - Свойства автономного приложения - Рабочий каталог и выберите путь к каталогу, где находится файл .css и / или главныйкласс находится.Я не знаю, что (windows) использует по умолчанию, вероятно, временный каталог ... если так, то там, конечно, нет файлов .css, и вы получите исключение nullpointer.

0 голосов
/ 02 февраля 2014

Использование:

root.getStyleSheet().add(
    youclass.class.getResources("YourCSSFileWichIsinYourDefaultPackage").toExternalForm()
);
0 голосов
/ 14 мая 2013

В Eclipse я обнаружил, что могу разрешить IDE найти файл css следующим образом:

Создать папку для вашего файла css в вашей рабочей области (у меня был самый надежный успех, поместив его в srcпапка текущего проекта).В свойствах проекта> Ресурсы> Связанные ресурсы вы можете создать новую переменную и использовать существующую переменную, чтобы определить хороший простой путь (например, создайте Имя: RESOURCES и нажмите Переменные, выберите PROJECT_LOC, нажмите Расширить, выберите / перейдите в папкучто ты создал).Что приятно, Eclipse немедленно отобразит выбранное вами местоположение и предупредит вас, если вы попытаетесь сослаться на местоположение, которое он не может найти.

В вашем коде ваш путь теперь просто "RESOURCES / [fileName.css]».

0 голосов
/ 28 февраля 2013
"file:/"+ new File("styles/intro.css").getAbsoluteFile().getPath()
                    .replaceAll(" ", "%20");
0 голосов
/ 23 января 2013

Есть много предложений по размещению ваших css-файлов в разных местах, но это то, что мне подходит.Любые файлы, которые вы добавляете в свой проект, должны находиться в домашнем каталоге вашего проекта, который создает NetBeans.Например, если ваш проект называется HiJohn и он находится в /NetBeansProjects/HiJohn, вам нужно поместить ваш файл .css в каталог HiJohn, и вы можете ссылаться на него, просто используя style.css.

.я создал папку ресурсов в моем проекте NetBeans, которая называется ресурсами.Благодаря этому я могу получить доступ к любому файлу в этой папке ресурсов, используя resources / style.css или resources/settings.xml

Если у вас все еще есть вопросы, это отличный ресурс для ознакомления с основами:

http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm

Удачи!

0 голосов
/ 12 января 2013
scene.getStylesheets().add(getClass().getResource("YourCSSFile.css").toString());
...