ここから本文です

JAVAのプログラミングを覚えるためGUIを用いた計算機を作成しています、

tok********さん

2015/3/222:36:31

JAVAのプログラミングを覚えるためGUIを用いた計算機を作成しています、

GUIの枠はできたのですが、ボタンを押した際にテキストフィールドにボタンの値が入力されるようにしたいのですがどのようにしたらいいのでしょうか??

そのほかにもGUIを勉強するのにわかりやすいサイト,
お気づきの点などがあれば教えてください。

以下ソースのテキストファイルです。

https://www.dropbox.com/s/sh0uvjcdzthk7dz/%E9%9B%BB%E5%8D%93.txt?dl...

閲覧数:
118
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

net********さん

2015/3/223:01:58

まず、今からJavaでのGUIにswingを使うのは、やめておいたほうがよいです。
Oracleが今後Swingには注力しない旨、発表しているからです。

今後はJavaFX8をメインにやっていくほうがよいです。

JavaFX8を薦める理由は以下のとおりです。

・Swingとは異なり、xmlにてレイアウトを作成できるので、コントロール(ボタン、ラベルなど)の配置のコードをどう書くかということに悩まないで良い
・xmlでレイアウトが記述できるので、ボタンを押したらどのオブジェクトのメソッドをコールする、計算処理の実行といった、個別の処理を分離して記述できる

これらの利点があるので、JavaFXをお勧めします。

その上で、JavaFXについては、日経ITProの桜庭さんの記事が日本で最も参考になる情報ですので、そちらを読むとよいかと思います。

例えば、数値のボタンをおした時に、ラベルの値が変更されるコードの作り方がわからないとおっしゃっておりますが、これなどはJavaFXのbinding機能を使うとわずか数行のコードで実現できます。

以上、現状を否定してしまって大変申し訳ないのですが、ご参考にしていただければ幸いです。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

Clearさん

2015/3/410:32:55

勉強中だということなのでサンプルではなくアドバイスだけ。

「ActionListener」←検索
まず、ボタンが押された時にイベントを発生させないといけないので、ボタンにActionListenerを登録し、
例)jb0.addACtionListener(実装クラス);

ActionListenerを実装したクラスで処理させます。
例)class Action implements ActionListener{クラス内部処理

それと、フレームを閉じてもまだプログラムは動いているので、このままではワザワザ終了処理をしないといけません。
JFrame f = new JFrame("電卓");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
とすることでフレームを閉じた時にプログラムも同時に終了することができます。

あと、計算方法ですが、小数点以下を扱うからといってfloat型で計算させると思わぬ結果が出て来たりしますから要注意です。
例)0.01に0~100を掛けて出力させる。
for(int i = 0; i <100 ; i++){
float a = 0.01f;
System.out.println((float)a*i);
}
(私の環境での実行結果)
0.0
0.01
0.02
0.03
0.04
0.049999997
0.06
0.07
0.08
0.089999996
0.099999994
0.11

一旦intで計算させてfloatに格納させて表示するとか
for(int i = 0; i <100 ; i++){
int a = 1;
System.out.println((float)a*i/100);
}
BigDecimal クラスを利用するとか
http://www.saka-en.com/java/java-bigdecimal/

小数点以下を正確に扱う場合には工夫が必要です。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる