記事本 物件導向系統實務.

Slides:



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

Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
多元評量與 Greenfoot 簡介 南港高中高慧君. 演講大綱 多元評量 高中階段程式設計教學目標與困境 Greenfoot 快速入門 – 袋熊吃樹葉 – 沙灘螃蟹 Greenfoot 臺灣社群介紹 2.
第四章 类、对象和接口.
第三讲 面向对象(上).
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
项目6 通用堆栈.
Java程序设计教程 第一讲 Java概述.
P2P文件共享系统 制作人:李洁顺 指导教师:杨淑萍 张 霞.
Java程序设计 常州信息职业技术学院(CCIT) 软件学院
四資二甲 第三週作業 物件導向程式設計.
面向对象的程序设计(一).
第12章 JDBC数据库应用程序设计.
第二十章 圖型介面與網路對播 (GUI and Intercross Transition) 20-1 簡介 20-2 ActionListener Interface 20-3 ActionEvent Class 20-4 Vector Class 20-5 圖型介面與視窗關閉 20-6 圖型介面與資料顯示.
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
6.5 图形界面的布局设计 每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。
第一章 面向对象程序设计.
第11章 Java多媒体技术.
第6章 图形用户界面设计 6.1 图形用户界面概述 6.2 GUI标准组件的使用 6.3 Java的事件处理 6.4 窗口及菜单设计
第 18 章 圖形使用者介面.
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之二).
第二章 JAVA语言基础.
第二部分 Java语言基础篇 第4章 Java语言与面向对象 (之一).
Ch07 介面與多重繼承 物件導向程式設計(II).
Java语言程序设计 马 皓
第9章 图形用户界面(GUI)设计.
Ch02 視窗Swing套件 物件導向系統實務.
Java语言程序设计-图形用户界面设计(2)
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
JAVA语言程序设计 第9章 图形用户界面 郑 莉.
问题 Jdbc连接数据库 下载数据库的驱动 Sql server 在微软的网站上可以下载 Sqlserver for jdbc driver
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
Ch07 Java Applets 物件導向系統實務.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
第六章 窗口系统和用户界面管理系统 山东大学计算机学院.
SWING 2018/11/23.
电子商务技术基础 张宝明.
程式設計實作.
Java程序设计 第15章 创建用户界面.
記事本 物件導向系統實務.
Java程序设计 第9章 继承和多态.
JAVA 2 新觀念教本 ---邁向SCJP專業認證--- 易瓏資訊 林新德 著.
中国矿大计算机学院杨东平 第5章 接口和包 中国矿大计算机学院杨东平
Java程序设计 第12章 图形用户界面设计入门.
AWT Event Model.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
Ch04 事件處理 物件導向系統實務.
CH03 為自己的視窗加上小元件 物件導向系統實務.
P2P文件共享系统 制作人:李洁顺 指导教师:杨淑萍 张 霞.
Ch02-基礎語法.
CH04 視窗中元件排排坐 物件導向系統實務.
C/C++/Java 哪些值不是头等程序对象
事件處理.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第十章 基于Swing的图形用户界面设计.
Multithread 多執行緒 以GUI為例了解物件以及Event
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第二章Java基本程序设计.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
第二章 Java语法基础.
第二章 Java基本语法 讲师:复凡.
第十二章 JFC/Swing 概述  Swing组件  Swing应用程序结构  JComponent类.
第二章 Java基本语法 讲师:复凡.
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
判斷(選擇性敘述) if if else else if 條件運算子.
第二章 Java基础语法 北京传智播客教育
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
Presentation transcript:

記事本 物件導向系統實務

JTEXTCOMPONENT 文字元件 JTextField :文字方塊 JPasswordField:密碼欄位 2018/11/30 JTextField :文字方塊 JPasswordField:密碼欄位 JTextArea:文字區域 JComponent JTextComponent JTextField JPasswordField JTextArea

JTEXTFIELD與JPASSWORDFIELD 2018/11/30 JTetField:輸入或顯示一行可捲動的文字內容 JPasswordField:與JTextField相同,只是輸入的 文字用替代字元顯示 建構子: JTextField() JTextField(String) //String是欄位初值 JTextField(int) //int 是欄位寬度 JTextField(String, int) JPasswordField() JPasswordField(String) JPasswordField(int) JPasswordField(String, int)

JTEXTFIELD與JPASSWORDFIELD常用的方法 說明 void setText(String) 設定JTextField欄位內容 String getText() 取得JTextField欄位內容 String getPassword() 取得JPasswordField欄位內容 void setEditable(boolean) 設定欄位是否可以編輯 boolean isEditable() 檢查欄位是否可以編輯 void setColumns(int) 設定欄位寬度 int getColumns() 取得欄位寬度 void setHorizontalAlignment(int) JTextField.LEFT:字元靠左 int getHorizontalAlignment() 取得文字內容的對齊方式 void setEchoChar(char) 設定JPasswordField的替代字元 char getEchoChar() 取得JPasswordField的替代字元 void setActionCommand(String) 設定欄位對應的命令字串 String getActionCommand() 取得欄位對應的命令字串 void addActionListener(ActionListener) 新增傾聽者,當按下enter執行動作 void removeActionListener() 刪除欄位的傾聽者物件 2018/11/30

範例1: 文字方塊 2018/11/30 nameLabel = new JLabel("使用者帳號: "); textField = new JTextField(10); textField.addActionListener(this); passwordLabel = new JLabel("使用者密碼: "); passwordField = new JPasswordField(10); passwordField.addActionListener(this); passwordResult = new JLabel("尚未輸入資料!"); textFieldPanel = new JPanel(new FlowLayout()); textFieldPanel.add(nameLabel); textFieldPanel.add(textField); textFieldPanel.add(passwordLabel); textFieldPanel.add(passwordField); textFieldPanel.add(passwordResult); c.add(textFieldPanel); } public void actionPerformed(ActionEvent e) { if(e.getSource() == textField) { textField.setFocus(false); passwordField.setFocus(true); if(passwordField.getText().equals("")) passwordResult.setText("密碼尚未輸入,使用者是"+textField.getText()); else passwordResult.setText("使用者是" + textField.getText() + " , 密碼是" + passwordField.getText()); if(e.getSource() == passwordField) { if(textField.getText().equals("")) passwordResult.setText("使用者帳號尚未輸入,密碼是" + passwordField.getText()); import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; class TextWin { public static void main(String [] args) MyWin win = new MyWin("文字區練習"); win.setSize(200, 200); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); win.setVisible(true); } class MyWin extends JFrame implements ActionListener private Container c; private JPanel textFieldPanel ; private JLabel nameLabel; private JTextField textField; private JLabel passwordLabel; private JPasswordField passwordField; private JLabel passwordResult; MyWin(String title) super(title); c = getContentPane(); 2018/11/30

JTEXTAREA文字區域 JTextArea文字區域:可以輸入或顯示多行文字 2018/11/30 JTextArea文字區域:可以輸入或顯示多行文字 使用”\n”或”\n\r”或”\r”符號換行(視作業系統而定) 建構子: JTextArea() JTextArea(String) JTextArea(int, int) JTextArea(String, int,int)

JTEXTAREA常見的方法 方法 說明 void append(String) 新增內容到TextArea最後 void insert(String, int) 在int的位置插入String void replaceRange(String int,int) 從第1個int 到第2個取代成String String getText() 取得TextArea的內容 void setFont(Font) 設定顯示文字為Font物件 void setRows(int) 設定int列 int getRows() 取得欄位的列數 void setColumns(int) 設定欄寬 int getColumns() 取得欄寬 int getLineCount() 取得行數 void setLineWrap(boolean) 設定是否自動換行 boolean getLineWrap() 取得是否自動換行 void setTabSize(int) 設定Tab代表幾個字元 int getTabSize() 取得Tab代表幾個字元 2018/11/30

範例2:文字區域 2018/11/30 MyWin(String title) { super(title); c = getContentPane(); originalTextArea = new JTextArea("輸入文字", 10, 5); copyTextArea = new JTextArea(10, 5); button = new JButton("輸入完成,複製"); button.addActionListener(this); textAreaPanel = new JPanel(new GridLayout(3,1)); textAreaPanel.add(originalTextArea); textAreaPanel.add(button); textAreaPanel.add(copyTextArea); c.add(textAreaPanel); } public void actionPerformed(ActionEvent e) if(e.getSource() == button) copyTextArea.setText(originalTextArea.getText()); //JTextArea練習 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; class TextAreaWin { public static void main(String [] args) MyWin win = new MyWin("文字區練習"); win.setSize(400, 400); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); win.setVisible(true); } class MyWin extends JFrame implements ActionListener private Container c; private JPanel textAreaPanel ; private JTextArea originalTextArea; private JButton button; private JTextArea copyTextArea; 2018/11/30

JSCROLLBAR捲動軸元件 JScrollBar元件繼承Jcomponent元件 建構子: JScrollBar() 2018/11/30 JScrollBar元件繼承Jcomponent元件 建構子: JScrollBar() JScrollBar(int) JScrollBar(int, int, int, int, int) 第1個int是捲軸的方向:JScrollBar.VERTICAL,JScrollBar.HORIZONTAL 第2個int是初值 第3個int是可見區域 第4,5個int是最大值和最小值

JSCROLLPANE水平和垂直捲軸 JScrollPane可以為元件同時加上水平和垂直的捲軸 建構子: JScrollPane() 2018/11/30 JScrollPane可以為元件同時加上水平和垂直的捲軸 建構子: JScrollPane() JScrollPane(Component )

範例3: 加上捲軸 2018/11/30 MyWin(String title) { super(title); c = getContentPane(); originalPanel = new JPanel(new BorderLayout()); originalTextArea = new JTextArea("輸入文字", 10, 5); scroll1 = new JScrollPane(originalTextArea); originalPanel.add(scroll1, BorderLayout.CENTER); copyPanel = new JPanel(new BorderLayout()); copyTextArea = new JTextArea("waiting",10, 5); scroll2 = new JScrollPane(copyTextArea); copyPanel.add(scroll2, BorderLayout.CENTER); buttonPanel = new JPanel(); button = new JButton("輸入完成,複製"); button.addActionListener(this); buttonPanel.add(button); textAreaPanel = new JPanel(new GridLayout(3,1)); textAreaPanel.add(originalPanel); textAreaPanel.add(buttonPanel); textAreaPanel.add(copyPanel); c.add(textAreaPanel); } public void actionPerformed(ActionEvent e) { if(e.getSource() == button) copyTextArea.setText(originalTextArea.getText()); 範例3: 加上捲軸 //JTextArea練習+JScrollPane import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; class TextAreaScrollWin { public static void main(String [] args) { MyWin win = new MyWin("文字區練習"); win.setSize(400, 400); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); win.setVisible(true); } class MyWin extends JFrame implements ActionListener { private Container c; private JPanel textAreaPanel ; private JPanel originalPanel; private JPanel copyPanel; private JPanel buttonPanel; private JTextArea originalTextArea; private JButton button; private JTextArea copyTextArea; private JScrollPane scroll1; private JScrollPane scroll2; 2018/11/30

JRadioButtonMenuItem 視窗功能表 2018/11/30 JComponent AbstractButton JMenuItem JCheckBoxMenuItem JRadioButtonMenuItem JMenu JMenuBar JPopupMenu JToolBar JSeparator

JPOPUPMENU彈出式選單元件 2018/11/30