版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,GUI編程 常用組件,2,常用Swing組件,JLabel JButton JCheckbox JRadioButton ButtonGroup JTextField JPasswordField JTextArea,JScrollPane JList JComboBox JSlider 對(duì)話框 菜單,3,標(biāo)簽JLabel,構(gòu)造方法: JLabel(String text):文本標(biāo)簽 JLable(Icon icon):圖標(biāo)標(biāo)簽 JLabel(String text,Icon icon,int align):text表示使用的字符串,icon表示使用的圖標(biāo),align表示水平對(duì)齊方式:LE
2、FT,RIGHT,CENTER,4,JLabel常用方法,public void setText(String text)定義這個(gè)組件將顯示的單行文字。 public String getText() 返回標(biāo)簽顯示的文字。 public Icon getIcon() 返回標(biāo)簽顯示的圖像。 public void setIcon(Icon icon)定義這個(gè)組件將顯示的圖標(biāo)。,5,import javax.swing.*; import java.awt.*; public class JLabelDemo public static void main(String args) JFrame
3、jf=new JFrame(Label Demo); Container c = jf.getContentPane(); JLabel l1,l2,l3; l1=new JLabel(); l1.setText(歡迎來到j(luò)ava世界); l1.setHorizontalAlignment(JLabel.CENTER); l2=new JLabel(頭像,JLabel.CENTER); Icon icon = new ImageIcon(images/m1.gif); l3=new JLabel(JAVA,icon,Label.LEFT); c.add(l1,BorderLayout.NORT
4、H); c.add(l2,BorderLayout.WEST); c.add(l3,BorderLayout.EAST); jf.pack(); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); ,6,按鈕JButton,按鈕是GUI中非常重要的一種基本組件。按鈕一般對(duì)應(yīng)一個(gè)事先定義好的事件、執(zhí)行功能、一段程序。當(dāng)使用者單擊按鈕時(shí),系統(tǒng)自動(dòng)執(zhí)行與該按鈕聯(lián)系的程序,從而完成預(yù)定的功能。,7,JButton構(gòu)造方法,JButton(): JButton(Icon icon):圖標(biāo)按鈕 JButton(St
5、ring text):文本按鈕 JButton(String text,Icon icon):圖標(biāo)文本按鈕,8,JButton使用,在JButton按鈕的使用中,常用到繼承來的setMnemonic()(設(shè)置快捷字母鍵)、setActionCommand()(設(shè)置動(dòng)作命令)方法等。 JButton組件引發(fā)的事件為ActionEvent,可實(shí)現(xiàn)ActionListener監(jiān)聽器接口的actionPerformed()方法,用addActionListener()方法注冊(cè),用getActionCommand()或getSource()方法確定事件源。,9,實(shí)例,設(shè)計(jì)一個(gè)GUI應(yīng)用程序,有兩個(gè)標(biāo)簽l
6、1、l2和三個(gè)按鈕b1,b2,b3。l1標(biāo)簽顯示固定的文字,l2標(biāo)簽的文字隨選擇不同的按鈕而變化;選擇b1按鈕時(shí),l2標(biāo)簽顯示為“歡迎進(jìn)入Java世界”,選擇b2按鈕時(shí),l2標(biāo)簽顯示當(dāng)前的日期,選擇b3按鈕時(shí),退出該應(yīng)用程序。,JButtonDemo.java,10,實(shí)例,帶圖形和HTML文字的按鈕。 程序中使用了類IconImage和指定圖標(biāo)圖像文件名來創(chuàng)建圖標(biāo)圖像對(duì)象,程序的運(yùn)行結(jié)果如下圖所示。,JButtonDemo1.java,11,復(fù)選框JCheckbox,JCheckBox類提供復(fù)選框按鈕的支持。復(fù)選框按鈕是具有開關(guān)或真假狀態(tài)的按鈕。,12,構(gòu)造方法,JCheckbox():空復(fù)選
7、框 JCheckbox(String label);有文本的復(fù)選框 JCheckbox(String label,boolean state) :有文本的,是否被選中的復(fù)選框,13,常用方法與事件,JCheckBox類常用的方法有繼承來的方法isSelected(),其格式為: public boolean isSelected()當(dāng)復(fù)選框按鈕選中時(shí)返回true,否則返回false。 JCheckBox類的選擇事件是ItemEvent ,可實(shí)現(xiàn)ItemListener監(jiān)聽器接口的itemStateChanged()方法來處理事件,用addItemListener()方法注冊(cè)。,14,實(shí)例,選擇
8、粗體、斜體復(fù)選框按鈕,改變文本框中顯示文字的字形。,JCheckboxDemo.java,15,JRadioButton與ButtonGroup,在一組單選按鈕中,可進(jìn)行選擇其中一個(gè)的操作,即進(jìn)行“多選一”。 因?yàn)閱芜x按鈕是在一組按鈕中選擇一個(gè),因此,必須將單選按鈕分組,即指明在一個(gè)組中包含哪些按鈕。可用ButtonGroup創(chuàng)建按鈕組對(duì)象,應(yīng)用對(duì)象的add()方法順序加入各個(gè)單選按鈕。 單選按鈕的選擇事件是ActionEvent類事件。,16,JRadioButton構(gòu)造方法,JRadioButton ():空單選按鈕 JRadioButton (String label);有文本的單選按鈕
9、 JRadioButton (String label,boolean state) :有文本的,是否被選中的單選按鈕,17,示例,18,實(shí)例,使用單選按鈕來選擇用戶身份。,JRadioButtonDemo.java,19,JTextField、JPassWord和JTextArea,Java語(yǔ)言提供了單行文本框、口令框和多行文本框等文本框形式,它們都是人機(jī)交互的主要組件。,20,單行文本框 JTextField,單行文本框一般用來讓用戶輸入如姓名、地址這樣的信息,它是一個(gè)能夠接收用戶的鍵盤輸入的單行文本區(qū)域。 構(gòu)造方法: JTextField():空文本框 JTextField(int co
10、lumns):指定長(zhǎng)度。 JTextField(String text):指定文本 JTextField(String text,int columns): 指定文本內(nèi)容并指定長(zhǎng)度,21,常用方法,public void setText(String s)在文本框中顯示字符串s。 public String getText()獲得文本框中的字符串。,22,密碼框JPasswordField,單行口令文本框JPasswordField類是JTextField類的子類。在JPasswordField對(duì)象中輸入的文字會(huì)被其他字符替代,這個(gè)組件常用來在Java程序中輸入口令。 JPasswordFie
11、ld類的構(gòu)造方法與JTextField類的構(gòu)造方法類似。,23,常用方法,char getPassword() 返回輸入的口令。 char getEchoChar() 返回輸入文本時(shí)回顯在框中的字符?;仫@字符缺省為字符“*”。 void setEchoChar(char c) 設(shè)置回顯字符。,24,文本域JTextArea,JTextField 是單行文本框,不能顯示多行文本,如果想要顯示大段的多行文本,可以使用類JTextArea支持的多行文本框。 構(gòu)造方法: JTextArea ():空文本域 JTextArea (int rows,int cols):有行數(shù)、列數(shù)的文本域 JTextAr
12、ea (String text):有文本的文本域 JTextArea (String text, int rows,int cols),25,常用方法,多行文本框里文本內(nèi)容的獲得和設(shè)置,同樣可以使用 getText()和 setText() 兩個(gè)方法來完成。還可以用setEditable(boolean) 確定是否可對(duì)多行文本框的內(nèi)容進(jìn)行編輯。,26,滾動(dòng)窗格JScrollPane,多行文本框默認(rèn)是不會(huì)自動(dòng)折行的 (但可以輸入回車符換行),可以使用類 JTextArea 的 setLineWrap(boolean wrap)方法設(shè)置是否允許自動(dòng)折行。wrap為true時(shí)允許自動(dòng)折行。多行文本框
13、會(huì)根據(jù)用戶輸入的內(nèi)容自動(dòng)擴(kuò)展大小。若不自動(dòng)折行,那么多行文本框的寬度由最長(zhǎng)的一行文字確定的;若數(shù)據(jù)行數(shù)超過了預(yù)設(shè)的行數(shù),則多行文本框會(huì)擴(kuò)展自身的高度去適應(yīng)。換句話說,多行文本框不會(huì)自動(dòng)產(chǎn)生滾動(dòng)條。這時(shí),可用滾動(dòng)窗格 (JScrollPane) 來為多行文本框增加滾動(dòng)條。 滾動(dòng)窗格是一個(gè)能夠自己產(chǎn)生滾動(dòng)條的容器,通常只包容一個(gè)組件,并且根據(jù)這個(gè)組件的大小自動(dòng)產(chǎn)生滾動(dòng)條。,27,實(shí)例,用戶注冊(cè),JTextDemo.java,28,列表框JList,JList類支持的列表框是允許用戶從一個(gè)列表中選擇一項(xiàng)或多項(xiàng)的組件。顯示一個(gè)數(shù)組和向量的表是很容易的。列表框使用戶易于操作大量的選項(xiàng)。列表框的所有項(xiàng)目都
14、是可見的,如果選項(xiàng)很多,超出了列表框可見區(qū)的范圍,則列表框的旁邊會(huì)有一個(gè)滾動(dòng)條。,29,構(gòu)造方法,JList類的構(gòu)造方法如下: JList() 創(chuàng)建空模式的對(duì)象。 JList(Object listData) 構(gòu)造顯示指定數(shù)組listData中元素的JList對(duì)象。,30,實(shí)例,使用JList選擇城市,31,下拉列表框 JComboBox,構(gòu)造方法有四種,常用的有兩種: JComboBox()用缺省的數(shù)據(jù)模式創(chuàng)建組合框。 JComboBox(Object items)用指定數(shù)組創(chuàng)建組合框。,32,方法和事件,創(chuàng)建組合框后,可用方法setSelectedIndex(int anIndex)選定指
15、定下標(biāo)anIndex處的項(xiàng)目; 可用方法getSelectedIndex()獲得選定項(xiàng)目的數(shù)組下標(biāo);可用方法getSelectedItem()獲取選定的項(xiàng)目。 組合框事件是ActionEvent事件。事件處理方法與其他處理同類事件的方法類似。,33,實(shí)例,使用JComboBox。,34,菜單,菜單將一個(gè)應(yīng)用程序的命令按層次化管理并組織在一起,是一種常用的GUI組件。常見的菜單為下拉式菜單和彈出式菜單(快捷菜單)等。 下拉式菜單包含有一個(gè)菜單條(也稱為菜單欄,MenuBar),在菜單條上安排有若干個(gè)菜單(Menu),每個(gè)菜單又包含若干菜單項(xiàng)(MenuItem),每個(gè)菜單項(xiàng)對(duì)應(yīng)了一個(gè)命令或子菜單項(xiàng)
16、。它們構(gòu)成一個(gè)應(yīng)用程序的菜單系統(tǒng)。用鼠標(biāo)或鍵盤選擇對(duì)應(yīng)一個(gè)命令的菜單項(xiàng)與選擇一個(gè)按鈕類似。使用菜單系統(tǒng)可方便地向程序分布命令。 在構(gòu)建一個(gè)自己的菜單系統(tǒng)時(shí),可按照菜單系統(tǒng)的層次,一步一步地進(jìn)行。,35,添加菜單步驟,創(chuàng)建窗口 創(chuàng)建菜單欄 創(chuàng)建菜單 創(chuàng)建菜單項(xiàng) 將菜單項(xiàng)添加到菜單上 將菜單添加到菜單欄上 將菜單欄添加到窗口上,36,菜單欄JMenuBar,JMenuBar也是添加到容器的組件,并且只能通過JFrame這個(gè)根窗格來添加 JMenuBar不能直接添加到窗體中,用JFrame.setJMenuBar(菜單欄對(duì)象)來添加 JMenuBar由多個(gè)JMenu組成。,37,菜單JMenu,顯示
17、在JMenuBar下時(shí),它以文本字符串形式顯示 用戶單擊字符串時(shí),它以彈出式菜單顯示 JMenu菜單中包含若干菜單項(xiàng)(JMenuItem)和復(fù)選菜單項(xiàng)(JCheckBoxMenuItem),38,菜單項(xiàng)JMenuItem,JMenuItem是JMenu或JPopupMenu中的組件,通常以文本字符的形式顯示,可能帶有圖標(biāo)。,39,復(fù)選菜單JCheckBoxMenuItem,該組件用于創(chuàng)建復(fù)選菜單,此菜單項(xiàng)將復(fù)選框作為其項(xiàng)目。構(gòu)造方法: JCheckBoxMenuItem(String label); 名字為label的復(fù)選菜單,40,快捷菜單JPopupMenu,此組件用于顯示擴(kuò)展的“彈出式”
18、菜單,不是依附在某個(gè)菜單欄上而是在界面上的某個(gè)位置自由彈出的一種菜單。也可做快捷菜單,即在右擊鼠標(biāo)時(shí)將其激活,41,事件,為了檢測(cè)對(duì)菜單項(xiàng)作出的選擇,要監(jiān)聽菜單項(xiàng)ActionEvent事件,選擇一個(gè)菜單項(xiàng)正如選擇了一個(gè)JButton按鈕一樣。,42,實(shí)例,使用菜單,43,對(duì)話框,對(duì)話框是一種大小不能變化、不能有菜單的容器窗口,對(duì)話框不能作為一個(gè)應(yīng)用程序的主框架,而必須包含在其他的容器中。Java語(yǔ)言提供多種對(duì)話框類來支持多種形式的對(duì)話框。 JOptionPane類支持簡(jiǎn)單、標(biāo)準(zhǔn)的對(duì)話框;JDialog類支持定制用戶自己的對(duì)話框;JFileChooser類支持文件打開、保存對(duì)話框等。,44,JO
19、ptionPane對(duì)話框,JOptionPane提供的對(duì)話框是模式對(duì)話框。當(dāng)模式對(duì)話框顯示時(shí),它不允許用戶輸入到程序的其他的窗口。使用JOptionPane,可以創(chuàng)建和自定義問題、信息、警告和錯(cuò)誤等幾種類型的對(duì)話框。JOptionPane提供標(biāo)準(zhǔn)對(duì)話框的布局支持、圖標(biāo)、指定對(duì)話框的標(biāo)題和文本、自定義按鈕文本、允許自定義組件的對(duì)話框顯示、指定對(duì)話框在屏幕上的顯示位置等特性。,45,構(gòu)造方法,JOptionPane()創(chuàng)建具有測(cè)試信息的JOptionPane對(duì)象。 JOptionPane(Object message) 創(chuàng)建顯示message和缺省選項(xiàng)的JOptionPane對(duì)象。 JOption
20、Pane(Object message, int messageType) 創(chuàng)建以messageType類型顯示message和使用缺省選項(xiàng)的JOptionPane對(duì)象。 JOptionPane(Object message, int messageType, int optionType)創(chuàng)建顯示指定類型信息和指定選項(xiàng)類型的JOptionPane對(duì)象。 JOptionPane(Object message, int messageType, int optionType, Icon icon) 創(chuàng)建顯示指定類型信息和指定選項(xiàng)類型、圖標(biāo)的JOptionPane對(duì)象。,46,方法,要顯示簡(jiǎn)單的模式對(duì)話框,可以使用以
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年福建省重點(diǎn)學(xué)校高一語(yǔ)文分班考試試題及答案
- 2025蛋白酶體抑制劑心血管毒性監(jiān)測(cè)與管理專家共識(shí)解讀課件
- 邊防安檢安全培訓(xùn)課件
- 車險(xiǎn)保險(xiǎn)相關(guān)知識(shí)
- 2025年xx年執(zhí)業(yè)藥師繼續(xù)教育糖尿病的藥物治療管理考試題及答案
- 海南紀(jì)委筆試題
- 車間防中暑安全培訓(xùn)課件
- 車間維修工培訓(xùn)
- 酒店客房維修及保養(yǎng)制度
- 酒店設(shè)備設(shè)施維修制度
- 安措費(fèi)清單完整版本
- 食品安全管理制度打印版
- 多聯(lián)機(jī)安裝施工方案
- 神經(jīng)內(nèi)科品管圈成果匯報(bào)-提高腦卒中偏癱患者早期自我肢體功能鍛煉規(guī)范執(zhí)行率
- 缺血性腦卒中靜脈溶栓護(hù)理
- 電子電路基礎(chǔ)-電子科技大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 四年級(jí)科學(xué)上冊(cè)期末試卷及答案-蘇教版
- DB51T 2875-2022彩燈(自貢)工藝燈規(guī)范
- 小學(xué)數(shù)學(xué)人教版六年級(jí)上冊(cè)全冊(cè)電子教案
- 主要負(fù)責(zé)人重大危險(xiǎn)源安全檢查表
- 《工程經(jīng)濟(jì)學(xué)》模擬試題答案 東北財(cái)經(jīng)大學(xué)2023年春
評(píng)論
0/150
提交評(píng)論