У меня есть настольное приложение JavaFX, использующее JDK 20. Когда я создаю исполняемый файл JAR, этот файл JAR не работает. После поиска решения я получил решение отсюда, создал класс Launcher и выбрал этот класс в качестве основного класса для создания файла JAR. После этого файл JAR работает, но предварительная загрузка не отображается, хотя время предварительной загрузки уже истекло. Как я могу решить эту проблему? Я пробовал много разных кодов, но файл JAR по-прежнему работает неправильно. Ниже приведены мои App.java (основной класс) и Launcher.java. Пожалуйста, изучите это и помогите мне решить эту проблему.
App.java
public class App extends Application {
public static Stage primaryStage;
static DBMySql db = new DBMySql();
private static final int COUNT_LIMIT = 10;
private static void setupScheduler() throws SchedulerException {
///// code for scheduler to check financial year when we open the app.//////////////
}
@Override
public void init() throws Exception {
for(int i=0;i< COUNT_LIMIT;i++){
double progress = (100*i)/ COUNT_LIMIT;
notifyPreloader(new Preloader.ProgressNotification(progress));
Thread.sleep(500);
}
}
@Override
public void start(Stage pStage) throws Exception {
primaryStage = pStage;
try {
showLogin();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static void showLogin() throws IOException {
//////code for showing login page.///////////////////
}
public static class FinancialYearJob implements Job {
@Override
public void execute(JobExecutionContext context) {
// code for execute the financial year.
}
private String calculateFinancialYear(java.time.LocalDate date) {
int year = date.getYear() ; // Increment since it's the end of the financial year
return year + "-" + (year % 100 + 1);
}
private boolean isFinancialYearStored(String financialYear) {
////////////////code for check the data is already stored.//////////////
return false;
}
private void storeFinancialYear(String financialYear,java.time.LocalDate startDate,java.time.LocalDate endDate) {
//////// code for insert financial year data into DB//////
}
}
public static void main(String[] args) {
try {
setupScheduler(); // Initialize and start the scheduler
} catch (SchedulerException e) {
throw new RuntimeException(e);
}
// Application.launch(App.class, args);
System.setProperty("javafx.preloader", MyPreLoader.class.getCanonicalName());
launch(args);
}
}
Launcher.java
public class Launcher {
public static void main(String[]args){
Application.launch(App.class,args);
// System.setProperty("javafx.preloader", MyPreLoader.class.getCanonicalName());
// launch(args);
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... ellij-idea
Создайте исполняемый файл jar с помощью Preloader в Javafx, используя intellij IDEA. ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение