2016-05-10 4 views
0

私は、ログインのためのシンプルなJavaFXアプリケーションを作成しようとしていると私は次のエラー(複数可)を取得しています:エラー(のJavaFX -eclipse)

javafx.fxml.LoadException: /D:ここで/iulia/universitate/an%20I,%20semestrul%20II/POO/Proiect/POO/bin/application/Loggin.fxml:10

at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source) 
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) 
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) 
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) 
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) 
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) 
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) 
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) 
at javafx.fxml.FXMLLoader.load(Unknown Source) 
at application.Main.start(Main.java:15) 
at om.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(Unknown Source) 
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(Unknown Source) 
at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 

at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown Source) 
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.IllegalArgumentException: Can not set javafx.scene.control.TextField field application.Login.usersg to javafx.scene.layout.AnchorPane 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source) 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source) 
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source) 
at java.lang.reflect.Field.set(Unknown Source) 

at javafx.fxml.FXMLLoader.injectFields(Unknown Source) 
at javafx.fxml.FXMLLoader.access$1600(Unknown Source) 
at javafx.fxml.FXMLLoader$ValueElement.processValue(Unknown Source) 
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(Unknown Source) 
at javafx.fxml.FXMLLoader.processStartElement(Unknown Source) 
... 18 more 

私のコードです:

package application; 

import javafx.event.ActionEvent; 
import javafx.fxml.FXML; 

import javafx.scene.control.*; 

public class Login { 
@FXML 
private Label lblog; 
@FXML 
private Label lbmem; 
@FXML 
private TextField user; 
@FXML 
private TextField name; 
@FXML 
private TextField lname; 
@FXML 
private TextField usersg; 
@FXML 
private PasswordField paswd; 
@FXML 

private PasswordField paswdsg; 
@FXML 
private PasswordField paswdsga; 
private Client client; 

public void log(ActionEvent event) 
{ 
    if(user.getText().equals("Iulia") && paswd.getText().equals("1234")) 
     lblog.setText("Login successful"); 
    else 
     lblog.setText("Login failed. Username and password don't match"); 
} 

package application; 

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


public class Main extends Application { 
    @Override 
    public void start(Stage primaryStage) { 
     try { 
      Parent root= FXMLLoader.load(getClass().getResource("Loggin.fxml")); 
      Scene scene = new Scene(root,400,400); 
      scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
      primaryStage.setScene(scene); 
      primaryStage.show(); 
     } catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 

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

FMXLリソース:

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

<?import javafx.scene.control.*?> 
<?import java.lang.*?> 
<?import javafx.scene.layout.*?> 
<?import javafx.scene.layout.AnchorPane?> 

<TitledPane animated="false" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" text="WELCOME TO PAY-APP" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Login"> 
    <content> 
    <AnchorPane fx:id="usersg" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0"> 
     <children> 
      <Label fx:id="lblog" layoutX="43.0" layoutY="43.0" text="LOG IN " textAlignment="CENTER" /> 
      <TextField fx:id="user" layoutX="103.0" layoutY="74.0" /> 
      <PasswordField fx:id="paswd" layoutX="103.0" layoutY="131.0" /> 
      <Button fx:id="logbt" layoutX="152.0" layoutY="197.0" mnemonicParsing="false" onAction="#log" text="LOG IN" /> 
      <Label layoutX="26.0" layoutY="78.0" text="USERNAME:" /> 
      <Label layoutX="25.0" layoutY="135.0" text="PASSWORD:" /> 
      <Button fx:id="sgnbt" layoutX="377.0" layoutY="280.0" mnemonicParsing="false" text="SIGN UP!" /> 
      <Label fx:id="lbmem" layoutX="285.0" layoutY="43.0" text="NOT A MEMBER? SIGN UP!" /> 
      <Label layoutX="288.0" layoutY="78.0" text="NAME:" /> 
      <Label layoutX="288.0" layoutY="111.0" text="LAST NAME:" /> 
      <Label layoutX="288.0" layoutY="148.0" text="USERNAME:" /> 
      <Label layoutX="287.0" layoutY="189.0" text="PASSWORD:" /> 
      <Label layoutX="287.0" layoutY="231.0" text="PASSWORD AGAIN:" /> 
      <TextField fx:id="name" layoutX="399.0" layoutY="66.0" /> 
      <TextField fx:id="usersg" layoutX="399.0" layoutY="144.0" /> 
      <TextField fx:id="lname" layoutX="399.0" layoutY="107.0" /> 
      <PasswordField fx:id="paswdsg" layoutX="399.0" layoutY="185.0" /> 
      <PasswordField fx:id="pswdsga" layoutX="399.0" layoutY="227.0" /> 
     </children></AnchorPane> 
    </content> 
</TitledPane> 

とMainFX.fxml

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

<?import javafx.scene.layout.AnchorPane?> 

<AnchorPane xmlns:fx="http://javafx.com/fxml/1"> 
    <!-- TODO Add Nodes --> 
</AnchorPane> 

私が間違って何をしますか?助けてくれてありがとう

+0

:ちょうどAnchorPaneに定義を変更し、それが動作するはず

@FXML private TextField usersg; 

:あなたのコントローラのように、usersgがでTextFieldのように定義されて

FXMLリソースも同様ですか? – ItachiUchiha

+0

FXMLでは、 'usersg'はAnchorPaneです。あなたのコントローラでは、 '@FXML private TextField usersg;によって定義されたTextFieldです。 – ItachiUchiha

+0

それは働いた!どうもありがとう! – Jules

答えて

2

あなたのFXMLでは、usersgはAnchorPaneです。あなたが質問を編集して追加することはでき

@FXML 
private AnchorPane usersg; 
関連する問題