2016-05-09 6 views
0

1つのテキストフィールドから数値を取得し、戻り値を持つメソッドを実行し、その結果で新しいテキストフィールドにテキストを設定するボタンを作成しようとしています。 ここでは、私がやろうとしている行動と、私が呼び出そうとしている方法を示します。JavaFXボタンイベントハンドラとリターンメソッド

butCalcFact.setOnAction(new EventHandler<ActionEvent>() { 
       @Override 
       public void handle(ActionEvent event) { 

        String text = tfInput.getText(); 
        tfResult.setText(Long.toString(tfInput.factorial())); 
       } 
      }); 

/** Return the factorial for the specified number */ 
public static long factorial(int n) { 
    if (n == 0) // Base case 
     return 1; 
    else 
     return n * factorial(n - 1); // Recursive call 
} 
+2

( '階乗)' int型を取りますが、あなたは 'tfInput.factorial()' – Ramanlfc

+0

はどのように私は最初のテキストフィールド(tfInput)に入力された番号を渡すことができ、ここで、それには何も渡していません – Jake

答えて

1

階乗法に整数を渡していません。

butCalcFact.setOnMouseClicked(event -> { 
    tfResult.setText(factorial(Integer.parseInt(tfInput.getText())) + ""); 
});