Java 2 - Lesson01

Size: px
Start display at page:

Download "Java 2 - Lesson01"

Transcription

1 第 3 回 複雑なレイアウトのイベント処理 画像 データの読込み テーブルの使用 キーポイント レイアウトについて 前回までのレイアウト レイアウトの補足機能 固定座標を用いたレイアウト Grid Layout CardLayout について Card Layout Card Layout による複数ページ表示 ファイルの読み込み JFileChooser クラス java.awt.filedialog 画像データの読み込みと表示 テーブルの利用 JTable クラス テーブルデータの初期設定 Vector 型データの使用 1

2 前回までに学んだ GUI のレイアウト BorderLayout FlowLayout などの標準的なレイアウトを学んだ BorderLayout FlowLayout 今回は 更に複雑なデザインの GUI を作るためのレイアウト またそれに伴うイベント処理について学習していく 2

3 フレームのサイズを固定する 基本的なレイアウトの補足 setresizable() メソッドを用いて 引数に false を与えることでフレームのサイズを固定する public class Practice03 extends JFrame implements ActionListener { JPanel jp1; public static void main(string[] args){ new Practice03("Teaching3 Test Layout"); Practice03(String title){ jp1 = new JPanel(); jp1.add(new JLabel( "This is a JPanel with default layout in page 1")); jp1.add(new JButton("I'm a button")); jp1.add(new JLabel("I'm a label")); add(jp1); setdefaultcloseoperation(jframe.exit_on_close); setsize(400, 300); setresizable(false); settitle(title); setvisible(true); setresizable(falese) でサイズが固定される 3

4 基本的なレイアウトの補足 (2) BorderLayout の記述の仕方 BorderLayout の位置指定には絶対指定と相対指定がある どちらを使っても良いが 混在できない JPanel jp1,jp2; Practice03(String title){ jp2 = new JPanel(new BorderLayout()); jp2.add(new JLabel( This is a JPanel with BorderLayout in page 2"), "Center"); jp2.add(new JButton("North"), "North"); jp2.add(new JButton("South"), "South"); jp2.add(new JButton("West"), "West"); jp2.add(new JButton("East"), "East"); 絶対指定 相対指定 位置 BorderLayout.CENTER BorderLayout.CENTER 中央 BorderLayout.NORTH BorderLayout.PAGE_START 上 BorderLayout.SOUTH BorderLayout.PAGE_END 下 BorderLayout.WEST BorderLayout.LINE_START 左 BorderLayout.EAST BorderLayout.LINE_END 右 // 以下のように記述することもできる //jp2.add(new JButton("North"), BorderLayout.PAGE_START); //jp2.add(new JButton("South"), BorderLayout.PAGE_END); //jp2.add(new JButton("West"), BorderLayout.LINE_START); //jp2.add(new JButton("East"), BorderLayout.LINE_END); add(jp2); //add(jp1); 4

5 レイアウトマネージャを用いないレイアウト レイアウトマネージャを無効にする レイアウトマネージャを無効にした場合は 固定座標によってコンポーネントを配置する Java アプリケーションは色々な環境で実行される可能性があるため 基本的にはレイアウトマネージャの使用が推奨されるが 座標指定でアプリケーションを作成した場合などは固定座標を用いる JPanel jp1,jp2,jp3; Practice03(String title){ 60 (10,10,300,20) jp3 = new JPanel(); jp3.setlayout(null); (10,60,150,20) JLabel jlabel = new JLabel( "This is a JPanel without layout in page 3"); jlabel.setbounds(10, 10, 300, 20); jp3.add(jlabel); JButton jbutton1 = new JButton("I'm a button"); jbutton1.setbounds(10, 35, 150, 20); jp3.add(jbutton1); JButton jbutton2 = new JButton("I'm another button"); jbutton2.setbounds(10, 60, 200, 20); jp3.add(jbutton2); 200 (10,110,200,20) 座標サイズ add(jp3); //add(jp2); 5

6 GridLayout の作成 GridLayout クラスを用いて画面を作成する GridLayoutは対象となる領域全体を指定した行数と列数に分割する 配置されたコンポーネントは全て同じサイズに調節される import java.awt.gridlayout; JPanel jp1,jp2,jp3,jp4; Practice03(String title){ // 行と列数を指定 ( 行, 列 ) -> (2x2) // 指定がない場合はコンポーネントが横に配置される jp4 = new JPanel(new GridLayout(2, 2)); 行 2 jp4.add(new JButton("This is")); jp4.add(new JButton("a JPanel with")); jp4.add(new JButton("2*2 GridLayout")); jp4.add(new JButton("in page 4")); add(jp4); //add(jp3); 列 2 6

7 CardLayout について CardLayout クラスは複数コンポーネントを切り替えて表示できるレイアウトマネージャー それぞれのカードにコンポーネントを登録した複数のカードを内部的に保持し 表示するカードを切り替えることで表示するコンポーネントを切り替える CardLayout クラスの持つメソッドは以下の通り next() next() next() previous() previous() previous() first() last() first() - コンテナの最初のカードに切り替える last() - コンテナの最後のカードに切り替える next() - 指定されたコンテナの次のカードに切り替える previous() - 指定されたコンテナの前のカードに切り替える 7

8 CardLayout について (2) レイアウトの動作の確認のために簡単なサンプルプログラムを作る import javax.swing.*; import java.awt.cardlayout; import java.awt.event.*; public class CardLayoutTest extends JFrame implements ActionListener{ JPanel jpmain; CardLayout cl; public static void main(string[] args){ CardLayoutTest frame = new CardLayoutTest2(); CardLayoutTest(){ // Card1 JPanel c1 = new JPanel(); c1.add(new JLabel("card1")); c1.add(new JButton("button")); // Card2 JPanel c2 = new JPanel(); c2.add(new JLabel("card2")); c2.add(new JTextField("", 10)); // Card3 JPanel c3 = new JPanel(); c3.add(new JLabel("card3")); c3.add(new JCheckBox("checkbox1")); c3.add(new JCheckBox("checkbox2")); jpmain = new JPanel(); cl= new CardLayout(); // パネルに CardLayout を設定する jpmain.setlayout(cl); // 作成したカードをパネルに設定する // この時点では card1 のみ表示される jpmain.add(c1, "card1"); jpmain.add(c2, "card2"); jpmain.add(c3, "card3"); add(jpmain,borderlayout.center); setdefaultcloseoperation(jframe.exit_on_close) setsize(300,200); settitle("cardlayouttest"); setvisible(true); 8

9 CardLayout について (3) カード移動用のボタンとイベントの追加を行う CardLayoutTest(){ // カード移動用ボタン JButton firstbtn = new JButton("First"); firstbtn.addactionlistener(this); firstbtn.setactioncommand("first"); JButton prevbtn = new JButton("Prev"); prevbtn.addactionlistener(this); prevbtn.setactioncommand("prev"); JButton nextbtn = new JButton("Next"); nextbtn.addactionlistener(this); nextbtn.setactioncommand("next"); ( イベント処理 ) public void actionperformed(actionevent e) { String cmd = e.getactioncommand(); if (cmd.equals("first")) { cl.first(jp); else if (cmd.equals("last")) { cl.last(jp); else if (cmd.equals("next")) { cl.next(jp); else if (cmd.equals("prev")) { cl.previous(jp); JButton lastbtn = new JButton("Last"); lastbtn.addactionlistener(this); lastbtn.setactioncommand("last"); JPanel btnp = new JPanel(); btnp.add(firstbtn); btnp.add(prevbtn); btnp.add(nextbtn); btnp.add(lastbtn); add(btnp, BorderLayout.SOUTH); プログラムを実行して動作を確認して下さい 9

10 CardLayout について (4) 先ほど作ったレイアウトを用いて画面を作成する public class CardLayoutTest 2 extends JFrame implements ActionListener { JPanel jpmain; CardLayout cl; JPanel[] jps; JButton jb; public static void main(string[] args) { new CardLayoutTest 2(" CardLayoutTest 2"); public CardLayoutTest2(String title){ cl = new CardLayout(); jpmain = new JPanel(); jpmain.setlayout(cl); add(jpmain, "Center"); // 各ページ用のパネルを配列に置きなおす jps = new JPanel[4]; // 画面下部のボタンは CardLayoutTest() で作成した // ボタン用の JPanel を使用 JPanel btnp = new JPanel(); btnp.add(firstbtn); add(btnp, BorderLayout.SOUTH); settitle(title); setsize(400,300); setlocation(400,300); setresizable(false); setdefaultcloseoperation(jframe.exit_on_close); setvisible(true); // 今回のレイアウトの演習 jp1~jp4 で作成したパネルを // そのまま使用して下さい jps[0] = new JPanel(); jps[0].add(new JLabel("This is a JPanel with default layout in page 1")); jps[0].add(new JButton("I'm a button")); jps[0].add(new JLabel("I'm a label")); // メインのパネルに add する際に カードの名前をつける jpmain.add(jps[0], "page1"); // 同じように jp2~jp4 の部分も作成 // ( イベント処理 ) public void actionperformed(actionevent e) { String cmd = e.getactioncommand(); // イベント処理部も CardLayoutTest() で作成した // ボタン用のイベント処理を記述 10

11 CardLayout について (5) 実行して画面の動作を確認 next Prev jps[0] First jps[1] jps[2] jps[3] Last 11

12 ファイルの読み込み (1) JFileChooser クラスを用いたファイルの読み込み 画面上でファイル名を選択できるダイアログを表示する場合に利用する public class JFileChooserTest extends JFrame implements ActionListener { JLabel label; public static void main(string[] args) { JFileChooserTest frame = new JFileChooserTest("JFileChooserTest"); JFileChooserTest(String title) { JButton button = new JButton("Select File"); button.addactionlistener(this); JPanel btnpanel = new JPanel(); btnpanel.add(button); label = new JLabel(); JPanel lbpanel = new JPanel(); lbpanel.add(label); add(lbpanel, BorderLayout.CENTER); add(btnpanel, BorderLayout.PAGE_END); public void actionperformed(actionevent e) { JFileChooser filechooser = new JFileChooser(); int selected = filechooser.showopendialog(this); if (selected == JFileChooser.APPROVE_OPTION) { File file = filechooser.getselectedfile(); label.settext(file.getname()); ダイアログを開くボタンをクリックし 動作を確認して下さいファイルを選択し 画面内のラベルに選択した情報が適用されるのを確認して下さい setdefaultcloseoperation(jframe.exit_on_close); setsize(300, 200); settitle(title); setvisible(true); 12

13 ファイルの読み込み (2) JFileChooser クラスを用いたファイルの読み込み 画面上でファイル名を選択できるダイアログを表示する場合に利用する public void actionperformed(actionevent e) { JFileChooser filechooser = new JFileChooser(); // ダイアログを開く // 引数に指定した文字列をボタンに使用できる -> 実行 int selected = filechooser.showopendialog(this, 実行 ); // 選択された操作に対応するイベントを選択する if (selected == JFileChooser.APPROVE_OPTION) { File file = filechooser.getselectedfile(); label.settext(file.getname()); else if (selected ==JFileChooser.CANCEL_OPTION){ label.settext(" キャンセルされました "); else if (selected ==JFileChooser.ERROR_OPTION){ label.settext(" エラー又は取消しがありました "); 定義値値ボタンの種類 JFileChooser.APPROV E_OPTION 0 引数で指定した文字列が表示されたボタンが選択された場合 JFileChooser.CANCEL _OPTION JFileCHooser.ERROR_ OPTION 1 取消し ボタンが選択された場合 -1 エラー発生時 13

14 ファイルの読み込み (3) java.awt.filedialog を使ってファイルの読み込みをする // 画面のデザインは先ほどのプログラムを利用して下さい public void actionperformed(actionevent e) { // FileDialog を開く // 第一引数 : ターゲットとなるフレーム // 第二引数 : ダイアログのタイトル // ( 第三引数 : ダイアログのモード ) FileDialog fd = new FileDialog(this, "File Select"); // FileDialog を表示する fd.setvisible(true); 適当なファイルを選択して 画面の表示を確認して下さい // getdirectory() : 選択したファイルのパスを取得 // getfile() : 選択したファイルの名前を取得 String fullpath = fd.getdirectory() + fd.getfile(); label.settext(fullpath); 14

15 ファイルの読み込み (4) java.awt.canvas を継承した MyCanvas クラスを用いて画像の表示をする public class PictureViewer extends JFrame implements ActionListener { JPanel jp; MyCanvas mc; String fpath,fname; JButton JBselect; FileDialog fd_load; //main メソッド省略 public PictureViewer(String title) { settitle(title); jp = new JPanel(); JBselect = new JButton("Select a picture"); JBselect.addActionListener(this); jp.add(jbselect); // 画像表示用に MyCanvas オブジェクトを作成 mc = new MyCanvas(); add(jp, "North"); add(mc, "Center"); setsize(360, 360); setlocation(400, 200); // ウィンドウが閉じられた時の処理 addwindowlistener(new WindowAdapter(){ public void windowclosing(windowevent e) { System.exit(0); ); setvisible(true); fd_load = new FileDialog(this, "Open file", FileDialog.LOAD); public void actionperformed(actionevent arg0) { fd_load.setvisible(true); fpath = fd_load.getdirectory(); fname = fd_load.getfile(); if((fpath!= null) && (fname!= null)) { // display() メソッドに指定したファイルのパスを持った // File オブジェクトを渡す this.display(new File(fpath + fname)); public void display(file f) { try{ // 読み込んだファイルの画像データをセット BufferedImage bi = ImageIO.read(f); mc.setimage(bi); this.settitle("pictureviewer - [" + f.getname() + "]"); catch (Exception e) { e.printstacktrace(); mc.repaint(); MyCanvas クラス MyCanvas.java 15

16 ファイルの読み込み (5) java.awt.canvas を継承した MyCanvas クラスを用いて画像の表示をする 適当な画像ファイルを選択して動作を確認して下さい ( 余裕のある人は MyCanvas クラスの内部の動作を確認してみて下さい ) 16

17 テーブルの利用 JTable クラスを利用して デザインにテーブルを利用する JTableクラスは表形式の形でデータを表示する際に使用する データベースのデータのように扱うために 同じ列のデータはデータ形式を統一する必要がある public class TableViewer extends JFrame { // テーブルデータ String[][] tdata = { {" りんご ","150","7500","50", {" みかん ","50","4000","20", {" ぶどう ","200","8000","60", {" バナナ ","250","15000","40" ; // テーブルの要素名 String[] columnnames = {" 商品 ", " 価格 ( 円 )", " 売上 ( 円 )", " 在庫 ( 個 )"; public static void main(string[] args){ new TableViewer(" Teaching 5 Table Viewer "); public TableViewer(String title){ JPanel p = new JPanel(); // テーブルの作成 JTable table = new JTable(tdata, columnnames); // サイズの自動設定 table.setautoresizemode(jtable.auto_resize_off); // JScrollPane オブジェクト上にテーブルを配置 JScrollPane sp = new JScrollPane(table); sp.setpreferredsize(new Dimension(300, 100)); p.add(sp); JTable table2 = new JTable(4,4); table2.setautoresizemode(jtable.auto_resize_off); JScrollPane sp2 = new JScrollPane(table2); sp2.setpreferredsize(new Dimension(300, 100)); p.add(sp2); add(p, BorderLayout.CENTER); settitle(title); setsize(400,250); setdefaultcloseoperation(jframe.exit_on_close); setvisible(true); 設定したテーブルのデータは後から編集もできる 17

18 初期データの設定 テーブルの利用 (2) テーブルのデータからJTableオブジェクトを作成すると データを後から追加することができない DefaultTableModelクラスのオブジェクトを用いることで それが可能となる import javax.swing.table.defaulttablemodel; public TableViewer(String title){ JPanel p = new JPanel(); // 引数には テーブルのデータを与える DefaultTableModel tm = new DefaultTableModel(tdata,columnNames); // DefaultTableModel のオブジェクトを引数として与える JTable table = new JTable(tm); //JTable table = new JTable(tdata, columnnames); table.setautoresizemode(jtable.auto_resize_off); JScrollPane sp = new JScrollPane(table); sp.setpreferredsize(new Dimension(300, 100)); p.add(sp); 表示は変わらない 18

19 テーブルのデータの扱い テーブルの利用 (3) 前項では配列を用いてテーブルを作成した 配列ではなく Vector 型のオブジェクトを用いてテーブルを作成することもできる public TableViewer(String title){ Vector person1 = new Vector(); person1.add("john"); person1.add("male"); person1.add("20"); Vector person2 = new Vector(); person2.add("mary"); person2.add("female"); person2.add("18"); Vector data = new Vector(); data.add(person1); data.add(person2); Vector columnnames = new Vector(); columnnames.add("name"); columnnames.add("sex"); columnnames.add("age"); DefaultTableModel DTM = new DefaultTableModel(data, columnnames); JTable table = new JTable(DTM); table.setautoresizemode(jtable.auto_resize_off); JScrollPane pane = new JScrollPane(); pane.setviewportview(table); JTable のコンストラクタ JTable() - デフォルトの JTable を構築 JTable(int numrows, int numcolumns) - numrows numcolumns で JTable を構築 JTable(Object[][] rowdata, Object[] columnnames) - 2 次元配列 rowdata の値をデータ columnnames を列名とする JTable を構築 JTable(TableModel dm) - データモデル dm を基にした JTable を構築 JTable(TableModel dm, TableColumnModel cm) - データモデル 列モデルを基とした JTable を構築 JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) - データモデル 列モデル 選択モデルを基とした JTable を構築 JTable(Vector rowdata, Vector columnnames) - Vector 型の rowdata columnnames を基として JTable を構築 p.add(pane); add(p, BorderLayout.CENTER); 19

20 テーブルデータを追加する テーブルの利用 (4) addrow() メソッドを使ってテーブルにデータを追加することができる 以下の記述を付け足して実行し 動作を確認して下さい public TableViewer(String title){ // テーブルにデータを与えるための引数として // Vector 型のオブジェクトを作成する Vector tabledata = new Vector(); tabledata.add("hoseitaro"); tabledata.add("male"); tabledata.add("24"); // DefaultTableModel クラスの addrow() クラスを使って // データを後から追加することができる DTM.addRow(tabledata); DefaultTableModel クラスの addrow() メソッドを使って後から追加したデータが 実際に追加されていることを確認することができる このようにして 初期値を与えたテーブルに後からデータを追加することができる 20

Java 2 - Lesson01

Java 2 - Lesson01 Java2 第 4 回 高度な GUI デザインの作成 キーポイント FocusListener の作成 Exercise 3 and 4 今まで学んだ機能を組み合わせて 高度なデザインの GUI を作成します レイアウトやイベントの作成については各自で考えて 工夫して下さい 作成する GUI の動作を確認したい場合は Java2 コースの Web ページ上にある jar ファイルをダウンロード 起動して動作を確認して下さい

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

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

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i 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 の基本的なことを学びましょう 本サンプルは 図に示すようなひとつのメイン画面を使用します

More information

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

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame(Kadai _02); (2) フレームのクラス名は MyFrame とし 以下 オブジェクト指向プログラミング演習課題 20071128 以下のような GUI 画面を表示するプログラムを完成させなさい 前回演習で作成したプログラムにイベント処理を追加します 注意 : ファイル名が同じものがあるので 課題毎にディレクトリーを分ける等してください 課題 20071128_01 講義資料内で紹介したイベント処理の例 2 を作成し 動作を確認せよ (1) コントロールクラス (main

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 11 回ウインドウ型アプリケーション (2) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp メニュー (1) メニューを組み込むときには,MenuBar オブジェクトに Menu オブジェクトを登録し, その Menu オブジェクトに MenuItem オブジェクトを登録する 2 つの Menu オブジェクト File New

More information

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex ソフトウェア基礎演習課題 20061206 以下のような GUI 画面を表示するプログラムを完成させなさい 前回演習で作成したプログラムにイベント処理を追加します 注意 : ファイル名が同じものがあるので 課題毎にディレクトリーを分ける等してください ( 簡易レジスター ) 概略仕様 : 1. フレーム内にはパネルが4つあり レイアウトは GridLayout(4, 1)(4 行 1 列のレイアウト

More information

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料 10/28 Java AWT の基本構造 (Frame クラスの継承 ) 演習課題資料以下のプログラムを完成せよ 共通課題 1.Frame を生成するプログラム // Frame クラスを継承して 終了ボタンのみを定義した クラスの定義 class WhiteWindow 1 { // Frame クラスの継承をする (Frame クラスの拡張 ) WhiteWindow (String title){

More information

text_12.dvi

text_12.dvi C 12 2000 7 2 12 Java(7) { Swing(, ), 1 12.1 12 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 12.2 Swing : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 10 回ウインドウ型アプリケーション (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) ボーダーレイアウト, グリッドレイアウト, パネルを使用して, 電卓風のボタンを実現する BorderLayout で NORTH, CENTER, SOUTH に分割 NORTHにはテキストフィールドを設定 CENTERにはパネルを使って9つのボタンを設定

More information

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

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 12 2013 7 2 12.1 GUI........................... 12 1 12.2............................... 12 4 12.3..................................... 12 7 12.4....................................... 12 9 12.5 : FreeCellPanel.java............................

More information

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

自宅でJava言語の開発環境を作る方法 ViralBanner の作成方法 2010 年 1 月 31 日更新 あいあいスクール代表 畠茂雄 ( はたけしげお ) もくじ 今回作成するツールの紹介... 3 ソースコードの作成... 5 (1)ViralBanner.html のソースコード... 6 (2)ViralBanner.java のソースコード... 7 (3) 参考 : レイアウトマネージャについて... 10-2 今回作成するツールの紹介

More information

GUIプログラムⅤ

GUIプログラムⅤ GUI プログラム Ⅴ 前回課題の制作例 ファイル名 :awttest.java public class awttest public static void main(string arg[]) //=============================================== // ウィンドウ (Frame クラス ) のインスタンスを生成 //===============================================

More information

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含 第 3 章 GUI による電卓の実装 GUI の基礎とイベント処理について理解し, 前章で作成した演算プログラムを組み込んで電卓を作成 ( 実装 ) する 3.1 インターフェイス 文字などのコマンドだけでやりとりするインターフェイスを CUI(Command User Interface) と呼び, マウスなどでウインドウを操作して行うインターフェイスを GUI(Graphical User Interface)

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ ジナルのウィンドウを作成する

More information

ガイダンス

ガイダンス プログラムの 1 行目に自分の名前を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ

More information

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem Java Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem 2 MenuComponent MenuComponent setfont() void setfont(font f) MenuBar MenuBar MenuBar() MenuBar add() Menu add(menu m) Menu Menu Menu String

More information

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

次の演習課題(1),(2)のプログラムを完成させよ 次の演習課題 (1),(2) のプログラムを作成せよ. 課題 (1) ボタン押下時の処理を追加し以下の実行結果となるようにプログラムを作成しなさい ( ボタン押下時の処理 ) import java.lang.*; class Figure extends JFrame implements ActionListener{ JPanel panel; JScrollPane scroll; JTextArea

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ 2-2 手書認識認識結果 ( 数式 ) を描画する ステップ 3 認識した数式を元に関数グラフを描画する

More information

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464> ウォーリスの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のウォーリスの公式を用いて π の近似値を求めてみましょう [ ウォーリスの公式 ] π=2{ 2 2 4 4 6 6 1 3 3 5 5 7 シミュレーションソフト ウォーリスの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください 2.Java アプレット (1) Javaプログラムリスト

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

< F2D834F838C A815B A CC>

< F2D834F838C A815B A CC> グレゴリー ライプニッツの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のグレゴリー ライプニッツの公式を用いて π の近似値を求めてみましょう [ グレゴリー ライプニッツの公式 ] π 4 =1-1 3 + 1 5-1 7 + 1 9-1 + 11 シミュレーションソフト グレゴリー ライプニッツの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください

More information

Prog1_12th

Prog1_12th 2014 年 7 月 3 日 ( 木 ) 実施 GUIプログラミング今回の授業では,Java 言語での GUI(Graphical User Interface) プログラミングの基礎について学習する GUIツールキット Java 言語では,GUI プログラミング用のツールキットとして, 次のものが用意されている 1) AWT(Abstract Window Toolkit) 2) Swing AWT

More information

<4D F736F F F696E74202D AC C8899E D834F E >

<4D F736F F F696E74202D AC C8899E D834F E > Java 簡単な応用プログラム ( その 2) Java は すでにある部品群を上手く使ってプログラムを組み立てます 前回と同様に Frame を使って ウインドウを表示するプログラムを作りましょう. Frameは ウインドウを作るための部品で フレーム ( 枠 ) とタイトルおよび, 決められた仕組みが入っています. java.awt パッケージは, ウインドウ関連の部品が多くあります. javax.swing

More information

Microsoft PowerPoint - swing2.ppt

Microsoft PowerPoint - swing2.ppt Java/Swing について (2) 2005 年 10 月 11 日 海谷治彦 1 Adapterについて TextField TextArea Copy&Paste JList JComboBox JScrollPane レイアウトについて 目次 2 ソースコード 前回より抜粋 public class Listener1 { public static void main(string[]

More information

Java 2 - Lesson01

Java 2 - Lesson01 第 2 回 GUI コンポーネントのイベント処理 GUI Component Event Handling キーポイント イベント イベントリスナー イベント処理とは何か? ActionEventとActionListenerについて ItemEventとItemListenerについて TextEventとTextListenerについて KeyEventとKeyListenerについて AdjustmentEventとadjustmentListenerについて

More information

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

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 1-1 1-2 IE6 2 BMI 3-1 3-2 4 5 chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chapter8 : 13-1 13-2 14 15 PersonTest.java KazuateGame.java

More information

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

Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 /////////////////// Assignment_.java 0 0 0 0 0 /////////////////////////////////////////////////////////// // 課題 次のようにマウスのカーソルに同期しメッセージを /////////////////////////////////////////////////////////// class Assignment_ extends

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

< F2D E E6A7464>

< F2D E E6A7464> ピタゴラス数 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 2 三平方の定理 a +b =c を満たす3つの自然数の組 ( a, b, c) をピタゴラス数と言います ピタゴラス数の最も簡単な例として (3,4,5) がありますね このピタゴラス数を求めるには ピタゴラスの方法とプラトンの方法の2つの方法があります 2 2 ピタゴラス数 (a,b,c) に対して

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

GUIプログラムⅡ

GUIプログラムⅡ GUI プログラム Ⅱ 前回課題の制作例 ファイル名 :awtsave.java import java.awt.*; import java.awt.event.*; public class awtsave extends Frame // Button クラスの宣言 Button btnsave; Label lblcaption1, lblcaption2, lblcaption3; Label

More information

Prog1_12th

Prog1_12th 2018 年 7 月 5 日 ( 木 ) 実施 GUIプログラミング今回の授業では,Java 言語での GUI(Graphical User Interface) プログラミングの基礎について学習する GUIツールキット Java 言語では,GUI プログラミング用のツールキットとして, 次のものが用意されている 1) AWT(Abstract Window Toolkit) 2) Swing AWT

More information

ÿþ˜u#u·0¹0Æ0à0

ÿþ˜u#u·0¹0Æ0à0 応用プログラミング - イベント処理 - イベント : プログラムへの働きかけ (GUI のボタンをクリックする, キーボードよりデータを入力するなど ) イベント処理 ( イベントハンドリング ): イベントに対する応答及びそのプログラム処理 イベントを処理するプログラムは イベントが発生した場合にのみ 呼び出される ( イベントドリブン ) GUI イベント イベント処理のプログラム イベント処理の仕組みと流れ

More information

text_13.dvi

text_13.dvi C 13 2000 7 9 13 Java(8) { Swing(2)(, ) 1 13.1 13 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 13.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

More information

Microsoft PowerPoint - prog12.ppt

Microsoft PowerPoint - prog12.ppt プログラミング言語 3 第 12 回 (2007 年 12 月 17 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 17 日分と書いてある部分が 本日の教材です

More information

ソフトウェア基礎演習 課題

ソフトウェア基礎演習 課題 オブジェクト指向プログラミング演習課題 20071205 以下のような GUI 画面を表示するプログラムを完成させなさい 前回演習で作成したプログラムにメニューを追加します 注意 : ファイル名が同じものがあるので 課題毎にディレクトリーを分ける等してください 課題 20071205_01 講義資料内で紹介したメニュー処理の例を完成し 動作を確認せよ (1) コントロールクラス (main メッソドを含むクラス

More information

......() JButton............

......() JButton............ ......() JButton............ playerpanel (JPanel) (JScrollPane) playerlist (JList) Window(JFrame) resultlabel(jlabel) statuspanel(jpanel) dealerpanel (JPanel) (JScrollPane) dealerlist (JList) playerresult

More information

2

2 問題 1 次の設問 1,2 に答えよ 設問 1 1 から 10 まで数えながら その数が偶数か奇数かを表示する JAVA プログラムの一部である 空欄に入るべき文字列は何か for( int i=1; 1 ; i++){ System.out.print(i); if( 2 == 0){ System.out.println(" is Even"); else{ System.out.println("

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

< F2D B825082CC96E291E82E6A7464>

< F2D B825082CC96E291E82E6A7464> 3x+1 の問題 [Java アプレット ] [Java アプリケーション ] 1. はじめに どんな自然数から始めても良いので その数が偶数ならば2で割り 奇数ならば3 倍して1を加えることを繰り返します そうすると どんな自然数から始めても必ず1になるというのはほんとうなのでしょうか 例えば 11から始めると 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 となります

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 5 回 第 3 章継承 91 継承 ( インヘリタンス ): ウインドウシステムを例に説明 図 3.1: ウインドウの中にラベル, ボタン, リストの部品 各部品の属性と操作共通の属性と操作 ウインドウ内の左上を原点として (x, y) で場所指定 : 属性 (width, height) でサイズ指定 : 属性 識別のための名前 (name): 属性 置く位置の指定 (setlocation,

More information

Java - Visual Editor

Java - Visual Editor Visual Editor で Swing アプリケーションを作成 Swing プログラミングに慣れて居ても ソースコード上丈で思い通りの GUI を作成するのは 可成り骨の折れる作業で有る Visual Editor を使用すれば 試行錯誤し乍ら 非常に簡単に GUI アプリケーションを作成する事が出来る 此処では JFrame を拡張して 簡単なアプリケーションを作成して観る事にする Java

More information

< F2D F B834E2E6A7464>

< F2D F B834E2E6A7464> ランダムウォーク [Java アプレット ] [Java アプレリケーョン ] 1. はじめに 酔っぱらいは前後左右見境なくふらつきます 酔っぱらいは目的地にたどり着こうと歩き回っているうちに何度も同じところに戻って来てしまったりするものです 今 酔っぱらいが数直線上の原点にいるとします 原点を出発して30 回ふらつくとき 30 回目に酔っぱらいがいる位置は 出発点である原点からどれくらい離れてしまっているのでしょうか

More information

< F2D8EA CE909482CC92EA82852E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464> 自然対数の底 e [Java アプレット ] [Java アプリケーション ] 1. はじめに 対数は 17 世紀にネイピアやビュルギといった数学者たちが生み出した関数である 円周率 πと自然対数の底 eとは密接な関係があり どちらも無理数で超越数 ( 整数係数の代数方程式の解にならない実数 ) である 1737 年 オイラーは eが無理数であることを示した 1873 年 フランスの数学者エルミートは

More information

< F2D82B682E182F182AF82F12E6A7464>

< F2D82B682E182F182AF82F12E6A7464> 3 人のじゃんけん [Java アプレット ] [Java アプリケーション ] 1. はじめに A 君 B 君 C 君の 3 人でじゃんけんを 1 回するときの勝ち負けを考えてみましょう あいこの場合は A 君 B 君 C 君の順に グー グー グー チョキ チョキ チョキ パー パー パー グー チョキ パー グー パー チョキ チョキ グー パー チョキ パー グー パー グー チョキ パー

More information

Microsoft PowerPoint - swing3.ppt

Microsoft PowerPoint - swing3.ppt Java/Swing について (3) 2005 年 10 月 19 日 海谷治彦 1 目次 メニューと AbstractAction ダイアログ ファイルダイヤログ Inner Class ( 内部クラス ) Anonymous Inner Class ( 無名内部クラス ) GUI でもちっとはクラス図を使おう. 実行可能アーカイブ (jar) の作り方 エクリプス無しでも実行したい. 2 メニューと

More information

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464> 2 次関数のグラフの平行移動 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフとy=a(x-b) +c のグラフは 位置は違うけれど 形も広がりも全く同じです 2 2 y=a(x-b) +c のグラフは y=ax のグラフをx 軸方向に ( 右方向に ) +b y 軸方向に ( 上方向に ) +c だけ平行移動したものです 2 シミュレーションソフト

More information

< F2D825282CC947B909482CC A815B83682E6A>

< F2D825282CC947B909482CC A815B83682E6A> 3 の倍数のトランプカード 1. はじめに [Java アプレット ] [Java アプリケーション ] ここにトランプが 1 組あります ジョーカー 2 枚を除いて 52 枚を使います 3 の倍数は スペード クローバ ダイヤ ハートに それぞれ 3 と 6 と 9 と 12 の 4 枚ずつあるので 4 4=16 枚あります この 52 枚のトランプから 1 枚引いたとき そのカードが 3 の倍数である確率を考えます

More information

< F2D A838B838D96402E6A7464>

< F2D A838B838D96402E6A7464> モンテカルロ法 [Java アプレット ] [Java アプリケーション ] 1. はじめに 一辺の長さが 2 の正方形とそれに内接する半径 1 の円が紙に書かれています この紙の上からたくさんのゴマをばらまきます 正方形の中に入ったゴマの数と そのうちで円の中に入ったゴマの数も数えます さあ このゴマの数からどうやって円周率 π を求めるのでしょうか 一辺の長さ2の正方形の面積は4で

More information

Java 2 - Lesson01

Java 2 - Lesson01 Welcome to プログラミング演習 2 Instructor: Jianhua MA TA: 池邉曜 and 李漠 (LI Mo) Course HP URL: https://cis.k.hosei.ac.jp/~jianhua/course/j2/ 1 第 1 回 GUI (Graphics User Interface) 基礎とコンポーネントの作成 キーポイント GUI コンポーネント

More information

アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2

アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2 UML によるソフトウェア設計 Java プログラミング 2 1 アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2 1. グラフィカルなインタフェース ウィンドウの作成手順 1. ウィンドウ ( フレーム ) を作成する JFrame frame = new JFrame(); 2.

More information

< F2D82518CC282CC D2E6A7464>

< F2D82518CC282CC D2E6A7464> 2 個のさいころ 1. はじめに [Java アプレット ] [Java アプリケーション ] 2 個のさいころを同時に投げたときの目の出方を考えてみましょう この 2 個のさいころをそれぞれ さいころ Ⅰ さいころ Ⅱ とすると その目の出方は順に 1 1 2 1 3 1 4 1 5 1 6 1 1 2 2 2 3 2 4 2 5 2 6 2 1 3 2 3 3 3 4 3 5 3 6 3 1 4

More information

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C> 2 次関数のグラフの向きと広がり [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフについて x の係数 aが正のときと負のときでは グラフにどのような違いがあるでしょうか 2 2 y=ax のグラフについて x の係数 aが正のとき 係数 aの値が大きくなるにつれて グラフの広がりはどうなるでしょうか 2 2 y=ax のグラフについて x の係数

More information

< F2D92DE82E8914B82CC977088D32E6A7464>

< F2D92DE82E8914B82CC977088D32E6A7464> 釣り銭の用意の実験 [Java アプレット ] [Java アプリケーション ] 1. はじめに クラス会などの幹事を務めることはありませんか 幹事になったつもりで考えてみてください 仮に クラス会への参加者人数は 35 人で 会費は 3500 円であるとします また 参加者は 1000 円札 4 枚でお釣りを必要とする人と 1000 円札 3 枚と 500 円玉 1 個でお釣りの要らない人の 2

More information

Prog2_11th

Prog2_11th 2012 年 12 月 6 日 ( 木 ) 実施 GUIプログラミング今回及び次回の授業では,Java 言語での GUI プログラミングの基礎について学習する GUIツールキット Java 言語では,GUI プログラミング用のツールキットとして, 次のものが用意されている 1) AWT (Abstract Window Toolkit) 2) Swing AWT は Java 言語の当初から実装されていた標準の

More information

B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71

B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71 B 10 : ks91@sfc.wide.ad.jp N206 2003 ip2003f10.tex B : 9/12/2003 10:02 p.1/71 : / ip2003f10.tex B : 9/12/2003 10:02 p.2/71 ip2003f10.tex B : 9/12/2003 10:02 p.3/71 1 http://java.sun.com/j2se/1.4.1/docs/api/

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 14 回 第 12 章アプレット 28 8 アプレットとは アプレット : ウェブ上で HTML のソースコードから参照されるプログラム.Web サーバや Web ブラウザ ( アプレットビューア ) から動的にアプレットはダウンロードされる. 289 HelloAp.java アプレットの基本事項 public class HelloAp extends Applet{ public void

More information

< F2D89BA8EE882C E6A7464>

< F2D89BA8EE882C E6A7464> 下手な鉄砲も数撃ちゃ当たる!! [Java アプレット ] [Java アプリケーション ] 1. はじめに 鉄砲を10 回撃つと1 回当たる腕前の人が鉄砲を撃ちます 下枠の [ 自動 10 回 ] または [ 自動 50 回 ] または [ 自動 100 回 ] をクリックすると それぞれ10 回 50 回 100 回 実験を繰り返します ただし 1 回の実験につき20 発の鉄砲を発射します シミュレーションソフト

More information

< F2D A839382CC906A2E6A7464>

< F2D A839382CC906A2E6A7464> ビュホンの針 1. はじめに [Java アプレット ] [Java アプリケーション ] ビュホン ( Buffon 1707-1788) は 針を投げて円周率 πを求めることを考えました 平面上に 幅 2aの間隔で 平行線を無数に引いておきます この平面上に長さ2bの針を落とすと この針が平行線と交わる確立 pは p=(2b) (aπ) 1 となります ただし b

More information

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

第1章 ビジュアルプログラミング入門 第 10 章補足 -Java プログラムを一から記述してみようー 学習内容とねらい これまで本テキストで扱ってきたのは主に Windows アプリケーション (Windows 上のボタンクリック等による動作するプログラム ) でした ですから 皆は Eclipse を用いて Windows アプリケーションを作成する方法には習熟したはずです 皆も経験した通り Eclipse( およびそこにプラグインされている

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

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

オブジェクト指向プログラミング・同演習 5月21日演習課題 オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException

More information

問1

問1 2008/12/10 OOP 同演習小テスト問題 問 1. 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { public static void main(string[] args){ int i =2; int j =3; System.out.println( i + j ); a) 23 b) 5 c) ij d) i+j 問 2. 次のプログラムの出力結果を

More information

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt) 独習 JAVA 第 3 版 8.4 例外とエラークラス 8.5 throws ステートメント 8.6 独自の例外 Throwable コンストラクタ catch ブロックには Throwable 型のパラメータが必ず 1 つなければならない Throwable コンストラクタ Throwable() Throwable( String message ) message には問題を通知する文字列のメッセージ

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなどを設定できます ソースファイル名 :Sample8_1.java // HP よりインポート文をここへ貼り付けてください

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 3 回 ) 工学部情報工学科 木村昌臣 今日のテーマ GUI プログラミング入門 AWT Java で GUI を作る方法 (API) AWT Abstract Window Toolkit GUIをつくるクラス群を提供 ( 基本!) OSによらない外観 Swing 逆にいえば OS ネイティブな look and feel ではない AWT をもとに JavaFX JDK1.8

More information

Android Layout SDK プログラミング マニュアル

Android Layout SDK プログラミング マニュアル プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から

More information

Thread

Thread 14 2013 7 16 14.1....................................... 14 1 14.2 Thread................................... 14 1 14.3............................. 14 5 14.4....................................... 14 10

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

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

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 Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 3 回継承 オーバーライド インタフェース 前回までのお話 モジュール化 大きなプログラムは部品に分けて設計する オブジェクト指向 モノ中心に考える プログラムでは クラス ( モノの種類 ) を定義する ある特定のモノは インスタンスで表す クラスは型 インスタンスは値 プログラムを書くときも部品ごとに書く モノの部品であるモノはフィールドに書く 手順の部品である手順はメソッドに書く

More information

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C 6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent 6.0.1 thread, 1 GUI 6.0.2, mutlithread CPU 1 CPU CPU +----+ +----+ +----+ Java 1 CPU 6 p.2

More information

Microsoft Word - Java4.DOC

Microsoft Word - Java4.DOC Java 入門 ( 6) 科名 T u t o r i a l g r o u p 氏 名 2005.2 1 テキストフィールド (TextField) テキストフィールド (TextField) は 1 行だけの編集可能な文字列を表示 / 入力するためのコンポーネントである テキストフィールドは TextComponent を継承している 例題 1 P326password.java テキスト P325~P326

More information

最初に

最初に Graphical User Interface widget を使う オブジェクト指向プログラミング特論 2016 年度 只木進一 : 工学系研究科 Java と GUI 多くのプログラミング言語では GUI は言語とは別のライブラリ 例 :c/c++ と X11 GTK プラットフォーム依存 Java では GUI ライブラリが言語と同封されて配布 プラットフォーム独立 各プラットフォームのウィンドウマネージャ利用可

More information

I. java.awt.rectangle java.lang.math random Java TM API java.awt Rectangle Rectangle (x,y)... public int x Rectangle X public int y Rectangle Y public

I. java.awt.rectangle java.lang.math random Java TM API java.awt Rectangle Rectangle (x,y)... public int x Rectangle X public int y Rectangle Y public 2018 08 03 10:30 12:00 I. IV III II. III. IV. ( a d) V. VI. 70 III 30 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

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

I 4 p.2 4 GUI java.awt.event.* import /* 1 */ import mouseclicked MouseListener implement /* 2 */ init addmouselistener(this) this /* 3 */ this mousec I 4 p.1 4 GUI GUI GUI 4.1 4.1.1 MouseTest.java /* 1 */ public class MouseTest extends JApplet implements MouseListener /* 2 */ { int x=50, y=20; addmouselistener(this); /* 3 */ public void mouseclicked(mouseevent

More information

Prog2_10th

Prog2_10th 2013 年 11 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル操作は,C 言語プログラミングで学んだように, 次の順序で行う 1) ストリームを開く 2) ストリームからの入力, ストリームへの出力 3) ストリームを閉じる Java 言語では, ファイル操作に関係するクラスが複数用意されている

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

LMNtal LMNtal LMNtal JAVA JAVA JAVA LMNtal LMNtal LMNtal

LMNtal LMNtal LMNtal JAVA JAVA JAVA LMNtal LMNtal LMNtal 2003 LMNtal GUI GUI : 2004 2 5 : : 1G00P024-3 LMNtal LMNtal LMNtal JAVA JAVA JAVA LMNtal LMNtal LMNtal 1 1 2 LMNtal 3 2.1 LMNtal.............................. 3 2.1.1 Atom........................ 3 2.1.2...............................

More information

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

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 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 p.1 5 JPanel (toy example) 5.1 2 extends : Object java.lang.object extends... extends Object Point.java 1 public class Point { // public int x; public int y; Point x y 5.1.1, 5 p.2 5 5.2 Point int Java

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 32786~32767 2147483648~2147483647 9223372036854775808~9223372036854775807 ±10 38 ~10 38 ±10 308 ~10 308 public static void main(string[] args) { int a; double b; String s; a = 42; b = 3.1415926535; s =

More information

ブロック崩し Step1 矢印キーで左右に動かせるパドルを描画する < パドルの表現方法 > パドルは java.awt パッケージの Rectangle という Java が用意しているクラスを使う これは四角形を表すクラスで 左上の点の座標と幅 高さをもっている (x, y) Rectangle

ブロック崩し Step1 矢印キーで左右に動かせるパドルを描画する < パドルの表現方法 > パドルは java.awt パッケージの Rectangle という Java が用意しているクラスを使う これは四角形を表すクラスで 左上の点の座標と幅 高さをもっている (x, y) Rectangle GUI プログラミング第 3 回演習 BlockBreaker ~ かんたんブロック崩しゲーム ~ パドルを左右に操作して落ちてくるボールを反射させ 上のブロックを崩していく ブロック ボール パドル 1.eclipse.zip を D: ドライブにコピーし 右クリック ここに解凍 2.workspace を S: ドライブから D: ドライブにコピー 3.eclipse.exe

More information

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

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次に示すプログラムは 配列 a の値を乱数で設定し 配列 a の値が 333 より大きく 667 以下の値 の合計値を求めるプログラムである 1 と 2 に適切なコードを記述してプログラムを完 成させよ class TotalNumber { public static void main(string[] args) { int[] a = new int[1000]; // 1 解答条件

More information

2

2 2014/01/15 プログラミング応用 b H24 年度期末テスト問題 問題 1 次の設問 1,2 に答えよ 設問 1 1 から 10 まで数えながら その数が偶数か奇数かを表示する JAVA プログラムの一部である 空欄に入るべき文字列は何か for( int i=1; 1 ; i++){ System.out.print(i); if( 2 == 0){ System.out.println("

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

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

第1章 ビジュアルプログラミング入門 付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

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

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 2018 06 08 11:00 12:00 I. I III II. III. IV. ( a d) V. VI. 80 40 40 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

2

2 プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

Microsoft Word 年度情報コミュニケーション実験II(Ver0.9)c.docx

Microsoft Word 年度情報コミュニケーション実験II(Ver0.9)c.docx 学生証番号 : 名前 : 6. Java とインタラクション インタラクション (interaction) という英語は inter+action から合成されたものであり 相互作用とかやりとりと訳されることが多い その基本は 人間が何かアクション ( 操作 行動 ) をすると 相手側 ( 人間または機械システム ) がそのアクションに対応したリアクションをする という点にある 即ち アクションとリアクションの対

More information

1 JAVA APPLET 実習 1. はじめに Java フォルダに applet フォルダを作成する 2. 実習問題の作成 J01.java public class J01 extends Applet{ public void paint(graphics kaku){ kaku.drawstring("hello World from Java!",60,70); j01.html

More information