Исключение «Поток приложения JavaFX» при попытке запустить icalenderagenda из JFXtras

#java #javafx #jfxtras

#java #javafx #jfxtras

Вопрос:

Когда я запускаю этот код (пожалуйста, найдите мой фрагмент кода ниже), чтобы получить icalenderAgenda из библиотеки JFXtras, он выдает исключение

 "Exception in thread "JavaFX Application Thread" Exception in thread "main" java.lang.UnsupportedClassVersionError: jfxtras/scene/control/agenda/Agenda has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0, 
 

Кто-нибудь может сказать мне, как подойти к этой проблеме.

ПРИМЕЧАНИЕ: моя версия среды выполнения java — версия 8 build 1.8.0, IDE = Netbeans8.2

Спасибо!

 
import java.time.LocalDateTime;
import java.time.Period;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import jfxtras.labs.icalendaragenda.scene.control.agenda.ICalendarAgenda;
import jfxtras.labs.icalendarfx.VCalendar;

/**
 *
 * @author XY
 */
public class Testicalender extends Application {

    @Override
    public void start(Stage primaryStage) {

        BorderPane root = new BorderPane();
        VCalendar vCalendar = new VCalendar();
        ICalendarAgenda agenda = new ICalendarAgenda(vCalendar);
        root.setCenter(agenda);

        //semaine   ou --
        Button increaseweek = new Button(">>");
        Button decreaseweek = new Button("<<");
        HBox buttonHbox = new HBox(decreaseweek, increaseweek);

//        increaseweek.setOnAction((e)->
//        
//        { LocalDateTime newDisplayedLocalDateTime = agenda.getDisplayedLocalDateTime().plus(Period.ofWeeks(1));
//        agenda.setDisplayedLocalDateTime(newDisplayedLocalDateTime);
//        });
//        decreaseweek.setOnAction((e)->
//        
//        { LocalDateTime newDisplayedLocalDateTime = agenda.getDisplayedLocalDateTime().minus(Period.ofWeeks(1));
//        agenda.setDisplayedLocalDateTime(newDisplayedLocalDateTime);
//        });
        Scene scene = new Scene(root, 1366, 786);
        primaryStage.setScene(scene);
        primaryStage.setTitle("test calendarAgenda");
        //primaryStage.setOnCloseRequest(e-> System.out.println(vCalendar.toContent()));
        primaryStage.show();

    }

//    /**
//     * @param args the command line arguments
//     */
    public static void main(String[] args) {
        launch(args);
    }

}
 

Ответ №1:

Вы загрузили jar, скомпилированный с Java 10 (основной номер версии в JFXtras обозначает минимальную версию Java).

https://en.wikipedia.org/wiki/Java_class_file#General_layout

Вам нужно 8.

Комментарии:

1. где я могу найти библиотеку всех JFXtras, которые соответствуют java 8, пожалуйста? я не могу найти их в maven central

2. search.maven.org/search?q=g:org.jfxtras AND v:8.0-r6