![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
いろんなサイトがあるんですけど、文字ばかり見ていても余計に混乱してくるので、簡単なプログラムを作りながら覚えようとしています。
1)GUIを作成。キーボードからA・Bに整数を入力
2)足し算でCに格納。格納場所は5ヶ所。
3)引き算でDに格納。格納場所は5ヶ所。
4)2)の数字の大きいものから順で出力。
5)3)の数字の小さいものから順で出力。
きっとすごく簡単な内容だとは思うのですが、何から手を付けたら良いのかさっぱり分かりません。
とりあえず動かせる環境だけは作りました。
「Hello World」も終わって、GUIのボタン1つのプログラムもコピペですが、こういうものか・・・ぐらいにしか理解出来ていません。
いろんなサイトでふむふむと納得しながら進んではいるんですけど、自分で何か作って見ろと言われても・・・何をすれば良いの?みたいな感じです。
電卓を作るサイトはいくつかあったのですが、難しすぎます。
上記のような簡単だろう内容で覚えて行こうと思うのですが・・・
参考になるようなプログラムを、もしお暇な方がいれば作ってみてもらえないでしょうか?
メモ書き程度で、すぐに作れるような内容じゃないかと思ってるんですけど。
プログラムを理解するためだけで、デザインとか細かいことも必要ないので、よろしくお願いします。
お手上げ状態です。
No.5ベストアンサー
- 回答日時:
上のコードを利用してつくってみました
javaのGUI?は部品の配置がややこしいので始めは Visual C#とか Basicで練習した方が解りやすいと思います。
javaは スマートフォンandroid端末の製作言語はこんな感じだよ。
メモ帳とコマンドプロンプトを想定で作りました。
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Color;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class grtest extends JFrame {
public static void main(String args[]){
grtest frame = new grtest("タイトル");
frame.setVisible(true);
}
grtest(String title){
setTitle(title);
setBounds(100, 100, 700, 350);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
JLabel label = new JLabel();
JPanel p = new JPanel(); //--------パネルみたい
p.setPreferredSize(new Dimension(500, 300));
p.setBackground(Color.ORANGE);
JTextField text1 = new JTextField("", 10);
JTextField text2 = new JTextField("", 10);
JButton button = new JButton("取得");
button.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){
int a,b,c;
String tx1=text1.getText(); //----JTextFieldをSteing形式に変換
String tx2=text2.getText(); //----JTextFieldをSteing形式に変換
String tx3;
a=Integer.parseInt(tx1);//--文字列を数字に変換
b=Integer.parseInt(tx2);//--文字列を数字に変換
c=a+b;
tx3=String.valueOf(c);
label.setText(tx1+" + "+tx2+" = "+tx3+"です。");
}
}
);
label.setText("たしざん");
p.add(text1);
p.add(text2);
p.add(label);
p.add(labe2);
p.add(button);
Container contentPane = getContentPane();
contentPane.add(p);
}
}
修正箇所はあったのも幸いして、足し算の結果を表示するところまでは理解できました。
ありがとうございます。
次の課題である昇順・降順に入ります。
No.4
- 回答日時:
>No.3 回答者: amanojaku6
>「Hello World」も終わって、GUIのボタン1つのプログラムもコピペですが
(GUIの勉強には)そのプログラムを元に、別のボタンを作って、別のテキストを表示させてみると良いでしょう。
GUIなしの足し算プログラムは動かすことが出来ました。
package sample;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class addition
{
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("aを入力してください:");
String str1 = br.readLine();
System.out.print("bを入力してください:");
String str2 = br.readLine();
int a = Integer.parseInt(str1);
int b = Integer.parseInt(str2);
System.out.println("aは"+ a + "です");
System.out.println("bは"+ b + "です");
int c;
c = a+b;
System.out.println(a + "+" + b +"=" + c +"です" );
}
}
これをGUIでするには??
入力する箱が2つと結果を出す場所が1つ・・・・
誰かデザインは無視して良いので、簡単なものを作ってみてもらえませんか?
ここからは時間がかかりそうで、基本を教えてもらえれば割と早く複雑なものも作れそうです。
ちなみにこれは計算が1つですけど、2つになると難しそうですね・・・
a+b=d a+c=e a+d=f
こうなると同じようなものを3つじゃなく、ループとかいうもので工夫するのかな?
ありがとうございました。
No.3
- 回答日時:
>「Hello World」も終わって、GUIのボタン1つのプログラムもコピペですが、こういうものか・・・ぐらいにしか理解出来ていません。
初心者なら、まずGUIの勉強から始めた方が良いと思います。
基本的にJavaではGUIが必須なので「ボタン、テキストフィールド」など、簡単なGUIを自分で作れるぐらいにならないとプログラムの作成を始められません。
No.2
- 回答日時:
実はGUIって凄く難しいです。
hello world的な簡単そうに見えるものでも、いろんな準備が必要です。
「電卓を作るサイト」の難しさも、80%くらいは「GUIのためのいろんな手続き」であって、肝の「計算」は大したことありません。
どんな「計算」をするか、と、それをどうやって外部とやりとりするか(画面表示、ファイル出力等)、とは、分けて考えましょう。
そして、両方ともにわからない、という状態なら、まずは、前者の「計算」についての勉強をしましょう。
入出力は「キーボード」「文字端末(コマンドプロンプト等」「テキストファイル」にして。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 2 2022/05/04 16:17
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
アプレットのコード変更後の反...
-
javaで警告音
-
setAttribute(String, int)は適...
-
ColabでのPytorchのエラー
-
javaで画像を回転縮小
-
シャットダウンフックが呼ばれない
-
Selenium IDEでexportしたコー...
-
importするには java.io.*; imp...
-
Javaじゃんけんゲームで分らな...
-
Python初心者です。変数名で「v...
-
文字列を数式に
-
(疑問+急募)Javaでフレーム入り...
-
遺伝的アルゴリズムって
-
<forEach> 内で供給された "ite...
-
(急募)一覧表画面でパスワード...
-
JBuilder6
-
java import 文の素朴な疑問
-
JTabbedPaneのタブが開かれてい...
-
JOGLのインストール方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「例外 *** は対応する try 文...
-
eclipseに記述したjavaファイル...
-
<forEach> 内で供給された "ite...
-
setAttribute(String, int)は適...
-
干支の計算で。。。
-
Javaを使ってデジタル時計を作...
-
HTMLでのTableタグデータ取得方法
-
importするには java.io.*; imp...
-
生年月日と今日の日付から年齢...
-
文字列を数式に
-
シャットダウンフックが呼ばれない
-
Javaで常駐するソフトを作って...
-
フレームの×ボタンを押しても閉...
-
Selenium IDEでexportしたコー...
-
文字サイズが可変のラベル
-
jFrameを使って複数の画面を生...
-
【java】検索フォームの検索結...
-
Java での グローバルIP取得
-
(急募)JavaカレンダーをGUI可に...
-
ファイル名を動的に生成したい
おすすめ情報
pm16:17
下記は住所を表示するだけのものみたいですが、数字に置き換えて計算結果を表示するには、どの場所に計算式を入れたら良いのでしょうか?
一部だけ載せる形でも分かる人には分かるものなのかな?
文字数がオーバーするので・・・
JPanel p = new JPanel();
text1 = new JTextField("住所1", 20);
text2 = new JTextField("住所2", 20);
JButton button = new JButton("取得");
button.addActionListener(this);
label = new JLabel();
p.add(text1);
p.add(text2);
p.add(button);