第3章Java和面向?qū)ο髉pt課件_第1頁
第3章Java和面向?qū)ο髉pt課件_第2頁
第3章Java和面向?qū)ο髉pt課件_第3頁
第3章Java和面向?qū)ο髉pt課件_第4頁
第3章Java和面向?qū)ο髉pt課件_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、任務(wù)任務(wù)66創(chuàng)建登錄界面中容器與組件創(chuàng)建登錄界面中容器與組件Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)知識(shí)目標(biāo)知識(shí)目標(biāo)能力目標(biāo)能力目標(biāo)了解了解AWTAWT和和SwingSwing的區(qū)別和聯(lián)系。的區(qū)別和聯(lián)系。掌握容器的概念及其分類。掌握容器的概念及其分類。掌握容器掌握容器JFameJFame、JPanelJPanel、JDialogJDialog的使用。的使用。掌握組件掌握組件JButtonJButton、JLabelJLabel、JTextFiledJTextFiled、JTextAreaJTextArea和和JPasswordFieldJPasswordField的使用

2、。的使用。掌握將組件添加到容器中方法。掌握將組件添加到容器中方法。素質(zhì)目標(biāo)素質(zhì)目標(biāo)協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力接受新知識(shí)、自主學(xué)習(xí)的能力接受新知識(shí)、自主學(xué)習(xí)的能力 圖形界面編程技巧圖形界面編程技巧 Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社6.1 6.1 任務(wù)描述任務(wù)描述本章所要完成的學(xué)習(xí)任務(wù)是創(chuàng)建用戶登錄界面中的容器與組件。用戶登錄界面設(shè)計(jì)為圖形用戶界面Graphics User Interface ,GUI),作為整個(gè)考試系統(tǒng)的入口,它需要用戶進(jìn)行必要的身份驗(yàn)證,因此包含了最基本的要素提供用戶名和密碼輸入的編輯區(qū)域,引導(dǎo)用戶進(jìn)入相應(yīng)功能模塊的【登錄】、【注冊(cè)】、【

3、取消】按鈕,如下圖。本章我們將學(xué)習(xí)如何構(gòu)建一個(gè)用戶登錄界面,以及創(chuàng)建界面上的相關(guān)組件 。Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社一個(gè)簡單的窗口程序一個(gè)簡單的窗口程序import java.awt.*;import javax.swing.*;public class BasicJFrame extends JFrame public BasicJFrame() public static void main(String args) BasicJFrame myBasicJFrame=new BasicJFrame(); myBasicJFrame.setBounds(0,0,300,

4、300); myBasicJFrame.setVisible(true); import java.awt.*;import javax.swing.*;public class BasicJFrame2 public static void main(String args) JFrame myBasicJFrame=new JFrame(); myBasicJFrame.setBounds(0,0,300,300); myBasicJFrame.setVisible(true); Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社添加組件添加組件ngetGlassPane()ngetLaye

5、redPane()ngetRootPane()ngetContentPane()組件的加入組件的加入Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社public class AddComponent extends JFramepublic AddComponent()public static void main(String args) import java.awt.*;import javax.swing.*;AddComponent myBasicJFrame=new AddComponent();myBasicJFrame.setBounds(0,0,300,300);myBasi

6、cJFrame.setVisible(true);JButton myButton1;JButton myButton2;Container con=getContentPane();con.setLayout(new FlowLayout();myButton1=new JButton(button 1);myButton2=new JButton(button 2);con.add(myButton1);con.add(myButton2);Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社圖形界面所需導(dǎo)入的圖形界面所需導(dǎo)入的PackagePackage java.awt.*; Contai

7、ner javax.swing.*; Swing components (JButton,JList,etc) java.awt.event.*; Event HandleJava程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社Swing 組件組件JButtonJCheckBoxJListJComboBoxJDialogJLabelJMenuJMenuItemJMenuBarJPanelJScrollBarJTableJTextAreaJTextFieldJToolBarJPanelJava程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社AWTAWT和和Swing AWTSwing AWTl AWT AWT

8、中的圖形函數(shù)與操作系統(tǒng)所提供的圖形函數(shù)之間有著一一對(duì)中的圖形函數(shù)與操作系統(tǒng)所提供的圖形函數(shù)之間有著一一對(duì)應(yīng)的關(guān)系應(yīng)的關(guān)系 l AWT AWT 通過犧牲功能來實(shí)現(xiàn)其平臺(tái)無關(guān)性通過犧牲功能來實(shí)現(xiàn)其平臺(tái)無關(guān)性 l AWTAWT不能滿足圖形化用戶界面發(fā)展的需要不能滿足圖形化用戶界面發(fā)展的需要 Unix-likeGUIWindowsGUIAWTJava程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社AWT按鈕Unix-like GUIWindows GUIAWT元件Windows GUI對(duì)等元件Unix-like GUI對(duì)等元件AWTAWT組件在不同操作系統(tǒng)的外觀不同組件在不同操作系統(tǒng)的外觀不同Java程序設(shè)計(jì)

9、項(xiàng)目化教程西安電子科技大學(xué)出版社AWTAWT和和Swing SwingSwing Swing框架框架 Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社AWTAWT和和Swing Swing 建立建立GUIGUI的步驟的步驟 l創(chuàng)建組件創(chuàng)建組件l將組件加入容器將組件加入容器l配置容器內(nèi)組件的位置配置容器內(nèi)組件的位置l處理由組件所產(chǎn)生的事件處理由組件所產(chǎn)生的事件Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社容容 器器 l頂層容器頂層容器JFrame JFrame 類)類) l 中間容器中間容器JPanelJPanel類)類) l 對(duì)話框?qū)υ捒騄OptionPaneJOptionPane)Java

10、程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社頂層容器頂層容器JFrame JFrame 類)類)Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社創(chuàng)建創(chuàng)建JFrameJFrame窗口窗口利用利用JFrameJFrame類一個(gè)窗口有兩種方法,類一個(gè)窗口有兩種方法,直接定義直接定義JFrameJFrame類的對(duì)象來創(chuàng)建一個(gè)窗口類的對(duì)象來創(chuàng)建一個(gè)窗口繼承繼承JFrameJFrame類來創(chuàng)建一個(gè)窗口類來創(chuàng)建一個(gè)窗口 Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 JFrameDemo1.javaJFrameDemo1.javalimport javax.swing.*;lpublic class

11、JFrameDemo1l public static void main( String args) lJFrame f = new JFrame(一個(gè)簡單窗口);lf.setLocation(300, 300);lf.setSize(300,200);lf.setResizable(false);lf.setVisible( true);lf.setDefaultCloseOperation(f.EXIT_ON_CLOSE);l lJava程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 JFrameDemo2.javaJFrameDemo2.javalimport javax.swing.

12、*;lclass MyFrame extends JFramel MyFrame(String title)l super(title);l setLocation(300,300);l setSize(300,200);l setResizable(false);l setVisible(true);l setDefaultCloseOperation(EXIT_ON_CLOSE);l llpublic class JFrameDemo2l public static void main( String args) l new MyFrame(一個(gè)簡單窗口);l lJava程序設(shè)計(jì)項(xiàng)目化教程

13、西安電子科技大學(xué)出版社中間容器中間容器JPanelJPanel類)類) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 TwoPanel.javaTwoPanel.javaimport java.awt.*;import javax.swing.*;class TwoPanel extends JFrame public TwoPanel( String title) super(title); public static void main(String args) TwoPanel fr=new TwoPanel(Two Panel測試測試); JPanel pan1 = new

14、 JPanel(); JPanel pan2 = new JPanel(); fr.setLayout(null); fr.getContentPane().setBackground(Color.green); fr.setSize(250,250); pan1.setLayout(null); pan1.setBackground(Color.red); pan1.setSize(150,150); pan2.setBackground(Color.yellow); pan2.setSize(50,50); pan1.add(pan2); fr.getContentPane().add(p

15、an1); fr.setVisible(true); Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社對(duì)話框?qū)υ捒騄OptionPaneJOptionPane) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社組組 件件 按鈕按鈕 (JButton類)類) 標(biāo)簽標(biāo)簽JLabe類)類) 文本組件文本組件JTextComponen類)類) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社按鈕按鈕 (JButtonJButton類)類)例如: JButton b1 = new JButton(確定);ImageIcon buttonIcon = new ImageIcon(Ok.gif);JButt

16、on b2 = new JButton(確定”, buttonIcon);Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社 標(biāo)簽標(biāo)簽JLabeJLabe類)類) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 JlabelDemo.javaJlabelDemo.javalimport javax.swing.*;lpublic class JLabelDemo extends JFramel JLabelDemo()l super(JLabel示例示例);lJPanel pan=new JPanel();lJLabel jlab1=new JLabel(文本標(biāo)簽文本標(biāo)簽);l Ima

17、geIcon icon = new ImageIcon(angel.gif);l JLabel jlab2 = new JLabel(這是圖標(biāo)文本標(biāo)簽這是圖標(biāo)文本標(biāo)簽, icon, SwingConstants.LEFT); l pan.add(jlab1);l pan.add(jlab2);l this.getContentPane().add(pan); l setLocation(300, 300);lsetSize(250,200);lsetResizable(false);lsetVisible( true);lsetDefaultCloseOperation(EXIT_ON_CLO

18、SE);l l public static void main( String args) lnew JLabelDemo ();l lJava程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社文本組件文本組件JTextComponenJTextComponen類)類) JTextComponent 常用方法常用方法 getText()返回此返回此 TextComponent 中包含的文本中包含的文本 setText(String) 將此將此 TextComponent 文本設(shè)置為指定文本文本設(shè)置為指定文本JTextField常用構(gòu)造函數(shù)及方法常用構(gòu)造函數(shù)及方法 JTextField (int)創(chuàng)建一個(gè)

19、空的文本區(qū)創(chuàng)建一個(gè)空的文本區(qū)JTextField (String, int)創(chuàng)建一個(gè)指定文本和字符數(shù)的文本區(qū)創(chuàng)建一個(gè)指定文本和字符數(shù)的文本區(qū)JPasswordField ( )創(chuàng)建一個(gè)空的密碼框創(chuàng)建一個(gè)空的密碼框char getPassword ( ) 返回密碼框中所包含的文本。返回密碼框中所包含的文本。void setEchoChar(char c) 設(shè)置密碼框的回顯字符。設(shè)置密碼框的回顯字符。JTextAread常用構(gòu)造函數(shù)及方法常用構(gòu)造函數(shù)及方法 JTextArea ( )創(chuàng)建一個(gè)空的文本區(qū)創(chuàng)建一個(gè)空的文本區(qū)JTextArea (int , int)創(chuàng)建一個(gè)指定行數(shù)創(chuàng)建一個(gè)指定行數(shù)和列數(shù)

20、的文本區(qū)和列數(shù)的文本區(qū)JTextArea (String , int, int)創(chuàng)建一個(gè)指定文本、行數(shù)和列數(shù)的文本區(qū)創(chuàng)建一個(gè)指定文本、行數(shù)和列數(shù)的文本區(qū)Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社6.3 6.3 任務(wù)實(shí)施任務(wù)實(shí)施Login_GUI.javaLogin_GUI.javal import java.awt.Font;l import java.awt.Toolkit;l import javax.swing.JButton;l import javax.swing.JFrame;l import javax.swing.JLabel;l import javax.swing.J

21、OptionPane;l import javax.swing.JPanel;l import javax.swing.JPasswordField;l import javax.swing.JTextField;l /定義主類定義主類l public class Login_GUIl public static void main(String args)l new LoginFrame();l l Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社/定義窗體定義窗體class LoginFrame extends JFrame private Toolkit tool; public Log

22、inFrame() int w,h;LoginPanel lp;setTitle(用戶登錄用戶登錄);tool = Toolkit.getDefaultToolkit(); setSize(300,200);/設(shè)置窗體居中顯示設(shè)置窗體居中顯示w= (Toolkit.getDefaultToolkit().getScreenSize().width - this.getWidth() / 2; h = (Toolkit.getDefaultToolkit().getScreenSize().height - this.getWidth()/2; setLocation(w, h);setResi

23、zable(false);lp = new LoginPanel(this);this.getContentPane().add(lp);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true); 6.3 6.3 任務(wù)實(shí)施任務(wù)實(shí)施Login_GUI.javaLogin_GUI.javaJava程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社6.3 6.3 任務(wù)實(shí)施任務(wù)實(shí)施Login_GUI.javaLogin_GUI.java /定義中間容器放置組件定義中間容器放置組件class LoginPanel extends JPanel private JLabel namelabel,pwdlabel,titlelabel; private JTextField namefield; private JPasswordField pwdfield; private JButton loginbtn,registerbtn,cancelbtn; private JFrame iframe; public LoginPanel(JFrame frame) iframe = frame;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論