2014-09-04 6 views
0

HiEveryone,Получение сообщения об ошибке «Ожидаемое выражение»?

Я новичок в Javafx и обучении это сделать приложение от кого-то учебников, теперь проблема .. это дает мне ошибку в Expression expected? Что это означает ? Может ли кто-нибудь решить мою проблему? ..

Посмотрите на это SCREENSHOT.

здесь мои исходники:

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

public class Main extends Application { 

    Stage primaryStage; 
    BorderPane rootLayout; 

    @Override 
    public void start(Stage primaryStage){ 
     this.primaryStage=primaryStage; 
     primaryStage.setTitle("Address App"); 

     initSample2Layout(); 
     showSample(); 
    } 

    public void initSample2Layout(){ 
     try{ 

      //here loading files from FXML.. 
      FXMLLoader loader=new FXMLLoader(); 
      loader.setLocation(Main.class.getResource("sample/Sample2.fxml")); 
      rootLayout=(BorderPane).loader.load(); 
      Scene scene=new Scene(rootLayout); 
      primaryStage.setScene(scene); 
      primaryStage.show(); 

     }catch(Exception e){e.printStackTrace();} 
    } 

    public void showSample(){ 
     try{ 

      //here we're loading files from FXML.. 
      FXMLLoader loader2=new FXMLLoader(); 
      loader2.setLocation(Main.class.getResource("sample/sample.fxml")); 
      AnchorPane ap=(AnchorPane).loader.load(); 
      rootLayout.setCenter(ap); 

     }catch(Exception e){e.printStackTrace();} 
    } 

    public Stage getPrimaryStage(){ 
     return primaryStage; 
    } 

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

ответ

1

Это не действительный синтаксис:

rootLayout=(BorderPane).loader.load();

Если вы хотите, чтобы бросить в BorderPane, сделайте следующее:

rootLayout=(BorderPane)loader.load();

И сам e идет за AnchorPane ap=(AnchorPane).loader.load();, который должен быть изменен на AnchorPane ap=(AnchorPane)loader2.load();.

+0

Не используя кодовые блоки? – JonK

+1

((BorderPane) загрузчик) .load(); в случае сбоя доступа к сборке сборных грузов – Shail016

+0

Теперь получить эту проблему .. [ScreenShot] (http://postimg.org/image/x6wb3itft/). ?? –

0

У вас есть rootLayout=(BorderPane).loader.load(); с дополнительным . знак перед тем loader.

Вы, вероятно, хотите следующее:

rootLayout=(BorderPane) loader.load(); 
Смежные вопросы