2016-12-25 4 views
0

JavaFxプログラミングのハングアップについては、Javafxコントローラファイルで奇妙な構造を知りました。生成された典型的なFXファイルは、通常クラスが含まれていますJavaFx Netbeansで生成されたコントローラにはクラスがありませんpublic void initialize

@Override 
public void initialize(URL url, ResourceBundle rb) 

不思議な、私の最後のプロジェクト、すでに少し高度では、代わりに次のクラスがあります。

@Override 
public void start (Stage primaryStage) throws Exception { 

私はUbuntuの上でのNetBeansを使用していますし、私はまだjavafxとNetBeans(Pythonを使用して2、3年後)に慣れているので、気づかずに途中で何かを混乱させているに違いないと思います。

単に更なる説明なしにリターンを、「初期化します。public void」とクラス「公共のボイド開始」を置き換えるために、私の努力:NetBeansで

error: method does not override or implement a method from a supertype 

、我々はショートカットのAlt + Insをしてメニューにアクセスすることができますが、オーバーライドの設定を調整することが可能な場所から、私は事故の理由と設定を混乱させることの意味を完全に理解することなくそれを使用することを恐れています。しかし、私はプログラムの起動時にいくつかの関数を実行したいので、 "初期化クラス"が必要です。これは "開始"クラスからは不可能と思われるものです。

"初期化クラス"またはそのプロパティを復元する最善の方法は何ですか?

ご協力いただきありがとうございます。

public class FXMLDocument_Controller extends Application { 
@FXML 
private Button dialog; 
//other @FXMLs .. 

/** 
* 
* @param actionEvent 
* @throws Exception 
*/ 


} 
//this is the class in the controller 
@Override 
public void start (Stage primaryStage) throws Exception { 

} 

//this is the class I would like to have (back) 
@Override 
public void initialize(URL url, ResourceBundle rb) { 
    System.out.println("hello world"); 
    // TODO 
} 



public void openMessageBox(ActionEvent actionEvent) { 
     funtion 
} 

public void contextMenu (ContextMenuEvent contextMenuEvent) { 
      function 
} 

public void openDialog(ActionEvent event) throws IOException{ 


} 
+0

グラフィックスを始める前に、Java 101について深く理解しておく必要があります。あなたの質問は抽象クラスについての基本的な誤解です。 – Mordechai

答えて

1

それがあるべき、 その後public class FXMLDocument_Controller implements Initializable{ あなたはinitialize

この方法はextends Applicationことを "メイン" クラスに入り実装し、プログラムへのエントリポイントであることができ

@Override public void start (Stage primaryStage) throws Exception { }

私のnetbeans - >新しいプロジェクトで私は 'javafx fxmlアプリケーション "と" javafxアプリケーション "の選択肢があるthers。あなたが間違ったものを選んだのかもしれません。

+0

多くの感謝、ブライアン...完璧に動作する.....はい、私はおそらく最初に間違った選択をした。 – rainer

関連する問題