《Java程序設(shè)計(jì)》課件-cp9GUI組件_第1頁
《Java程序設(shè)計(jì)》課件-cp9GUI組件_第2頁
《Java程序設(shè)計(jì)》課件-cp9GUI組件_第3頁
《Java程序設(shè)計(jì)》課件-cp9GUI組件_第4頁
《Java程序設(shè)計(jì)》課件-cp9GUI組件_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第九章

GUI組件

Java程序設(shè)計(jì)本章主要內(nèi)容

常用控制組件菜單工具欄對(duì)話框圖形圖像的顯示小結(jié)2024/12/24李飛——計(jì)算中心2/30常用控制組件容器組件可以設(shè)置界面的布局??刂平M件為用戶提供的控制程序執(zhí)行過程的功能。常用控制組件包括:標(biāo)簽:顯示輸出信息按鈕:啟動(dòng)程序功能文本框:獲取用戶輸入的簡單信息文本區(qū):獲取用戶輸入的復(fù)雜信息列表框:顯示多個(gè)選項(xiàng)供用戶選擇組合框:包含多個(gè)選項(xiàng),但僅顯示一個(gè)選項(xiàng)供用戶選擇單選按鈕和復(fù)選框:顯示一個(gè)或多個(gè)選項(xiàng)供用戶選擇。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心3/351標(biāo)簽標(biāo)簽用來向用戶傳遞一些提示性的信息,用戶對(duì)標(biāo)簽上顯示的內(nèi)容只能看不能改。標(biāo)簽類常用構(gòu)造方法2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心4/35方法功能說明Label()創(chuàng)建一個(gè)空標(biāo)簽。Label(Stringtext)創(chuàng)建一個(gè)內(nèi)容為text的標(biāo)簽。label(Stringtext,intalignment)創(chuàng)建一個(gè)內(nèi)容為text的標(biāo)簽,且文字根據(jù)alignment指定的方式對(duì)齊,alignment可以取CENTER,LETF和RIGHT。JLabel(Iconimage)創(chuàng)建具有指定圖像的標(biāo)簽。標(biāo)簽類常用的方法方法功能說明getAlignment()獲得標(biāo)簽中文字的對(duì)齊方式,僅用于Label。setAlignment(intalignment)設(shè)置標(biāo)簽中文字的對(duì)齊方式,僅用于Label。getText()返回該標(biāo)簽所顯示的文本字符串。setText(Stringtext)返回該標(biāo)簽所顯示的文本字符串。getIcon()返回該標(biāo)簽顯示的圖形圖像(字形、圖標(biāo)),僅用于JLabel。setIcon(Iconicon)定義此組件將要顯示的圖標(biāo),僅用于JLable。setFont(Fontf)設(shè)置標(biāo)簽的字體。setBackground(Colorc)設(shè)置標(biāo)簽背景。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心5/35和顯示輸出相關(guān)的類和方法Font類:是java.awt包中的一個(gè)用于描述文字的字體字號(hào)等文字顯示形式的類。構(gòu)造方法:Font(Stringname,intstyle,intsize)參數(shù)name表示字體的名稱,如“宋體”。參數(shù)style表示字體的顯示形式,它可以取下面幾個(gè)常量之一。Font.BOLD:表示字體加粗。Font.ITALIC:表示字體傾斜。Font.PLAIN:表示正常字體,也是Font字體的默認(rèn)值。參數(shù)size表示字體的大小,其單位為磅,要求為正整數(shù),size值越大表示字越大。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心6/35和顯示輸出相關(guān)的類和方法Color類:是AWT包中的一個(gè)類,它用于描述顏色。構(gòu)造方法:Color(intr,intg,intb)其中的r、g、b分別代表紅色,綠色和藍(lán)色的濃度,它們的取值范圍為0~255。例9.12024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心7/352按鈕

Java中用來實(shí)現(xiàn)按鈕的組件有AWT包中的Button類和Swing包中的JButton類。按鈕類常用的構(gòu)造方法2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心8/35方法功能說明Button()創(chuàng)建一個(gè)沒有標(biāo)題的按鈕。Button(Stringtext)創(chuàng)建一個(gè)內(nèi)容為text的按鈕。JButton(Iconicon)創(chuàng)建一個(gè)帶圖標(biāo)的按鈕,圖標(biāo)由icon指定。JButton(Stringtext,Iconicon)創(chuàng)建一個(gè)能夠顯示text和圖標(biāo)icon的按鈕。按鈕類常用的方法方法功能說明getLabe()獲取按鈕上顯示的文字。setLabel()設(shè)置按鈕上顯示的文字。addActionListener(ActionListenerl)為按鈕注冊(cè)ActionListener類監(jiān)聽器l。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心9/353文本框

Java通過TextField類和JTextField類實(shí)現(xiàn)了文本框的功能。文本框組件通常可以注冊(cè)ActionListener事件監(jiān)聽器,并通過ActionListener中的actionPerformed()方法實(shí)現(xiàn)對(duì)事件的響應(yīng)。單行文本框的常用方法2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心10/35方法功能說明TextField()構(gòu)造空文本框。TextField(intcolumns)構(gòu)造具有指定列數(shù)的新空文本框。TextField(Stringtext)構(gòu)造使用指定文本初始化的新文本框。TextField(Stringtext,intcolumns)構(gòu)造具有指定文本初始化的新文本框,并指定文本框的寬度。單行文本框的常用方法(例9.3)方法功能說明getColumns()返回此TextField中的列數(shù)。setColumns(intcolumns)設(shè)置此TextField中的列數(shù)。setText(Stringt)設(shè)置t的值為指定文本。getText()返回文本框表示的文本。setEchoChar(charc)設(shè)置此文本字段的回顯字符為參數(shù)c指定的字符,如果c=0則按原樣回顯,僅TextField類支持。getEchoChar()獲取用于回顯的字符,僅TextField類支持。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心11/354文本區(qū)常用的文本區(qū)構(gòu)造方法如下1.構(gòu)造一個(gè)空文本區(qū)。TextArea()

構(gòu)造一個(gè)指定行數(shù)和列數(shù)的空文本區(qū)。TextArea(introws,intcolumns)

構(gòu)造一個(gè)具有指定文本的文本區(qū)。TextArea(Stringtext)構(gòu)造一個(gè)具有指定的行數(shù)和列數(shù)和指定文本的文本區(qū)。TextArea(Stringtext,introws,intcolumns)構(gòu)造一個(gè)具有指定文本,指定行數(shù)、列數(shù)和滾動(dòng)條的文本區(qū)。TextArea(Stringtext,introws,intcolumns,intscrollbars)2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心12/35文本區(qū)的常用方法方法功能說明getColumns()返回此文本區(qū)的列數(shù)。setColumns(intcolumns)設(shè)置此文本區(qū)的列數(shù)。getRows()返回此文本區(qū)的行數(shù)。setRows(introws)設(shè)置此文本區(qū)的行數(shù)。append(Stringstr)將給定文本追加到文檔結(jié)尾。setText(Stringt)設(shè)置t的值為指定文本。getText()返回文本框表示的文本。insert(Stringstr,intpos)在此文本區(qū)的指定的參數(shù)pos位置插入指定文本str的值。replaceRange(Stringstr,intstart,intend)用指定替換文本str替換指定開始位置start與結(jié)束位置end之間的文本。getScrollbarVisibility()求TextArea文本框的滾動(dòng)條狀態(tài)。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心13/35文本區(qū)操作相關(guān)對(duì)象

需要注意的是,getScrollbarVisibility()方法僅適用于TextArea。而且getScrollbarVisibility()方法的返回值是一個(gè)文本區(qū)使用何種滾動(dòng)條的枚舉值。它只能是以下四個(gè)之一:

SCROLLBARS_BOTH:表示有水平和垂直滾動(dòng)條。SCROLLBARS_VERTICAL_ONLY:表示只有水平滾動(dòng)條。SCROLLBARS_HORIZONTAL_ONLY:表示只有垂直滾動(dòng)條。SCROLLBARS_NONE:表示沒有滾動(dòng)條。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心14/355列表框列表框可以顯示多行文本,并且允許用戶可以從中選擇一項(xiàng)或多項(xiàng)。列表框的構(gòu)造方法

List():創(chuàng)建空列表。List(introws) :創(chuàng)建指定可視行數(shù)為rows行的列表。

List(introws,booleanmultipleMode):創(chuàng)建指定可視行數(shù)為rows行的列表,并通過參數(shù)multipleMode指定用戶是否可以選擇列表框中的多項(xiàng)。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心15/35列表框List常用的方法方法說明replaceItem(StringnewValue,intindex)用newValue替換索引為inde的項(xiàng)。addActionListener(ActionListenerl)為列表注冊(cè)動(dòng)作事件監(jiān)聽器l。addItemListener(ItemListenerl)為列表注冊(cè)條目變化事件項(xiàng)偵聽器l。setMultipleMode(booleanb)設(shè)置列表是否可以多項(xiàng)選擇的標(biāo)志。add(Stringitem)向列表的末尾添加指定的項(xiàng)item。add(Stringitem,intindex)向列表中索引指示的index位置添加指定的項(xiàng)item。select(intindex)選擇列表中索引為index處的項(xiàng)。getItem(intindex)獲取與index索引關(guān)聯(lián)的項(xiàng)。getItemCount()獲取列表中的項(xiàng)數(shù)。getItems()返回包含列表中的所有項(xiàng)String數(shù)組。getRows()獲取此列表中的可視行數(shù)。getSelectedIndex()獲取列表中選中項(xiàng)的索引。getSelectedIndexes()返回列表中選中項(xiàng)的索引的int數(shù)組。getSelectedItem()獲取此列表中選中的項(xiàng)。getSelectedItems()求列表中被選中項(xiàng)組成的字符串?dāng)?shù)組。isIndexSelected(intindex)確定是否已選中索引為index的項(xiàng)。remove(intposition)從列表中移除索引為position的項(xiàng)。remove(Stringitem)從列表中移除內(nèi)容為item的第一項(xiàng)。removeAll()從列表中移除所有項(xiàng)。isMultipleMode()確定此列表是否允許進(jìn)行多項(xiàng)選擇。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心16/35JList的用法JList與List有所不同。JList通過使用ListModel保存它的可選項(xiàng),ListModel是一個(gè)接口。程序員需通過ListModel對(duì)象操作列表框。JList的構(gòu)造方法

JList():創(chuàng)建一個(gè)空J(rèn)List列表。JList(Object[]listData):構(gòu)造一個(gè)顯示指定數(shù)組listData中的元素的JList。例9.6,例9.7(說明了List和Jlist的使用方法)2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心17/35JList的常用方法方法說明getModel()求保存JList組件顯示的項(xiàng)列表的ListModel。getSelectedIndex()獲取列表中選中項(xiàng)的索引。getSelectedIndices()返回所選的全部索引的數(shù)組(按升序排列)。getSelectedValue()只選擇了列表中單個(gè)項(xiàng)時(shí),返回所選值。setSelectedIndex(intindex)選擇指定索引index單個(gè)選項(xiàng)。setSelectedIndices(int[]indices)將選擇更改為給定數(shù)組所指定的索引的集合。getSelectedValues()返回所有選擇值的Object類型的數(shù)組,并根據(jù)列表中的索引順序按升序排序。isSelectedIndex(intindex)判定指定index的項(xiàng)是否被選中,如果選擇了指定的索引,則返回true;否則返回false。isSelectionEmpty()判斷用戶是否選擇了選項(xiàng),是則返回true;否則返回false。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心18/35Jlist的操作方法創(chuàng)建DefaultListModel對(duì)象

ListModellm=newDefaultListModel(); ListModeljlstm=jlst.getModel();獲取列表框中原有的可選項(xiàng) for(inti=0;i<jlstm.getSize();i++)((DefaultListModel)lm).addElement(jlstm.getElementAt(i));在原有可選項(xiàng)基礎(chǔ)上追加新可選項(xiàng)(或進(jìn)行刪除等操作) ((DefaultListModel)lm).addElement(temp);用更改后的DefaultListModel對(duì)象更新列表框 jlst.setModel(lm);2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心19/359.1.6組合框組合框是一種下拉式菜單,程序中當(dāng)一個(gè)輸入框中的值只有若干種選擇的時(shí)候,可以將它們組織到組合框中,使用者只需從中選擇即可。Java通過Java的AWT包的Choice類和Swing包中的JComboBox類實(shí)現(xiàn)組合框的功能。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心20/35JComboBox的構(gòu)造方法

JComboBox():說明:創(chuàng)建具有默認(rèn)數(shù)據(jù)模型的JComboBox。

JComboBox(Object[]items):說明:創(chuàng)建包含指定數(shù)組items中的元素的JComboBox。例9.8,9.9演示了組合框的使用。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心21/35組合框JComboBox常用的方法方法說明addItem(ObjectanObject)為組合框添加項(xiàng)anObject。removeItem(ObjectanObject)從項(xiàng)列表中移除項(xiàng)anObject。removeItemAt(intanIndex)移除anIndex處的項(xiàng)。removeAllItems()從項(xiàng)列表中移除所有項(xiàng)。getItemAt(intindex)獲取index索引處的列表項(xiàng)。getItemCount()獲取列表中的項(xiàng)數(shù)。getSelectedIndex()求列表中與給定項(xiàng)匹配的第一個(gè)選項(xiàng)。getSelectedItem()返回當(dāng)前的所選項(xiàng)。getSelectedObjects()返回包含所選項(xiàng)的Object[]數(shù)組。setSelectedIndex(intanIndex)選擇索引anIndex處的項(xiàng)。setSelectedItem(ObjectanObject)將選中的選項(xiàng)保存為anObject對(duì)象。insertItemAt(ObjectanObject,intindex)在組合框中的給定索引處插入項(xiàng)。addActionListener(ActionListenerl)添加ActionListener。addItemListener(ItemListeneraListener)添加ItemListener。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心22/359.1.7單選按鈕和復(fù)選框單選按鈕,對(duì)應(yīng)java的Swing包中的JRadioButton。實(shí)現(xiàn)一個(gè)單選按鈕后,用戶可以通過單擊單選按鈕完成按鈕項(xiàng)的選擇或取消操作。復(fù)選框?qū)?yīng)java.awt包中的CheckBox和java.Swing包的JCheckBox類。復(fù)選框的形狀是一個(gè)可供用戶選取項(xiàng)目的開關(guān),加上旁邊的一行說明文字。復(fù)選框在分組使用時(shí)有單選和多選兩種用法。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心23/35單選按鈕常用的構(gòu)造JRadioButton(): 創(chuàng)建一個(gè)未選擇的空單選按鈕。

JRadioButton(Stringtext):創(chuàng)建一個(gè)具有文本為text的未選擇的單選按鈕。JRadioButton(Stringtext,booleanselected):創(chuàng)建一個(gè)具有文本為text和選擇狀態(tài)為selected的單選按鈕。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心24/35ButtonGroup常用的方法方法說明ButtonGroup()構(gòu)造方法,創(chuàng)建一個(gè)ButtonGroup。add(AbstractButtonb)將按鈕添加到組中。clearSelection()清除選中內(nèi)容。getButtonCount()返回此組中的按鈕數(shù)。getSelection()返回選擇按鈕的模型,ButtonModel。isSelected(ButtonModelm)返回對(duì)是否已選擇一個(gè)ButtonModel的判斷。remove(AbstractButtonb)從組中移除按鈕。setSelected(ButtonModelm,booleanb)為ButtonModel設(shè)置選擇值。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心25/35成組的使用單選按鈕和復(fù)選框例9.10方法總結(jié):創(chuàng)建多個(gè)單選按鈕和復(fù)選框。創(chuàng)建選項(xiàng)按鈕組ButtonGroup對(duì)象或CheckboxGroup對(duì)象。通過add()把單選按鈕或復(fù)選框加入選線按鈕組。設(shè)置選項(xiàng)按鈕組的邊框。分別對(duì)每個(gè)按鈕編程,設(shè)置監(jiān)聽器。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心26/359.2菜單與工具欄

菜單(Menu)用來把程序的功能分類列出,用戶可以選擇相應(yīng)的功能。菜單的分類:下拉式菜單(Pulldown)相關(guān)的類:菜單欄(MenuBar)、菜單(Menu)和菜單項(xiàng)(MenuItem)彈出式菜單(Popup)相關(guān)的類:

PopupMenu類、JPopupMenu類、菜單(Menu)和菜單項(xiàng)(MenuItem)2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心27/35MenuBar常用的方法方法說明MenuBar()創(chuàng)建一個(gè)AWT菜單欄。JMenuBar()創(chuàng)建一個(gè)Swing菜單欄。add(Menum)將菜單m添加到菜單欄中。getMenu(inti)獲取指定的索引為i的菜單。getMenuCount()獲取該菜單欄上的菜單數(shù)。remove(intindex)從菜單欄移除指定索引處的菜單。remove(MenuComponentm)從此菜單欄移除指定的菜單組件。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心28/35菜單常用的方法方法說明Menu()創(chuàng)建一個(gè)菜單欄。Menu(Stringlabel)構(gòu)造具有指定標(biāo)簽的菜單。Menu(Stringlabel,booleantearOff)構(gòu)造具有指定標(biāo)簽的菜單,并通過參數(shù)tearOff指示菜單是否可以分離。add(MenuItemmi)將菜單項(xiàng)mi添加到菜單中。add(Stringlabel)將帶有指定標(biāo)簽的項(xiàng)添加到此菜單。getItem(intindex)獲取指定的索引為index的菜單項(xiàng)。getItemCount()獲取該菜單上的菜單項(xiàng)數(shù)。insert(MenuItemmenuitem,intindex)將菜單項(xiàng)插入到菜單的指定位置。insert(Stringlabel,intindex)將菜單項(xiàng)插入到菜單的指定位置。addSeparator()將一個(gè)分隔線加到菜單的當(dāng)前位置。insertSeparator(intindex)在指定的位置插入分隔符。remove(intindex)從菜單欄移除指定索引處的菜單。remove(MenuComponentm)從此菜單欄移除指定的菜單組件。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心29/35菜單項(xiàng)常用構(gòu)造方法MenuItem():構(gòu)造具有空標(biāo)簽且沒有鍵盤快捷方式的菜單項(xiàng)。

MenuItem(Stringlabel):構(gòu)造帶指定標(biāo)簽為label的值,且沒有鍵盤快捷方式的菜單項(xiàng)。

JMenuItem(Iconicon):創(chuàng)建帶有指定圖標(biāo)icon的菜單項(xiàng)。

JMenuItem(Stringtext,Iconicon):創(chuàng)建帶有指定文本text的值和圖標(biāo)icon的菜單項(xiàng)。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心30/35菜單項(xiàng)常用的方法方法說明addActionListener(ActionListenerl)為菜單項(xiàng)注冊(cè)動(dòng)作監(jiān)聽器l。getLabel()獲取菜單項(xiàng)的標(biāo)簽,僅MenuItem可用。setLabel(Stringlabel)設(shè)置菜單項(xiàng)的標(biāo)簽。僅MenuItem可用。isEnabled()判斷菜單項(xiàng)是否有效。setEnabled(booleanb)設(shè)置菜單項(xiàng)是否有效。setAccelerator(KeyStrokekeyStroke)設(shè)置快捷鍵。setMnemonic(intmnemonic)設(shè)置熱鍵。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心31/35菜單設(shè)計(jì)方法例9.11菜單類程序設(shè)計(jì)基本步驟創(chuàng)建菜單、菜單條和菜單項(xiàng)對(duì)象分別設(shè)置菜單,菜單條和菜單項(xiàng)的初始屬性。通過add()方法把菜單項(xiàng)加入到菜單中,把菜單加入菜單條中為每個(gè)菜單項(xiàng)添加事件監(jiān)聽器。編寫相應(yīng)的事件監(jiān)聽程序。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心32/35彈出式菜單Java在AWT包中的PopupMenu類和Swing包中的JPopupMenu類實(shí)現(xiàn)了彈出式菜單的定義。彈出式菜單是菜單類的子類,因此,菜單類中的方法也適用于彈出式菜單。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心33/35彈出式菜單的常用方法方法說明PopupMenu()創(chuàng)建具有空名稱的彈出式菜單。PopupMenu(Stringlabel)創(chuàng)建具有指定名稱的新彈出式菜單。show(Componentorigin,intx,inty)在相對(duì)于初始組件的x、y位置上顯示彈出式菜單。getParent()返回此菜單組件的父容器。pack()使彈出式菜單使用顯示其內(nèi)容所需的最小空間。僅JPopupMenu可用。setLocation(intx,inty)使用X、Y坐標(biāo)設(shè)置彈出菜單的左上角的位置。僅JPopupMenu可用。setPopupSize(intwidth,intheight)將彈出窗口的大小設(shè)置為指定的寬度和高度。僅JPopupMenu可用。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心34/35彈出式菜單程序的實(shí)現(xiàn)方法

創(chuàng)建一個(gè)彈出式菜單。創(chuàng)建彈出式菜單和菜單項(xiàng)對(duì)象。分別設(shè)置菜單項(xiàng)的初始屬性。通過add()方法把菜單項(xiàng)加入到彈出式菜單中。在actionPerformed()中為彈出式菜單的所有菜單項(xiàng)編寫相應(yīng)的事件處理程序。為每個(gè)菜單項(xiàng)注冊(cè)事件監(jiān)聽器。為需要具有彈出式菜單的組件注冊(cè)MouseListener監(jiān)聽器,并在MouseListener監(jiān)聽器的mouseReleased()方法中調(diào)用彈出式菜單對(duì)象的Show()方法用以顯示彈出式菜單。例9.122024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心35/35工具欄工具欄通常被置于布局為BoderLayout的容器中,而且工具欄在運(yùn)行時(shí)可被拖動(dòng)到所在容器的其他邊界,甚至脫離它所在的容器。Java通過Swing包中的JToolBar類實(shí)現(xiàn)工具欄的功能。JToolBar類的常用構(gòu)造方法如下:JToolBar():創(chuàng)建空工具欄。JToolBar(intorientation):創(chuàng)建具有指定位置的工具欄,位置參數(shù)orientation可以取HORIZONTAL(水平)或VERTICAL(垂直)。JToolBar(Stringname):創(chuàng)建一個(gè)通過參數(shù)name指定名稱的工具欄。JToolBar(Stringname,intorientation):創(chuàng)建一個(gè)通過參數(shù)name指定名稱且通過參數(shù)orientation指定位置的工具欄。例9.132024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心36/35

JToolBar類常用的方法方法說明add(Actiona)添加一個(gè)指派動(dòng)作的的JButton。addSeparator()將默認(rèn)大小的分隔符添加到工具欄的末尾。addSeparator(Dimensionsize)將指定大小的分隔符添加到工具欄的末尾。getComponentIndex(Componentc)返回指定組件的索引。getComponentAtIndex(inti)返回指定索引位置的組件。getOrientation()返回工具欄的當(dāng)前方向。setOrientation(into)設(shè)置工具欄的方向。isFloatable()獲取工具欄是否移動(dòng)的屬性。setFloatable(booleanb)設(shè)置工具欄移動(dòng)屬性,可移動(dòng)為true。setEnabled(Booleanb)設(shè)置工具欄是否可用。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心37/359.3對(duì)話框Java中用于實(shí)現(xiàn)對(duì)話框的類:JOptionPane類JOptionPane類用來實(shí)現(xiàn)一些具有標(biāo)準(zhǔn)形狀和功能的對(duì)話框。JDialog類JDialog類為程序員提供了自由定義對(duì)話框的手段JFileChooser類。JFileChooser類為程序員提供了文件資源管理對(duì)話框的模板。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心38/35標(biāo)準(zhǔn)對(duì)話框消息框輸入框確認(rèn)對(duì)話框選項(xiàng)對(duì)話框2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心39/35自定義對(duì)話框Jdialog的構(gòu)造方法JDialog()創(chuàng)建一個(gè)沒有標(biāo)題并且沒有指定所有者的無模式對(duì)話框。JDialog(Dialogowner)創(chuàng)建一個(gè)沒有標(biāo)題但將指定的owner作為其所有者的無模式對(duì)話框。JDialog(Dialogowner,booleanmodal)創(chuàng)建一個(gè)具有指定所有者owner和模式modal的對(duì)話框。JDialog(Dialogowner,Stringtitle)創(chuàng)建一個(gè)具有指定標(biāo)題title和指定所有者owner的無模式對(duì)話框。JDialog(Dialogowner,Stringtitle,booleanmodal)創(chuàng)建一個(gè)具有指定標(biāo)題title、模式modal和指定所有者owner的對(duì)話框。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心40/35JDialog類常用的方法(例9.15)方法說明remove(Componentcomp)從該容器中移除指定組件。getRootPane()獲取對(duì)話框的rootPane。setRootPane(JRootPaneroot)設(shè)置rootPane屬性。此方法僅能由構(gòu)造方法調(diào)用。getContentPane()返回對(duì)話框的contentPane對(duì)象。setContentPane(ContainercontentPane)設(shè)置contentPane屬性。此方法由構(gòu)造方法調(diào)用。repaint(longtime,intx,inty,intwidth,intheight)在time毫秒內(nèi)重繪此組件的指定矩形區(qū)域。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心41/35

文件對(duì)話框Java中提供了文件對(duì)話框類JFileChooser用于定位文件。例9.162024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心42/35方法說明JFileChooser()構(gòu)造指向用戶默認(rèn)目錄的文件對(duì)話框。JFileChooser(StringcurrentPath)構(gòu)造一個(gè)使用給定路徑的文件對(duì)話框。setCurrentDirectory(Filedir)設(shè)置當(dāng)前目錄。showOpenDialog(Componentparent)彈出"OpenFile"文件選擇器對(duì)話框。showSaveDialog(Componentparent)彈出"SaveFile"文件選擇器對(duì)話框。getSelectedFile()返回選中的文件。getName(Filef)返回文件名。圖形與圖像的顯示在Java中,屏幕坐標(biāo)是以像素為單位的。Java規(guī)定容器的左上角為坐標(biāo)(0,0)原點(diǎn)。橫坐標(biāo)軸的正方向向右,縱坐標(biāo)軸的正方向向下。Java常用的繪圖方法都包裝在Graphics類中,Graphics類是AWT包中的一個(gè)抽象類,它提供了對(duì)幾何形狀、坐標(biāo)轉(zhuǎn)換、顏色管理和文本布局等功能,是Java平臺(tái)上呈現(xiàn)二維形狀文本和圖像的基礎(chǔ)。在Graphics類中包括了繪制直線、矩形、多邊形、圓和橢圓等圖形的方法。這些方法所繪制的圖形都以圖形的左上角作為圖形繪制的基準(zhǔn)點(diǎn)。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心43/35Graphics類中的繪圖方法

清除指定的矩形區(qū)域。clearRect(intx,inty,intwidth,intheight)說明:清除左上角坐標(biāo)為(x,y)且寬為width和高為height的矩形。復(fù)制矩形區(qū)域。copyArea(intx,inty,intwidth,intheight,intdx,intdy) 說明:將左上角坐標(biāo)為(x,y)寬為width高為height的矩形復(fù)制到(dx,dy)位置。繪制立體矩形框。draw3DRect(intx,inty,intwidth,intheight,booleanraised)說明:繪制基準(zhǔn)點(diǎn)在(x,y)且寬為width高為height的立體矩形框,如果raised=true則繪制凸起效果的矩形框,否則繪制凹陷效果的矩形框。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心44/35Graphics類中的繪圖方法繪制圓弧。drawArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle) 說明:在基準(zhǔn)點(diǎn)(x,y)繪制一個(gè)寬width,高h(yuǎn)eight,開始角度startAngle,終止角度為arcAngle的圓弧。畫線段。drawLine(intx1,inty1,intx2,inty2)說明:在點(diǎn)(x1,y1)和(x2,y2)之間畫線段。畫橢圓框。drawOval(intx,inty,intwidth,intheight) 說明:以(x,y)為基準(zhǔn)點(diǎn),繪制寬width,高h(yuǎn)eight的橢圓。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心45/35Graphics類中的繪圖方法畫閉合多邊形。drawPolygon(int[]xPoints,int[]yPoints,intnPoints)說明:繪制一個(gè)由x和y坐標(biāo)數(shù)組定義的閉合多邊形。參數(shù)nPoints是多邊形的頂點(diǎn)數(shù)。畫折線。drawPolyline(int[]xPoints,int[]yPoints,intnPoints)說明:繪制一個(gè)由x和y坐標(biāo)數(shù)組定義的折線。參數(shù)nPoints是折線的頂點(diǎn)數(shù)。畫矩形框。drawRect(intx,inty,intwidth,intheight)

說明:在基準(zhǔn)點(diǎn)(x,y)繪制寬width高h(yuǎn)eight的矩形。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心46/35Graphics類中的繪圖方法畫圓角矩形框。drawRoundRect(intx,inty,intwidth,intheight,intarcWidth,intarcHeight)說明:以(x,y)點(diǎn)為基準(zhǔn)點(diǎn)繪制寬width高h(yuǎn)eight的圓角矩形,圓角寬arcWidth,高arcHeight。繪制立體實(shí)心矩形。fill3DRect(intx,inty,intwidth,intheight,booleanraised) 說明:以(x,y)點(diǎn)為基準(zhǔn)點(diǎn)繪制寬width高h(yuǎn)eight的立體實(shí)心矩形,如果raised=true則繪制凸起效果的矩形,否則繪制凹陷效果的矩形。繪制扇形。fillArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle) 說明:以(x,y)點(diǎn)為基準(zhǔn)點(diǎn)繪制寬width高h(yuǎn)eight,起始角度為startAngle,終止角度為arcAngle的扇形。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心47/35Graphics類中的繪圖方法繪制實(shí)心橢圓。fillOval(intx,inty,intwidth,intheight)說明:以(x,y)點(diǎn)為基準(zhǔn)點(diǎn)繪制寬為width,高為height的實(shí)心橢圓。

繪制實(shí)心閉合多邊形。fillPolygon(int[]xPoints,

溫馨提示

  • 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)論