Loading...
IvoSavov avatar IvoSavov 0 Точки

Задача: графично приложение Суматор за числа

Здравейте колеги! Опитвам да направя задачата за Суматор за числа от Programming Basics with Java, но получавам грешки при стартиране. Търсих информация за тази грешка, но не намерих нищо съществено. Ще ви бъда много благодарен, ако ми съдействате. Грешките са следните:

"C:\Program Files\Java\jdk-14\bin\java.exe" --add-modules javafx.base,javafx.graphics --add-reads javafx.base=ALL-UNNAMED --add-reads javafx.graphics=ALL-UNNAMED "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.3\lib\idea_rt.jar=6474:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Lenovo\IdeaProjects\Sumator\out\production\Sumator;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\src.zip;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx-swt.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.web.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.base.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.fxml.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.media.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.swing.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.controls.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.graphics.jar -p C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.base.jar;C:\Users\Lenovo\Desktop\javafx-sdk-14\lib\javafx.graphics.jar sample.Main
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x7c4bb373) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x7c4bb373
    at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38)
    at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056)
    at sample.Main.start(Main.java:13)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    ... 1 more
Exception running application sample.Main

Process finished with exit code 1

 

Сорс на Main:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

 

Сорс на Sample:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>


<GridPane alignment="center" hgap="10" prefHeight="307.0" prefWidth="540.0" vgap="10" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="sample.Controller">
   <columnConstraints>
      <ColumnConstraints />
      <ColumnConstraints />
      <ColumnConstraints />
   </columnConstraints>
   <rowConstraints>
      <RowConstraints />
   </rowConstraints>
   <children>
      <AnchorPane prefHeight="200.0" prefWidth="591.0" GridPane.columnIndex="2">
         <children>
            <TextField layoutX="176.0" layoutY="63.0" />
            <TextField layoutX="363.0" layoutY="63.0" />
            <Label layoutX="146.0" layoutY="67.0" text="+" />
            <Label layoutX="339.0" layoutY="67.0" text="=" />
            <Button layoutX="218.0" layoutY="106.0" mnemonicParsing="false" text="Calculate" />
            <TextField layoutX="-20.0" layoutY="63.0" />
         </children>
      </AnchorPane>
   </children>
</GridPane>
Тагове:
0
Programming Basics
svephoto avatar svephoto 1191 Точки

Здравей, колега,

 

Би ли дал и условието на задачата?

0
IvoSavov avatar IvoSavov 0 Точки

Задача: графично приложение „Суматор за числа“
Да се напише графично (GUI) приложение, което изчислява сумата на две числа. При въвеждане на две числа в първите две текстови полета и натискане на бутона [Calculate] се изчислява тяхната сума и резултатът се показва в третото поле. 

Още не съм стигнал до написването на пълния код с изцяло функциониращия Суматор, но написаният до тук код е първата част от задачата и би трябвало да ми се отвори приложението, но вместо това дава споменатите грешки.

0
IvoSavov avatar IvoSavov 0 Точки

Благодаря, колега, но за съжаление поне до колкото аз се ориентирам, това не ми помага. Проблемът на колегите с python-а е бил, че им отваря празен прозорец. Аз и до там не стигам. Като направя дизайна в Scene builder, върна се в IntelliJ IDEA и дам старт, не ми отваря абсолютно нищо, дори празно приложение. Остават си само грешките, които се изписват в IntelliJ IDEA.

0
svephoto avatar svephoto 1191 Точки

За съжаление в конкретния случай не мога да ти помогна, колега. Ако искаш, прегледай и другите постове във форума по темата (може би вече си го направил) и се надявам да стигнеш да решение на проблема. Успех!

0
IvoSavov avatar IvoSavov 0 Точки

Добре, ще поровя още в нета. Благодаря ти за отделеното време!

0
svephoto avatar svephoto 1191 Точки

Моля, въпреки че не можах да помогна директно.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.