【问题标题】:javaFX 2.0 XYChart and CSSjavaFX 2.0 XYChart 和 CSS
【发布时间】:2012-03-25 17:00:59
【问题描述】:

我是 JavaFX 2.0 的新手,为了练习,我遵循了有关折线图(股票监控)的 Oracle 示例 http://docs.oracle.com/javafx/2.0/charts/line-chart.htm#CIHGBCFI

现在我想在同一个包中添加一个 CSS 类来修改 Stroke、颜色等,但我无法成功。

在 StackOverflow 上搜索我发现了

scene.getStylesheets().add(this.getClass().getResource("linechart.css").toExternalForm());

但我仍然收到错误

Exception in Application start method Exception in thread "main" java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)

我的 java 类名是 JavaFXApplication2,CSS 类名是 linechart.css

有人会这么好心地解释我哪里错了吗?

这里还有另一个很好的教程,关于 CSS 与 Stock Monitoring 的使用示例 http://docs.oracle.com/javafx/2.0/charts/css-styles.htm

但我不知道如何将 CSS 示例添加到 java 类中

谢谢

【问题讨论】:

  • Stack:Caused by: java.lang.NullPointerException at javafxapplication2.JavaFXApplication2.start(JavaFXApplication2.java:75) 其中第 75 行是 scene.getStylesheets()。等声明
  • 如果scene 尚未初始化或linechart.css 文件不存在,则可能会在该行出现NullPointerException。仔细检查 CSS 文件名及其在包中的位置。或者,您可以在此处将您的 start(Stage primaryStage) 方法发布到 JavaFXApplication2
  • public class JavaFXApplication2 extends Application { @Override public void start(Stage stage) { stage.setTitle("Lines plot");最终 CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); final LineChartlineChart = new LineChart(xAxis, yAxis); XYChart.Series series1 = new XYChart.Series(); series1.getData().add(new XYChart.Data("Jan", 23)); series1.getData().add(new XYChart.Data("Feb", 14)); series1.getData().add(new XYChart.Data("Mar", 15));
  • 场景场景 = new Scene(lineChart, 800, 600); lineChart.getData().addAll(series1, series2); stage.setScene(场景); stage.show();
  • 好像没问题。我怀疑css文件没有被复制到编译java文件的文件夹中。你在使用 IDE 吗?能否将此行添加到您的应用程序System.out.println(this.getClass().getResource(".").toExternalForm()); 并将css文件复制到此行打印的文件夹路径中。

标签: css javafx javafx-2


【解决方案1】:

我怀疑 css 文件没有被复制到编译 java 文件的文件夹中。你在使用 IDE 吗?您可以将此行添加到您的应用程序中吗System.out.println(this.getClass().getResource(".").toExternalForm());
并将css文件复制到该行打印的文件夹路径中。

【讨论】:

    【解决方案2】:

    您可以构建项目或将css文件复制到构建路径。如果您使用netbeans,则必须在添加新资源文件后构建一次项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      相关资源
      最近更新 更多