社会人学習講座 「Javaプログラミング概論」

Slides:



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

6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
GridLayout オブジェクト(省略)
         第9回 Swing.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
Java I 第2回 (4/18)
Imageの描画 画像を読み込んで表示すること。 import java.awt.*;が必要。
Applet 岡部 祐典 鈴木 敬幸.
WebサービスII (第10回) 2007年11月28日 植田龍男.
JAVA GUIプログラミング 第6回 TextFieldとLabel.
復習ーII (General Review II)
オブジェクト指向言語 第12回 アプレット.
Servlet J2EE I 第8回 /
JAVA GUIプログラミング 第1回 JAVAの実行 絵を描こう.
アプレット (Applet)について.
1.Java 概要 2.簡単なアプレット 3.動画を表示するアプレット 4.アプレットの改良 5.開発環境の利用(データベース)
Iアプリプログラミング その1  鳥居秀徳.
ネットワークプログラミング論 平成27年10月12日 森田 彦.
Javaでゲーム  山本拓弥.
Javaのインタフェース についての補足 2006年5月17日 海谷 治彦.
JAVA.
JavaServlet&JSP入門 01K0018 中村太一.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
 Applet アプレット ◇長い長いアプレット講座◇.
第14回 GUIの構成とイベント・ドリブン ~GUIを使ったプログラム(Ⅰ)~.
WebサービスII (第8回) 2007年11月14日 植田龍男.
JAVA GUIプログラミング 第5回 ボタンとそのイベント処理.
プログラミングIII演習 第1回目.
社会人学習講座 「Javaプログラミング概論」
第20章 Flyweight ~同じものを共有して無駄をなくす~
インタフェース プログラミング 第14回 インタフェース プログラミング第14回.
Bridge Pattern
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
第14回独習Javaゼミ セクション1~3 発表者 直江 宗紀.
アプレット プログラミング 第10回 アプレット プログラミング第10回.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
RMI ソフトウェア特論 第6回 /
プログラミング演習3 第2回 GUIの復習.
Java入門 13.5カラーの使用 13.6テキストの表示                  2003/12/12                   紺野憲一.
JAVA入門後期⑦ JAVAのSwingの基本構造
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
第15回独習Javaゼミ セクション14~15 発表者 直江宗紀.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
第4回 javaのプログラミング 04A2029           古賀慎也.
第6回 2007年6月1日 応用Java (Java/XML).
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
JAVA入門後期③ JAVAのGUI (JavaのGUI基本構造、いろいろなアプレット)
JAVA入門後期⑥ JAVAのAWTの基本構造 (レイアウトマネージャー、 ウインドウ型アプリケーション)
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
JAVA入門後期④ イベント、AWT、の基本構造、スレッド
システムエンジニアリング演習 GUIの実現(1):AWT 11月6日.
オブジェクト プログラミング 第2回 プログラムの基本.
JAVA GUIプログラミング 第3回 イベント処理① マウスイベント.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
C#プログラミング実習 第3回.
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
JAVA入門⑥ クラスとインスタンス.
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

社会人学習講座 「Javaプログラミング概論」 第02回 後半 (2008年09月13日)

今日の教材 http://flute.u-shizuoka-ken.ac.jp/~s-okubo/class/java08/ にあります。 上記URLは、ご自宅でもアクセス可能です。 分量が沢山ありますが、全部やらなくて大丈夫です。 課題らしい課題もありません。 ソースを見て、分からないところ等ありましたら、お呼び下さい。

今日の内容 先週の復習とJavaの基本的な部分 前回の復習1(コンパイルと実行) 前回の復習2(クラスとは) static なメソッド 前回の復習3 (クラスの継承) abstract クラス・インターフェース Javaで書くGUI JavaアプレットとSwing

Javaアプレット

Javaとアプレット Javaのプログラム 単独で動作するプログラム web browser上で動作するプログラム(applet) appletのためのJavaプログラムを書く コンパイルする appletを埋め込むhtmlファイルを書く web browserでhtmlを読み込み、appletを実行する

実行例 (1/4) appletの為のJavaプログラムを書く appletの場合、mainを含むクラスは必要ありません。 import java.applet.Applet; import java.awt.Graphics; public class JavaApplet01 extends Applet{ public void paint(Graphics g){ g.drawString("Hello World",30,40); } appletの場合、mainを含むクラスは必要ありません。 java.applet と java.awt というパッケージを利用しています。 ファイル名はJavaApplet01.javaです。

実行例 (2/4) コンパイルする コンソールで、何時も通りにコンパイルします。 JavaApplet01.class ができます。 javac JavaApplet01.java コンソールで、何時も通りにコンパイルします。 JavaApplet01.class ができます。

実行例 (3/4) appletを埋め込むhtmlファイルを書く codeでclassファイル名を指定 <applet code="JavaApplet01.class" width=250 height=250> </applet> codeでclassファイル名を指定 widthとheightでbrowser上に表示するときのサイズを指定 テキストエディタで書いて下さい。 拡張子は html もしくは htm としましょう。 拡張子以外は自由につけてくだい。今回の例ではSample10.htmとしました。

実行例 (4/4) web browserでhtmlを読み込み、appletを実行する 普通に、Sample10.htm を web browser で開きます。 場合によっては、セキュリティーが云々と言うかも知れませんが、適時、処置して下さい。 今回の例では、 座標(30,40)あたりに Hello World という 文字列が表示されます。

appletの書き方 java.applet と java.awt というパッケージを利用します。 main というクラスは必要ありません。 その代わり、ある特定のメソッドを書くと、ある順番 通りに実行されていきます。 必要なメソッドだけを記述します。

標準メソッド paint()メソッド init()メソッド repaint()メソッド start()メソッド upate()メソッド 画面線画等の具体的な記述を行う。 repaint()メソッド 再線画を行うときに試用する。 upate()メソッド repaint()が実行されたときに実行される。 destroy()メソッド アプレットが終了するときに実 行される。 init()メソッド 初期化が必要な時に書く。 最初に1回だけ実行される。 start()メソッド init()メソッドの次に実行される。 また、実行が再開されたときに も実行される。 stop()メソッド アプレットの実行が中断したと き実行される。

標準メソッド 起動 init() repaint() start() paint() update() stop() destroy() 意図的な 再線画 起動 init() repaint() start() paint() update() 中断 stop() destroy() 終了 再開

GUIとSwing

Javaとアプレット Javaには、GUIを作るのに便利なクラスファイルやイン ターフェイスが準備されています。 AWTとSwingがあります。 AWTは、Javaに古くからあるものです。 あまり効率よく動いてはくれません。 SwingはAWTの欠点とかを改善するべく作られたも のです。 今回はSwingをやります

基本的な流れ 次のような手順を踏みます。 適切なインターフェースを実装する 適切なインスタンスを宣言する インスタンスを登録する インスタンスに何らかのアクションが行われたときに、 ある動作を行いたいなら Javaがそのアクションを関知するようにする (リスナ登録する) そのアクションが行われたときに、何をするか を記述する たとえば、ボタンのインスタンスを宣言。この時点では、まだ画面に出ません! これで画面に出ます

サンプルプログラム1 import java.applet.Applet; import java.awt.*; import java.awt.event.*; /* <applet code="Sample11a.class" width=200 height=400> </applet> */ public class Sample11a extends Applet{ Label lb1 = new Label("Sample11a"); String ss; public void init(){ add(lb1); lb1.setText("Test"); ss = lb1.getText(); } インスタンスを生成 インスタンスを登録 メソッドは、普通に、 インスタンス名.メソッド名 で使用。

サンプルプログラム2 [1/2] import java.applet.Applet; import java.awt.*; import java.awt.event.*; /* <applet code="Sample11b.class" width=200 height=400></applet> */ public class Sample11b extends Applet implements ActionListener{ Button bt1 = new Button("Button 1"); Button bt2 = new Button("Button 2"); Label lb1 = new Label("Sample11b"); public void init(){ bt1.addActionListener(this); bt2.addActionListener(this); add(bt1); add(bt2); add(lb1); } インターフェイス ActionListener を実装 インスタンスを生成 ボタンが押されたことを 検知するようにする インスタンスを登録

サンプルプログラム2 [2/2] public void actionPerformed(ActionEvent e){ if(e.getSource() == bt1){ lb1.setText("Bottun 01"); }else if(e.getSource() == bt2){ lb1.setText("Bottun 02"); } どのボタンが 押されたかで 条件分岐 ボタンが押されたときに行うことを書く