• 検索結果がありません。

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

N/A
N/A
Protected

Academic year: 2021

シェア "目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i"

Copied!
9
0
0

読み込み中.... (全文を見る)

全文

(1)

Java GUI 【3】

Java GUI【3】

サンプルプログラム(1)

-2011-09-25 Version 1.00

(2)

目 次

1 概要...1

2 クラス構成...2

3 ソースコード例...3

(3)

Java GUI【3】 サンプルプログラム 1 K.Yanai

1

概要

まずは簡単なサンプルプログラムをみながら、Java GUI の基本的なことを学びま しょう。 本サンプルは、図に示すようなひとつのメイン画面を使用します。おおまかな流 れを説明します。 (1) メイン画面を表示します。 (2) メイン画面で、 [参照]ボタンを選択します。 (3) ファイル選択のウィンドウが表示されますので、ファイルを選択して、[開く] を選択します。 (4) メイン画面のテキスト領域に、選択したファイル名が表示されます。 (5) [実行する]ボタンを選択すると、何かの処理をします。(ここでは何もしません) (6) [終了する]ボタンを選択すると本サンプルプログラムを終了します。 図 1-1 サンプルアプリケーションの画面(概略) また、ファイルを選択していない状態で、[実行する]ボタンを選択すると、図のよ うなウィンドウ(メッセージダイアログ)を表示します。 選択したファイル名を表示

(4)

図 1-2 メッセージダイアログ

2

クラス構成

本サンプルプログラムのクラス図を載せます。実際にコーディングするのは、 FileApplication クラスだけです。 図 2-1 サンプルアプリケーションのクラス図(概略) JFileChooser、JOptionPane については、下記のサイトを参照してください。 http://java.sun.com/javase/ja/6/docs/ja/api/index.html?javax/swing/package-su mmary.html FileApplication JFileChooser +main() JOptionPane + showMessageDialog() + showOpenDialog() + getSelectedFile() + getName()

(5)

Java GUI【3】 サンプルプログラム 3 K.Yanai

3

ソースコード例

サンプルのソースコードを載せておきます。 リスト 3-1 FileApplication line FileApplication 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 package jp.lites.study.java.gui; import java.awt.EventQueue; import javax.swing.JFrame; import java.awt.GridBagLayout; import javax.swing.JLabel; import java.awt.GridBagConstraints; import java.awt.Insets; import java.awt.Window; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.BoxLayout; import javax.swing.JTextField; import javax.swing.JButton; import javax.swing.JSplitPane; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File;

public class FileApplication { private JFrame frame; private JTextField textField; private File file;

/**

* Launch the application. */

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() { public void run() {

try {

FileApplication window = new FileApplication(); window.frame.setVisible(true);

} catch (Exception e) { e.printStackTrace(); }

(6)

line FileApplication 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 }); } /**

* Create the application. */ public FileApplication() { initialize(); } /** * ウィンドウを初期化します. */

private void initialize() { frame = new JFrame();

frame.setBounds(100, 100, 400, 178);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); JPanel panel_top = new JPanel();

FlowLayout fl_panel_top = (FlowLayout) panel_top.getLayout(); fl_panel_top.setAlignment(FlowLayout.LEFT);

frame.getContentPane().add(panel_top);

// ラベル: ガイドメッセージ

JLabel lblNewLabel = new JLabel("ファイルを選択し、[実行する]ボタンを選択してくださ い。");

panel_top.add(lblNewLabel);

JPanel panel_middle = new JPanel();

frame.getContentPane().add(panel_middle);

// ラベル: ファイル名

JLabel label = new JLabel("ファイル名"); panel_middle.add(label);

// テキスト入力領域(選択したファイル名を入れます) textField = new JTextField();

panel_middle.add(textField); textField.setColumns(20); // [参照] ボタン

JButton button = new JButton("参照"); panel_middle.add(button);

(7)

Java GUI【3】 サンプルプログラム 5 K.Yanai line FileApplication 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 // [参照] ボタンが選択されたときの処理 button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {

JFileChooser filechooser = new JFileChooser(); int selected = filechooser.showOpenDialog(textField); if (selected == JFileChooser.APPROVE_OPTION) {

file = filechooser.getSelectedFile(); String name = filechooser.getName(file); System.out.println("ファイル名 = " + name); textField.setText(name); } else { System.out.println("ファイルが選択されませんでした。"); } } });

JPanel panel_buttom = new JPanel();

frame.getContentPane().add(panel_buttom);

panel_buttom.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));

// [実行する] ボタン

JButton exec_button = new JButton("実行する"); panel_buttom.add(exec_button);

// [実行する] ボタンが選択されたときの処理

exec_button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {

System.out.println("[実行する] selected"); // TODO: ダイアログを表示してください。 if (file == null) { JOptionPane.showMessageDialog(frame, "ファイルを選択してください。"); return; } JOptionPane.showConfirmDialog(frame, file + "を処理しますか?"); // TODO: [はい] [いいえ] [取り消し] のうち、 // どのボタンが選択されたかを判断してお好みの処理をしてください。 // TODO: なんらかの処理をします。

System.out.println("**** TODO: (Dummy)なんらかの処理をします。"); }

(8)

line FileApplication 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 132 // [終了する] ボタン

JButton terminate_button = new JButton("終了する"); panel_buttom.add(terminate_button);

// [終了する] ボタンが選択されたときの処理

terminate_button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {

System.out.println("[終了] selected"); frame.dispose(); } }); } }

(9)

Java GUI【3】 サンプルプログラム 7 K.Yanai

4

課題

ファイルを選択した状態で、[実行する]ボタンを選択すると、図のようなウィンド ウ(ダイアログ)を表示し、どのボタンが選択されたかを判断し、適切な処理を行っ てください。 図 4-1 課題: 処理選択ウィンドウの表示と、選択したボタンの判断処理

参照

関連したドキュメント

2月 1月 12月 11月 10月 9月 8月 7月

4月 5月 6月 7月 8月 9月 10月 11月 12月 1月 2月

4月 5月 6月 7月 8月 9月 10月 11月 12月 1月 2月 3月

2月 1月 12月 11月 10月 9月 8月 7月

10月 11月 12月 1月 2月 3月