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

Similar documents
public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

Java言語 第1回

次の演習課題(1),(2)のプログラムを完成させよ

PowerPoint Presentation

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

データ構造とアルゴリズム論

シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a

Java 2 - Lesson01

I HTML HashMap (i) (ii) :.java import java.net.*; import java.io.*; import java.util.hashmap; public class SimpleStopWatch { public static voi

5 p Point int Java p Point Point p; p = new Point(); Point instance, p Point int 2 Point Point p = new Point(); p.x = 1; p.y = 2;

オブジェクト指向プログラミング・同演習 5月21日演習課題

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 ///////////////////

/ ( ) 8/7/ :21 p.2/64

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

JavaプログラミングⅠ

TestDesign for Web

: : : TSTank 2

I. (i) Foo public (A). javac Foo.java java Foo.class (C). javac Foo java Foo (ii)? (B). javac Foo.java java Foo (D). javac Foo java Foo.class (A). Jav

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem

Microsoft Word - keisankigairon.ch doc

Java 2 - Lesson01

問題1 以下に示すプログラムは、次の処理をするプログラムである

K227 Java 2

(Eclipse\202\305\212w\202\324Java2\215\374.pdf)

Prog2_9th

第1章 ビジュアルプログラミング入門

I 4 p.2 4 GUI java.awt.event.* import /* 1 */ import mouseclicked MouseListener implement /* 2 */ init addmouselistener(this) this /* 3 */ this mousec

Java講座

226

3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");

自宅でJava言語の開発環境を作る方法


Exam : 1z0-809 日本語 (JPN) Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO 1 / 8 Get Latest & Valid 1z0-809-JPN Exam's Question and Answe

ガイダンス

< F2D F B834E2E6A7464>

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

JavaプログラミングⅠ

Transcription:

Java GUI 3 Java GUI 3 - サンプルプログラム (1) - 2011-09-25 Version 1.00 K. Yanai

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

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

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

3 ソースコード例 サンプルのソースコードを載せておきます line 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 リスト 3-1 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 { 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 { window = new (); window.frame.setvisible(true); catch (Exception e) { e.printstacktrace(); 3

line 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 () { 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); 4

line 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) なんらかの処理をします "); 5

line 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(); ); 6

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