2017-07-13 36 views
0

電卓を作成しようとしていて、インターネット上を見ているとその例が役に立たないので、ボタンが作成されています表示しようとしている:ボタンを押した後にTextFieldにテキストを表示する(JavaFX)

TextField Result = new TextField(); 
    Result.setEditable(false); 
    Result.setAlignment(Pos.CENTER_RIGHT); 
    Result.setMinSize(210, 30); 
    Result.textProperty().bind(Bindings.format("%.0f" , value));  
    pane.getChildren().add(Result); 

ボタンを押した回数はどうすればよいですか?ボタンだったとしましょう:

Button uno = new Button("1"); 

uno.setMinSize(40、40); pane.getChildren()。add(uno);

テキストフィールド結果番号1を作成するにはどうすればよいですか?

BIGありがとう!

+0

【こちら】(https://github.com/sedj601/CalculatorFx)は、私がJavaFxについて最初に見つけたときにインタビューのためにやったひどい実装です。 – Sedrick

答えて

0

最も簡単な方法は、それぞれ、ボタンのリスナーを追加し、動的にTextFieldを変更することです:ユーザーは、あなたのリスナーがtrue/falseをnewValueに=で二回反応するボタンを押すと、押されていない

uno.pressedProperty().addListener((o, old, newValue) -> Result.setText("1")); 
dos.pressedProperty().addListener((o, old, newValue) -> Result.setText("2")); 

は注意、 。必要に応じて追加のチェックを行います。

uno.pressedProperty().addListener((o, old, newValue) -> { 
    if (newValue) { 
     Result.setText("1") 
    } 
}); 

UPDATE: が間違っソリューションとしてこの行を削除することを忘れないでください:

Result.textProperty().bind(Bindings.format("%.0f" , value)); 
+0

助けてくれてありがとう! 私は次のように入力します。 uno.pressedProperty()。addListener((o、old、newValue) - > {if(newValue){Result.setText( "1")}});コード上に 、それは何もしない、それは私にエラーが発生します。 – Arturo

+0

エラーが表示されたら教えてください。 –

+0

仲間ありがとう!私はこの仕事をしようと精力的に努力している、私は自分のための締め切りを入れ、私はここで立ち往生している。これは私が持っているエラーです: – Arturo

関連する問題