CH03 為自己的視窗加上小元件 物件導向系統實務.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

第 2 章 Java 运行环境搭建 2.1 Java 的运行系统 2.1 Java 的运行系统 2.2 JDK 的安装与配置2.2 JDK 的安装与配置 2.3 Java 开发工具包 2.4 Java 源文件编辑环境的选择 2.5 Application 和 Applet 程序的编写与运行.
Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
多元評量與 Greenfoot 簡介 南港高中高慧君. 演講大綱 多元評量 高中階段程式設計教學目標與困境 Greenfoot 快速入門 – 袋熊吃樹葉 – 沙灘螃蟹 Greenfoot 臺灣社群介紹 2.
第四章 类、对象和接口.
第三讲 面向对象(上).
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第一單元 建立java 程式.
项目6 通用堆栈.
Java程序设计教程 第一讲 Java概述.
P2P文件共享系统 制作人:李洁顺 指导教师:杨淑萍 张 霞.
四資二甲 第三週作業 物件導向程式設計.
新闻写作的特点与技巧 主讲:毛兆宏.
Hello小程序的运行和编译 Java AppletJava小程序的构成 1、关键字
Part 2 開發Android應用程式的流程
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
6.5 图形界面的布局设计 每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。
第11章 Java多媒体技术.
第 18 章 圖形使用者介面.
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之二).
第二章 JAVA语言基础.
Ch07 介面與多重繼承 物件導向程式設計(II).
第三章 控制结构.
Ch06 人機介面_視窗程式設計(2) 物件導向系統分析與設計.
Ch02 視窗Swing套件 物件導向系統實務.
Java语言程序设计-图形用户界面设计(2)
Ch08 巢狀類別 物件導向程式設計(II).
程式設計實作.
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
Ch07 Java Applets 物件導向系統實務.
程式設計實作.
SWT-JFace 南京大学软件学院
CH09 套件 物件導向程式設計(II).
Java程序设计 第15章 创建用户界面.
記事本 物件導向系統實務.
記事本 物件導向系統實務.
Java程序设计 第9章 继承和多态.
類別的繼承 Vehicle Car.
中国矿大计算机学院杨东平 第5章 接口和包 中国矿大计算机学院杨东平
AWT Event Model.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
Ch04 事件處理 物件導向系統實務.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
P2P文件共享系统 制作人:李洁顺 指导教师:杨淑萍 张 霞.
Ch02-基礎語法.
CH04 視窗中元件排排坐 物件導向系統實務.
C/C++/Java 哪些值不是头等程序对象
第一單元 建立java 程式.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
Multithread 多執行緒 以GUI為例了解物件以及Event
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第二章Java基本程序设计.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
第二章 Java语法基础.
第二章 Java基本语法 讲师:复凡.
第十二章 JFC/Swing 概述  Swing组件  Swing应用程序结构  JComponent类.
第二章 Java基本语法 讲师:复凡.
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
第二章 Java基础语法 北京传智播客教育
第二章 Java基本语法 讲师:复凡.
Summary
InputStreamReader Console Scanner
Presentation transcript:

CH03 為自己的視窗加上小元件 物件導向系統實務

選擇前兩次介紹的各種建窗方式,建立一個視窗 2019/1/15 選擇前兩次介紹的各種建窗方式,建立一個視窗

  事件與傾聽者間的關係 屬java.awt.event.* 的mouseListener介面,介面中定義了mouseClick, mousePress…等方法 [按鈕1]委任一個 MouseListener 物件,以接收並回 應mouseClick 事件源 事件:敲擊滑鼠按鍵 (mouseClick)  屬java.awt.*的Button內的方法 addMouseListener(…) 按鈕1 接收及回應 mouseClick  MouseListener物件 委任一個 2019/1/15

2019/1/15 加入一個標籤元件

標籤JLABEL JLabel元件繼承自JComponent類別,可以顯示一段文字 內容或圖示 2019/1/15 JLabel元件繼承自JComponent類別,可以顯示一段文字 內容或圖示 JLabel label1 = new JLabel(“CLOSE”); JLabel label1 = new Jlabel(new ImageIcon(“red.gif”); javax.swing class JLabel static final int CENTER LEFT TOP BOTTOM RIGHT NORTH EAST SOUTH WEST   JLabel() JLabel(Icon image) JLabel(String text) JLabel(String text, Icon image) String getText() void setText()

範例1:加上一個標籤 import javax.swing.*; import java.awt.*; import java.awt.event.*; class Win6_1 { public static void main(String [] args) { MyJFrame6_1 f = new MyJFrame6_1(); f.setSize(200,300); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } class MyJFrame6_1 extends JFrame { JLabel label1; MyJFrame6_1() { super("Win6_1"); label1 = new JLabel("Hello JAVA World!!"); add(label1); 2019/1/15

2019/1/15 加入一個按鈕元件

按鈕元件JBUTTON 可以使用滑鼠按一下的按鈕元件,要完成可接收到按 鈕指令,需要三步驟: JButton類別: 2019/1/15 可以使用滑鼠按一下的按鈕元件,要完成可接收到按 鈕指令,需要三步驟: 建立JButton元件外觀 接上事件傾聽者 處理事件(寫程式,當發生按按鈕時,要做什麼) JButton類別: java.awt interface ActionListener void actionPerformed(ActionEvent e) javax.swing class JButton   JButton() JButton(String text) JButton(ImageIcon image) JButton(String text, ImageIcon image) String getText() void setText(String text) char getMnemonic() setMnemoic(int key) addActionListener(ActionListener ac)

範例2:將範例1的視窗加上一個按鈕 import javax.swing.*; import java.awt.*; import java.awt.event.*; class Win6_2 { public static void main(String [] args) { MyJFrame6_2 f = new MyJFrame6_2(); f.setSize(200,300); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } class MyJFrame6_2 extends Jframe implements ActionListener { JLabel label1; JButton button1; MyJFrame6_2() { super("Win6_2"); label1 = new JLabel("Hello JAVA World!!"); add(label1); button1 = new JButton("按我"); button1.addActionListener(this); add(button1); public void actionPerformed(ActionEvent e) { label1.setText("你按到按鈕了"); 2019/1/15

討論: 2019/1/15 範例2的執行結果怪怪的?   我們需要為視窗作一個版面配置

版面配置LAYOUT MANAGER 版面配置管理員(Layout Manager)可以編排新增的 元件 2019/1/15 版面配置管理員(Layout Manager)可以編排新增的 元件 不同的版面配置管理員,擁有不同預設的編排方式, 只需依照需求選擇使用的版面配置管理員,就可以編 排出漂亮的GUI介面 FlowLayout版面配置 java.awt class FlowLayout static final int LEFT RIGHT CENTER   FlowLayout() FlowLayout(int align) FlowLayout(int align, int hgap,int vgap)

範例3:為範例2的視窗加上FLOWLAYOUT import javax.swing.*; import java.awt.*; import java.awt.event.*; class Win6_3 { public static void main(String [] args) { MyJFrame6_3 f = new MyJFrame6_3(); f.setSize(200,300); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } class MyJFrame6_3 extends Jframe implements ActionListener { JLabel label1; JButton button1; MyJFrame6_3() { super("Win6_3"); this.setLayout(new FlowLayout(FlowLayout.CENTER)); label1 = new JLabel("Hello JAVA World!!"); add(label1); button1 = new JButton("按我"); button1.addActionListener(this); add(button1); public void actionPerformed(ActionEvent e) { label1.setText("你按到按鈕了"); 2019/1/15

作業 2019/1/15 修改範例3,使得每按一次按鈕,標籤就會出現 “你按了?次按鈕”