2012-05-01 67 views
0

FXMLログインサンプルのサンプルを使用しようとしていますが、fxmlには他の方法があります。そして、fxmlファイルで私はコントローラに道を与えました。JavaFX 2.0 FXMLリソース読み込みエラー

The log shows those errors: 

at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:264) 
at javafx.fxml.FXMLLoader.loadType(Unknown Source) 
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(Unknown Source) 
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(Unknown Source) 
at javafx.fxml.FXMLLoader$Element.processStartElement(Unknown Source) 
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(Unknown Source) 
at javafx.fxml.FXMLLoader.processStartElement(Unknown Source) 
at javafx.fxml.FXMLLoader.load(Unknown Source) 
at javafx.fxml.FXMLLoader.load(Unknown Source) 
at Main.App.replaceSceneContent(App.java:115) 
at Main.App.gotoProfile(App.java:100) 
at Main.App.userLogging(App.java:86) 
at skinFolder.controllers.LoginController.processLogin(LoginController.java:28) 
ログインコントローラクラス

public class LoginController { 
    @FXML private TextField userId; 
    @FXML private PasswordField password; 
    @FXML private Label errorMessage; 

    @FXML protected void processLogin() { 
     if(!App.getInstance().userLogging(userId.getText(), password.getText())){ 
      errorMessage.setText("Username/password combination is invalid."); 
     } 
    } 
} 

そしてライン28は以下のとおりです。

if(!App.getInstance().userLogging(userId.getText(), password.getText())){ 

私はFXMLファイルが別のフォルダにメインファイルフォルダであることを言及します。私は、私がOracleによって与えられた例を使用しているが、別のフォルダ構造を使用しているとき、なぜこのエラーが出るのか分からない。

マイアプリのフォルダ構造:

  • メインモデル
  • セキュリティ
  • skinFolder - CSS
  • skinFolder - FXML
  • skinFolder - コントローラ

profile.fxmlコードは次のとおりです。

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

<?import java.lang.*?> 
<?import java.net.*?> 
<?import javafx.scene.control.*?> 
<?import javafx.scene.layout.*?> 
<?import javafx.scene.shape.*?> 
<?import javafx.scene.text.*?> 

<AnchorPane id="Profile" styleClass="profile" xmlns:fx="http://javafx.com/fxml" fx:controller="skinFolder.controllers.ProfileController"> 
    <children> 
    <Button maxHeight="2.0" text="Update" AnchorPane.bottomAnchor="15.0" AnchorPane.rightAnchor="168.0" fx:id="update" onAction="#processUpdate"/> 
    <Label layoutX="56.0" layoutY="77.0" text="Please review your profile data." fx:id="message" /> 
    <Label layoutX="56.0" layoutY="123.0" text="User:" /> 
    <Label layoutX="56.0" layoutY="224.0" text="Phone:" /> 
    <Label layoutX="56.0" layoutY="173.0" text="Email:" /> 
    <TextField editable="false" layoutX="149.0" layoutY="120.0" maxWidth="2.0" minHeight="30.0" minWidth="215.0" prefHeight="30.0" prefWidth="215.0" fx:id="user" /> 
    <TextField editable="true" layoutX="149.0" layoutY="171" maxWidth="2.0" minHeight="30.0" minWidth="215.0" prefHeight="30.0" prefWidth="215.0" fx:id="email" /> 
    <TextField layoutX="149.0" layoutY="224" maxWidth="2.0" minHeight="30.0" minWidth="215.0" prefHeight="30.0" prefWidth="215.0" fx:id="phone" /> 
    <CheckBox layoutX="402" layoutY="120.0" text="Subscribed to NewsLetter" fx:id="subscribed" /> 
    <Separator layoutX="380" layoutY="110" prefHeight="155" orientation="vertical"/> 
    <Hyperlink layoutY="24.0" text="logout" AnchorPane.rightAnchor="52.0" fx:id="logout" onAction="#processLogout"/> 
    <Button disable="true" maxHeight="2" maxWidth="2.0" text="Continue" defaultButton="true" AnchorPane.bottomAnchor="15.0" AnchorPane.rightAnchor="52.0" fx:id="Button" onAction="#processLogout"/> 
    <Label layoutX="150.0" layoutY="401.0" opacity="0.0" text="Profile successfully updated!" fx:id="success" /> 
    <Label layoutX="56.0" layoutY="284.0" text="Address:" /> 
    <TextArea maxHeight="2.0" maxWidth="2.0" minHeight="85.0" minWidth="448.0" prefHeight="85.0" prefWidth="448.0" AnchorPane.bottomAnchor="69.0" AnchorPane.leftAnchor="149.0" AnchorPane.rightAnchor="52.0" AnchorPane.topAnchor="289.0" fx:id="address" /> 
    </children> 
    <styleClass> 
    <String fx:value="profile" /> 
    </styleClass> 
    <properties> 
    <elementLockSel> 
     <Boolean fx:value="true" /> 
    </elementLockSel> 
    </properties> 
</AnchorPane> 

誰でもいいですね。

+1

全体の例外を投稿してください。与えられたパラメータを使用すると、コードが機能するはずです。 –

+0

こんにちはSergey、ここに詳細があります。多分あなたは私を助けることができます! –

答えて

0

profile.fxmlファイルに問題があります。 stacktraceにエラーの説明を含めなかったのですが、恐らく間違ったタグやスペルミスがあります。

詳細なヘルプが必要な場合は、profile.fxmlと完全なスタックトレースを投稿に追加してください。

+0

私は自分の質問を編集しました、それはスタックエラーでした!このエラーは、次のような行為の行のようです:

関連する問題