■作成するプログラムの概要
Javaにて、GUIアプリケーションを作成する。
GUI画面に以下の部品を実装する。
・テキストボックス
・リセットボタン
・送信ボタン
テキストボックスに入力した値について、「リセットボタン」押下で初期化し、「送信ボタン」押下でメッセージボックスを出力する。
■画面レイアウト
▼テキストボックス
入力制限なし。
枠サイズは10とする。
▼リセットボタン
ボタン押下時、テキストボックスに入力した値を、初期化する。
▼送信ボタン
ボタン押下時、テキストボックスに入力していた値を、メッセージボックスで出力する。
■フローチャート
▼初期処理(コンストラクタ)
▼ボタンクリック時の処理
■プログラム仕様
▼メンバ変数(フィールド宣言)
項目 | 説明 |
---|---|
テキストボックス | 幅は、入力した内容が10文字分くらい見えるようにする。 |
初期化ボタン | テキストボックスの内容を初期化するボタン。 |
送信ボタン | テキストボックスの内容をメッセージボックスに出力する用のボタン。 |
▼初期処理(コンストラクタ)
入力 | 処理内容 | 出力 |
---|---|---|
– | GUI画面の設定をする。 | – |
– | テキストボックスをGUI画面に設置する。 | – |
– | リセットボタンをGUI画面に設置する。 | – |
– | 送信ボタンをGUI画面に設置する。 | – |
– | リセットボタンの処理設定をする。 ※詳細は、「▼ボタンクリック時の処理」を参照。 | – |
– | 送信ボタンの処理設定をする。 ※詳細は、「▼ボタンクリック時の処理」を参照。 | – |
– | GUI画面を閉じた時、プログラムも終了するように設定する。 | – |
– | GUI画面のサイズを設定する。 幅:400 縦:100 | – |
– | GUI画面を可視化する。 | – |
▼ボタンクリック時の処理
入力 | 処理内容 | 出力 |
---|---|---|
– | ▼条件分岐:押下したボタンの種別 |【リセットボタン押下の場合 |テキストボックスを初期化(空白)にする。 ----- |【送信ボタン押下の場合】 |メッセージボックスでテキストボックスに記載した内容を出力する。 ▲ | 【メッセージボックス】 テキストボックス値 |
■サンプルコード
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
class MakeTextBox extends JFrame implements ActionListener {
// フィールド宣言
JTextField txfield = new JTextField(10); // 最大10文字分のテキストボックス
JButton reset_btn = new JButton("リセット"); // 初期化ボタン
JButton submit_btn = new JButton("送信"); // 送信ボタン
// コンストラクタ
MakeTextBox() {
// GUI画面の設定
getContentPane().setLayout(new FlowLayout());
// テキストボックス設置
getContentPane().add(txfield);
// リセットボタンの設置
getContentPane().add(reset_btn);
// 送信ボタンの設置
getContentPane().add(submit_btn);
// リセットボタンの処理設定
reset_btn.addActionListener(this);
// 送信ボタンの処理設定
submit_btn.addActionListener(this);
// GUIを閉じた時、プログラムも終了
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// サイズを設定
setSize(400, 100);
// GUI画面の可視化
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == reset_btn) {
// リセットボタン押下時は、テキストボックス初期化
txfield.setText("");
}else if(ae.getSource() == submit_btn) {
// 送信ボタン押下時は、テキストボックスの内容をメッセージボックスで出力
JOptionPane.showMessageDialog(null,
"入力値:" + txfield.getText(),
"テキストボックス内容出力",
JOptionPane.INFORMATION_MESSAGE);
}
}
}
// メイン処理
public class InputTextBox {
public static void main(String[] args) {
// GUI画面呼び出し
new MakeTextBox();
}
}
■実行結果
・GUI画面起動時
・テキストボックスに値を入力し、リセットボタンを押下する。
・テキストボックスに値を入力し、送信ボタンを押下する。