【Java】GUIアプリ:テキストボックスに値を入力し、メッセージボックスで出力する

■作成するプログラムの概要

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画面起動時


・テキストボックスに値を入力し、リセットボタンを押下する。


・テキストボックスに値を入力し、送信ボタンを押下する。

コメント

タイトルとURLをコピーしました