GUIで行こう

 

プログラミングの(典型的な)課題は、総じて面白くありません。
「2つの数を入力して、和を求めよ」なんていう類です。

毎度、管理人イガジーです。

C言語などでは、scanf を使って、標準入力(コンソール)から入力したり
するわけですが、動かしてみても味気ないです。

Javaで、Cの scanf と同じように標準入力(コンソール)から入力するには
System.in を InputStreamReader で受けて、
それをさらに BufferedReader で受けて、readLine() で取り込みます。
具体例は次のような感じになります。

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader   br = new BufferedReader(isr);
String s1=null,s2=null;
System.out.println("Input 2 numbers.");
try {
	s1 = br.readLine();
	s2 = br.readLine();
} catch (IOException e) {
	e.printStackTrace();
}
int a=tx2num(s1);
int b=tx2num(s2);
int c=a+b;
System.out.println(c);

でも、せっかく Java で作るのでしたら
GUI(グラフィックユーザインタフェース)で行きましょう。
Javaなら簡単に窓を開いて、マウス操作を受けることができます。
例を書いておきますので、コピペして、適宜書き換えてご利用ください。

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Sample implements ActionListener {
	Frame f=new Frame("GUI");
	TextField tf1=new TextField(6);
	TextField tf2=new TextField(6);
	TextField tf3=new TextField(6);
	Button exec=new Button("Exec");

	Sample(){
		f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent ev) {
                System.exit(0);
            }
		});
//		f.setLayout(new GridLayout(4,1));
		f.setLayout(new FlowLayout());
		exec.addActionListener(this);
		f.add(tf1);
		f.add(tf2);
		f.add(exec);
		f.add(tf3);
		f.setSize(80,180);
		f.setVisible(true);
	}

	public void actionPerformed(ActionEvent e) {
		int a=tx2num(tf1.getText());
		int b=tx2num(tf2.getText());

		int c=a+b;

		tf3.setText(Integer.toString(c));
	}

	int tx2num(String s){
		int r=0;
		try {
			r=Integer.parseInt(s);
		}catch(Exception e){
			r=0;
		}
		return r;
	}

	public static void main(String[] args) {
		new Sample();
	}
}

あじけない課題も、GUIにすれば楽しくできる!
んじゃないでしょうか?(楽しくできるといいですね)

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)