サンプルプログラムの作成
では、テストの対象となるサンプルプログラムを作成しましょう。ここでは、ごく単純な計算のプログラムを用意することにします。ここではjavax.swing.JFrameを継承して「jp.tuyano.SampleApp」というクラスを作成することにしましょう。
新規クラスの作成画面。jp.tuyanoパッケージにSampleAppという名前でクラスを作ることにする。 |
クラスができたら、簡単な計算のプログラムを書いておきましょう。ここではサンプルとして、金額を入力すると本体価格と消費税額を計算して表示するプログラムを用意してみましょう。
package jp.tuyano;
import javax.swing.*;
import java.awt.event.*;
public class SampleApp extends JFrame {
private static final long serialVersionUID = 1L;
JTextField field,field1,field2,field3;
JLabel label1,label2,label3,labele1,labele2,labele3;
JButton button;
public static void main(String[] args) {
new SampleApp().setVisible(true);
}
public SampleApp(){
this.setLayout(null);
this.setSize(300,250);
label1 = new JLabel("本体価格");
label1.setBounds(10,20,60,20);
this.add(label1);
field1 = new JTextField("0");
field1.setBounds(70,20,200,20);
this.add(field1);
labele1 = new JLabel("円");
labele1.setBounds(270,20,20,20);
this.add(labele1);
label2 = new JLabel("消費税額");
label2.setBounds(10,50,60,20);
this.add(label2);
field2 = new JTextField("0");
field2.setBounds(70,50,200,20);
this.add(field2);
labele2 = new JLabel("円");
labele2.setBounds(270,50,20,20);
this.add(labele2);
label3 = new JLabel("税込価格");
label3.setBounds(10,70,60,20);
this.add(label3);
field3 = new JTextField("0");
field3.setBounds(70,70,200,20);
this.add(field3);
labele3 = new JLabel("円");
labele3.setBounds(270,70,20,20);
this.add(labele3);
field = new JTextField("0");
field.setBounds(20,120,250,20);
this.add(field);
button = new JButton("Click");
button.setBounds(100,150,100,25);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
buttonAction(ev);
}
});
this.add(button);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void buttonAction(ActionEvent ev){
String s = field.getText();
String str = "";
try {
int n = Integer.parseInt(s);
int n0 = (int)(n / 1.05);
int n1 = n - n0;
int n2 = (int)(n * 1.05);
field1.setText(Integer.toString(n0));
field2.setText(Integer.toString(n1));
field3.setText(Integer.toString(n2));
} catch (NumberFormatException e) {
field1.setText("0");
field2.setText("0");
field3.setText("0");
}
}
}
実際に実行して、正常に動作することだけ確認しておきましょう。適当に金額を入力してボタンを押すと、本体価格と税額が計算され表示されます。整数以外の値を入力すると、注意のテキストが表示されます。
一応、プログラムとしては正常に動作しますね。では、これでテストを行ってみましょう。
プログラムを実行して現れる入力フィールド(一番下に位置するフィールド)に金額を書いてボタンを押すと、本体価格と税額の内税方式の金額、および金額に税額を加算した外税方式の金額がそれぞれ表示される。 |