2016-10-11 81 views
-1

我有一个创建了简单GUI的JavaFX程序。然而每当我运行它,它给了我一个似乎无法修复的错误。javafx给我多个错误

下面是代码:

package me.sam.algorithm; 
import javafx.application.Application; 
import javafx.geometry.Insets; 
import javafx.geometry.Pos; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.control.Label; 
import javafx.scene.control.ToggleButton; 
import javafx.scene.control.ToggleGroup; 
import javafx.scene.layout.HBox; 
import javafx.scene.layout.VBox; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage; 
    class SchoolDay extends Application { 

public void start(Stage Primarystage) { 
      //main menu 
      VBox menu = new VBox(); 
      HBox mini1= new HBox(); 
      HBox mini2= new HBox(); 
      menu.setPadding(new Insets(15,12,15,12)); 
      menu.setSpacing(20); 
      mini1.setSpacing(3); 
      mini2.setSpacing(3); 
      Scene mainm = new Scene(menu, 500, 500, Color.BLACK); 
      Label s1 = new Label("What day is it?"); 
      Label s2 = new Label("Is it late or regular start?"); 
      Label s3 = new Label("If you've filled everything out, press start!"); 
      Button beg = new Button("Start!"); 
      ToggleButton l1 = new ToggleButton("Regular Start"); 
      ToggleButton l2 = new ToggleButton("Late Start"); 
      ToggleButton d1 = new ToggleButton("Day 1"); 
      ToggleButton d2 = new ToggleButton("Day 2"); 
      ToggleButton d3 = new ToggleButton("Day 3"); 
      ToggleButton d4 = new ToggleButton("Day 4"); 
      ToggleButton d5 = new ToggleButton("Day 5"); 
      ToggleButton d6 = new ToggleButton("Day 6"); 
      ToggleGroup togg1 = new ToggleGroup(); 
      ToggleGroup togg2 = new ToggleGroup(); 
      d1.setToggleGroup(togg1); 
      d2.setToggleGroup(togg1); 
      d3.setToggleGroup(togg1); 
      d4.setToggleGroup(togg1); 
      d5.setToggleGroup(togg1); 
      d6.setToggleGroup(togg1); 
      l1.setToggleGroup(togg2); 
      l2.setToggleGroup(togg2); 
      mini2.getChildren().addAll(l1,l2); 
      mini1.getChildren().addAll(d1,d2,d3,d4,d5,d6); 
      menu.getChildren().addAll(s1,mini1,s2,mini2,s3,beg); 
      menu.setAlignment(Pos.BASELINE_CENTER); 
      mini1.setAlignment(Pos.CENTER); 
      mini2.setAlignment(Pos.CENTER); 
      Primarystage.setTitle("MICDS Day"); 
      Primarystage.setScene(mainm); 
      Primarystage.show(); 
      //main scene 

     } 

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

为什么我在这里发帖的是,这个错误不是这里之前我就开始提取从jfxrt.jar的modena.css文件的原因。我是否在JDK/JRE中搞砸了一些东西,还是代码错误?此外,它是否可以修复?我已经尝试卸载jdk并重新安装它。以防万一它的重要性,我使用eclipse霓虹灯IDE。

这里是它给了我,不管我做什么错误:

Exception in Application constructor 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) 
Caused by: java.lang.RuntimeException: Unable to construct Application i  instance: class me.samJFX.SchoolDay 
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:907) 
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NoSuchMethodException: me.samJFX.SchoolDay.<init>() 
at java.lang.Class.getConstructor0(Unknown Source) 
at java.lang.Class.getConstructor(Unknown Source) 
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:818) 
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) 
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) 
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) 
... 1 more 
+3

你是什么意思有:“我开始提取从该modena.css文件jfxrt.jar“? – DVarga

+0

将'班级日班'改为'公开班学校日' – Antoniossss

回答

1

publicSchoolDay类。 Application.launch不能访问非public类的构造导致此异常

java.lang.NoSuchMethodException: me.samJFX.SchoolDay.<init>() 

而且修复包(me.samJFX!= me.sam.algorithm)。

此外,编译器会抱怨最后的},因为该类已被前面的}关闭。

(我不知道你怎么连得在那里你可以与过去的2个问题运行这段代码点)。