#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