2016-05-04 5 views
2

私は作っているこのアプリで非常に苦労しています。 アプリは数字で構成されていますが、Javafx Text()とLabel()は文字列のみをサポートしています。数字の使用-Javafx

私の問題

 int amount =23; 
     Text text = new Text(amount);//ERROR cant not convert in to string. 
     Text text2 = new Text(amount.toString();//ERROR int cannot be dereferenced 

私の質問:私は、実際の数値としてではない文字列として数23を印刷するにはどうすればよい

。 番号は、コンソールにはない番号のjavafxとして印刷する必要があることを覚えておいてください。

なぜ

ので、私はそれを追加して、ユーザーとineedでは、対象から番号を取得することになるアプリで、後者:int型量= 23;私は一緒に文字列に追加することはできません。笑。 int型から文字列を取得する

答えて

2

TextのようなUIコンポーネントは、文字列のみを処理します。あなたは値を追加し、あなたが元の値にユーザー入力を追加し、新しい値にテキストを更新したい場合は、オリジナルのint型の値を格納する必要があり

Text text = new Text(Integer.toString(amount)); 

のように、Stringにごintを変換する必要があります新しいテキストでTextノードを更新します。

+0

それは素晴らしいですが、どうすればint amount = 23;後者に。 text.setText();を使用せずに –

+0

変更した値をUIに反映させたい場合は、 'setText()'の代わりにNodeを削除して新しいものを追加する以外には使用できません。 'setText()'の問題は何ですか? –

1

さまざまな方法...

Text text = new Text(new Integer(amount).toString()); 
Text text = new Text(Integer.toString(amount)); // static way 

か、このようsetText()を使用しようとすることができString.valueOf(amount);

を使用するか、StringBuilder

StringBuilder sb = New StringBuilder(); 
sb.append(amount); 
Text text = new Text(sb.toString()); 
+0

私はそれを変更することはできますか?ユーザーが私に28を与えたとしましょう。その値をint amount = 23に追加する必要があります。そして、私はそれをtext.setText();を使わずにしたいと思います。 –

+0

もちろん、私のすべての記述メソッドは、整数からStringオブジェクトを作成する動的な方法を示しています。あなたはちょうど計算された金額を渡す必要があります.. – Stefan

+0

私はどのように尋ねることがあります。私はTextFieldから金額を取得しようとしています –

1

を使用します。

setText("" +amount); 
+0

これが機能する一方、文字列の連結は必要以上にStringオブジェクトを一時的に作成します(Stringは不変です)。したがって、より良い方法がある場合は、+演算子を使用することは決して良い方法ではありません。 – Stefan

+0

Rahul Stefanはあなたの答えもうまくいきますが、それを実行するより良い方法があります。答えていただきありがとうございます。 –

関連する問題