为一个系列中的特定节点设置样式 - JavaFX

时间:2016-11-11 12:44:32

标签: java css javafx

我正在编写一个测试程序,你需要超过70%才能通过测试。 我设置了一个LineChart和一个系列,它将百分比值和日期作为坐标。我想为> = 70%绿色而其余为红色的节点着色。这是一段代码片段:

for(final XYChart.Data<String, Number> data : series.getData()){
        System.out.println(data.getXValue());
        if(percent>=70){
            data.getNode().setStyle("-fx-background-color: green;");
        }else{
            data.getNode().setStyle("-fx-background-color: red;");
        }
        data.getNode().addEventHandler(MouseEvent.MOUSE_MOVED, new EventHandler<MouseEvent>() {


            @Override
            public void handle(MouseEvent event) {
                // TODO Auto-generated method stub
                data.getNode().setCursor(Cursor.HAND);

                Tooltip.install(data.getNode(), new Tooltip("Am: \n"+data.getXValue()+"\nZu: "+data.getYValue()+"%"));
            }
        });
    }

问题是我无法为一个系列中的特定节点着色。 我希望有人能够帮助我。

1 个答案:

答案 0 :(得分:1)

你必须从这样的事情开始。

 public static String convertTimeto24hours(String time) {
    String timein24hours = "";
    try {

        SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm");
        SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a");
        Date date = null;
        try{
            date = parseFormat.parse(time);
            System.out.println(parseFormat.format(date) + " = " + displayFormat.format(date));
        }catch (ParseException e){
            e.printStackTrace();
        }
        timein24hours = "" + displayFormat.format(date);

        return timein24hours;
    } catch (Exception e) {
        print(e);
        Log.error("convertTimeto24hours",e);
    }
    return timein24hours;
}