JAVA入門後期③ JAVAのGUI (JavaのGUI基本構造、いろいろなアプレット)

Slides:



Advertisements
Similar presentations
Ver 準備 Java フォルダに移動して …… mkdir Swing Swing フォルダに移動して …… cp ~gundam/Java/Swing. コマンドプロンプト ( JDK ) でないと起動 しないので注意!!!
Advertisements

ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
社会人学習講座 「Javaプログラミング概論」
GridLayout オブジェクト(省略)
         第9回 Swing.
Flex “30分でわかるFlex”.
Java I 第2回 (4/18)
タグの直接入力によるウェブページの制作 練習課題1~3
Imageの描画 画像を読み込んで表示すること。 import java.awt.*;が必要。
Applet 岡部 祐典 鈴木 敬幸.
GUIコンポーネントの設定と配置 Creation and positioning of GUI components
JAVA GUIプログラミング 第6回 TextFieldとLabel.
オブジェクト指向言語 第12回 アプレット.
JAVA GUIプログラミング 第1回 JAVAの実行 絵を描こう.
アプレット (Applet)について.
1.Java 概要 2.簡単なアプレット 3.動画を表示するアプレット 4.アプレットの改良 5.開発環境の利用(データベース)
Iアプリプログラミング その1  鳥居秀徳.
ネットワークプログラミング論 平成27年10月12日 森田 彦.
Javaでゲーム  山本拓弥.
Javaのインタフェース についての補足 2006年5月17日 海谷 治彦.
JAVA.
プログラミング演習3 第4回 ミニプロジェクト.
JavaServlet&JSP入門 01K0018 中村太一.
Javaレクチャー ーSwing入門ー.
 Applet アプレット ◇長い長いアプレット講座◇.
第14回 GUIの構成とイベント・ドリブン ~GUIを使ったプログラム(Ⅰ)~.
JAVA GUIプログラミング 第5回 ボタンとそのイベント処理.
プログラミングIII演習 第1回目.
例外処理 Exception Handling
インタフェース プログラミング 第14回 インタフェース プログラミング第14回.
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
第14回独習Javaゼミ セクション1~3 発表者 直江 宗紀.
アプレット プログラミング 第10回 アプレット プログラミング第10回.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
RMI ソフトウェア特論 第6回 /
プログラミング演習3 第2回 GUIの復習.
JAVA入門後期⑨ JAVAのSwingのメニュー処理
JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう.
グラフィックス、その1 色の表示 フォントを変えて文字を表示 直線、四角形、楕円形の描画 円弧の描画 多角形の描画
プログラミング演習3 第3回 ミニプロジェクト.
アルゴリズムとデータ構造演習(6月24日) グラフィックス、その2 テキストフィールドで入力する チェックボックスで1つ以上指定する
Java入門 13.5カラーの使用 13.6テキストの表示                  2003/12/12                   紺野憲一.
JAVA入門後期⑦ JAVAのSwingの基本構造
第15回独習Javaゼミ セクション14~15 発表者 直江宗紀.
プログラミング演習3 第3回 ミニプロジェクト.
第4回 javaのプログラミング 04A2029           古賀慎也.
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
ソフトウェア制作論 平成30年12月5日.
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
Java/Swingについて (3) 2005年10月19日 海谷 治彦.
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
JAVA入門後期⑥ JAVAのAWTの基本構造 (レイアウトマネージャー、 ウインドウ型アプリケーション)
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
JAVA入門後期④ イベント、AWT、の基本構造、スレッド
システムエンジニアリング演習 GUIの実現(1):AWT 11月6日.
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
ソフトウェア工学 知能情報学部 新田直也.
JAVA GUIプログラミング 第3回 イベント処理① マウスイベント.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
GUI部品とイベント処理の例 マインスィーパもどきの作成 倉敷芸術科学大学 産業科学技術学部 梶浦文夫.
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
7-3 サービスの連携 1.サービスとは 画面を持たずに処理を行う【AndroidManifest.xmlへの追加】 …
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

JAVA入門後期③ JAVAのGUI (JavaのGUI基本構造、いろいろなアプレット)

GUI構造 1.GUI構造 JAVAでGUIを構築するクラスとして、下記のがあります。 ①アプレットパッケージ ② AWT ③ Swing 特に②、③はコンポーネント、パッケージを利用。

GUI構造 ①アプレット概要 特徴 1.最初から、GUI環境が用意されている。 イベント処理などは、「アプリケーションと同様」 2.WebページのHTMLに埋め込む 3.文字列等はブラウザ依存

GUI構造 JAVAアプレットクラス コンパイル アプリケーションと同様 クラスファイルの作成 埋め込み タグコード記述 HTML文書

GUI構造 HTML文書指定 読み込み Webブラウザ アプレットビューア

アプレットクラスの作成 1.アプレットクラスの作成 import java.awt.*; import java.applet.*; public class Hello extends Applet{ public static void main(Graphics g) { g.drawString("Hello Java",10,10); }

アプレットクラスの作成 コンパイルします。 C:・・・・>javac Hello.java C:・・・・>

アプレットクラスの作成 HTMLファイルの準備 ファイル名: Hello.html <HTML> <BODY> <APPLET CODE ="Hello.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML>

アプレットクラスの作成 アプレットを実行します。 C:\・・・>appletviewer Hello.html 下記のようにアプレットが起動します。

アプレットクラスの作成 3.Webブラウザの起動 次いでHello.htmlファイルを起動します。

いろいろなアプレット 1.線描画 Graphicsクラスには、画面に文字、図を描くメ ソッドが用意されている。(例1、図1) 2.色とフォント Applet描画について、色、フォントの設定に関し は次のような方法による。(例2、3)

メソッド名 機能 void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) 円弧を描く Boolean drawimage(Image img int x int y imageObserver observer) イメージを描く void drawLine(int x1, int y1, int x2, int y2) 線を描く void drawOval(int x1, int y1, int width, int height) 楕円を描く void drawPolygon(int xPoints[], int y xPoints[] int nPoints) 多角形 void drawRect(int x1, int y1, int width, int height) 四角形 図1.

メソッド名 機能 void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) 円弧(塗りつぶし) void fillOval(int x1, int y1, int width, int height) 楕円(塗りつぶし) void fillPolygon(int xPoints[], int y xPoints[] int nPoints) 多角形(塗りつぶし) void setColor(Color c) 色 void setFont(Font font) フォント 図1.(続き)

例1.線描画 import java.applet.Applet; import java.awt.Graphics; public class SampleLine1 extends Applet{ public void paint(Graphics g){ g.drawLine(10,10,100,100); }

線描画 ファイルSampleLine1.htmlとして <HTML> <BODY> <APPLET CODE ="SampleLine1.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML> を用意

線描画 実行

例2.色の変更 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class SampleLine2 extends Applet{ public void paint(Graphics g){ g.setColor(Color.red); g.drawLine(10,10,100,100); }

線描画 ファイルSampleLine2.htmlとして <HTML> <BODY> <APPLET CODE ="SampleLine2.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML> を用意

色の変更 実行

例3.フォントの設定 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; public class SampleLine3 extends Applet{ public void paint(Graphics g){ g.setColor(Color.red); g.setFont(new Font("Serif",Font.BOLD,24)); g.drawString("Hello",20,20); }

線描画 ファイルSampleLine3.htmlとして <HTML> <BODY> <APPLET CODE ="SampleLine3.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML> を用意

フォントの設定 実行

色名 指定 白 Color.white ライトグレイ Color.lightGray グレイ Color.gray ダークグレイ Color.darkGray 黒 Color.black 赤 Color.red ピンク Color.pink オレンジ Color.orange 黄 Color.yellow 緑 Color.green マゼンダ Color.magenda シアン Color.cyan 青 Color.blue

フォント名 Dialog DialogInput Monospaced Serif SansSerif Symbol フォントスタイル 並  Font.PLAN 太字 Font.BOLD イタリック Font.ITALIC

画像表示 import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class SampleGazo1 extends Applet{ Image img; public void init() { img=getImage(getDocumentBase(),"small.jpg"); } public void paint(Graphics g) g.drawImage(img,10,10,this);

画像表示 ファイルSampleGazo1.htmlとして <HTML> <BODY> <APPLET CODE ="SampleGazo1.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML> を用意

画像表示 実行

アプレットの動作 メソッド名 呼び出し時 init() Webブラウザ起動 アプレット初期化 start() stop() 他のWebページに移動、アプレット停止 destroy() Webブラウザ終了、アプレット終了

アプレットの動作 処理流れ init()を自分のクラスで定義(オーバライド)すれば ユーザがWebブラウザ起動時、最初1回行われる処理 を記述しておくことができ、 Webブラウザの動きに合わせた適切アプレットを作成 可能。 init() start() stop() destroy

マウスに反応させる import java.applet.Applet; import java.awt.Graphics; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; public class SampleMouse1 extends Applet implements MouseListener{ int x=10; int y=10; public void init() { addMouseListener(this); }

public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){ x = e.getX(); y = e.getY(); repaint(); } public void mouseReleased(MouseEvent e){} public void paint(Graphics g){ g.fillOval(x,y,10,10);

マウスに反応させる ファイルSampleMouse1.htmlとして <HTML> <BODY> <APPLET CODE =" SampleMouse1.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML> を用意

マウスに反応させる。 実行

AWTの部品とクラス ボタン、チェックボックスなどのグラフィカルな部 品が用意されています。このセットをAWT(Abstract Window Toolkit)と呼びます。 次に一覧を上げます。

AWTの部品とクラス 部品名 クラス名 ボタン Button チェックボックス Checkbox チョイス Choice ラベル Label リスト List テキストフィールド TexField

AWTの部品とクラス 部品名 クラス名 テキストエリア TextArea スクロールバー Scrollbar キャンバス Canvas パネル Panel ダイアログ Dialog ファイルダイアログ FillDialog フレーム Frame

import java.applet.Applet; import java.awt.Button; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class SampleAWT1 extends Applet implements ActionListener{ Button bt; public void init() { bt=new Button("Strat"); add(bt); bt.addActionListener(this); } public void actionPerformed(ActionEvent ae){ bt.setLabel("Stop");

AWTの部品とクラス ファイルSampleAWT1.htmlとして <HTML> <BODY> <APPLET CODE =" SampleAWT1.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML> を用意

AWTの部品とクラス 実行

アニメーション import java.applet.Applet; import java.awt.Graphics; public class SampleAnime1 extends Applet implements Runnable{ int num; public void init() { Thread th; th= new Thread(this); th.start(); }

public void run(){ try{ for(int i=0;i<10;i++){ num=i; repaint(); Thread.sleep(1000); } catch(InterruptedException e){} public void paint(Graphics g) { String str = num+"です"; g.drawString(str,10,10);

アニメーション ファイルSampleAnime1.htmlとして <HTML> <BODY> <APPLET CODE =" SampleAnime1.class" WIDTH = 200 HEIGHT = 100> </APPLET> </BODY> </HTML> を用意

アニメーション 実行 数字が0~9と変わります。

アプレットでできないこと セキュリティ面から通常アプリケーションより制 限をされています。 アプレットではユーザのマシンのファイルを操作 することはできません。 悪意のあるアプレットでユーザのファイルが壊さ れることを防ぐためです。

アプレットタグの埋め込み <APPLET>タグのソースへの埋め込み これまでのところでは、完成したアプレットを起 動するのにHTMLファイルを用意しましたが、 小さなアプレットを作る度にHTMLファイルを用 意するのは大変なので、JAVAでは <APPLET>タグのソースへの埋め込む 方法を用意しています。

アプレットタグの埋め込み 例1.では import java.applet.Applet; import java.awt.Graphics; /* <APPLET CODE ="SampleLine1.class" WIDTH = 200 HEIGHT = 100> </APPLET> */ public class SampleLine1 extends Applet{ public void paint(Graphics g){ g.drawLine(10,10,100,100); }

アプレットタグの埋め込み として、 C:\・・・>appletviewer SampleLine1.java とコマンドを入力します。 下記のように例1.と同様の結果が得られます。