




已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第八章 SWING組件,按鈕,經(jīng)常用到的按鈕 JButton、JToggleButton、JCheckBox、JRadioButton 均是AbstractButton的子類或間接子類 都可以設置文本、設置圖標、注冊事件監(jiān)聽程序 在AbstractButton中定義了各種按鈕所共有的一些方法,例如addActionListener()、setEnabled()、setText()、setIcon()等,按鈕類之間繼承關系,普通按鈕JButton,構(gòu)造方法 JButton() 創(chuàng)建一個既沒有顯示文本也沒有圖標的按鈕 JButton(Icon icon) 創(chuàng)建一個沒有顯示文本但有圖標的按鈕 JButton(String text) 創(chuàng)建一個有顯示文本但沒有圖標的按鈕 JButton(String text, Icon icon) 創(chuàng)建一個既有顯示文本又有圖標的按鈕,普通按鈕JButton,構(gòu)造顯示文本為“Sample”的按鈕 構(gòu)造顯示文本為“Sample”、帶有鉆石形狀小圖標的按鈕,JButton b = new JButton(“Sample” );,JButton b = new JButton(“Sample“,new ImageIcon(“icon.gif“);,使用JButton的例子,程序運行時,每當按動按鈕,就會在屏幕上交替顯示出兩條不同信息 程序8-1,8-1結(jié)果,Jbutton方法,可以通過setText()動態(tài)地改變按鈕上的顯示文本,通過setEnabled()改變按鈕的狀態(tài) 程序8-2 setMnemonic()方法可以為按鈕設置快捷鍵 setActionCommand()方法為按鈕設置一個命令名 getActionCommand()方法 因此當事件發(fā)生時,判斷是在哪一個按鈕上發(fā)生的,b1.setMnemonic(KeyEvent.VK_S);,切換按鈕,JToggleButton是具有兩種狀態(tài)的按鈕,即選中狀態(tài)和未選中狀態(tài) JToggleButton的構(gòu)造方法 JToggleButton() 創(chuàng)建一個既沒有顯示文本也沒有圖標的切換按鈕 JToggleButton(Icon icon) 創(chuàng)建一個沒有顯示文本但有圖標的切換按鈕 JToggleButton(Icon icon, boolean selected) 創(chuàng)建一個沒有顯示文本但有圖標和指定初始狀態(tài)的切換按鈕 JToggleButton(String text) 創(chuàng)建一個有顯示文本但沒有圖標的切換按鈕 JToggleButton(String text, boolean selected) 創(chuàng)建一個有顯示文本和指定初始狀態(tài)但沒有圖標的切換按鈕 JToggleButton(String text, Icon icon) 創(chuàng)建一個既有顯示文本又有圖標的切換按鈕 JToggleButton(String text, Icon icon, boolean selected) 創(chuàng)建一個既有顯示文本又有圖標和指定初始狀態(tài)的切換按鈕,JCheckBox,JRadioButton,都是JToggleButton的子類 ,構(gòu)造方法的格式與JToggleButton相同,它們也都具有選中和未選中兩種狀態(tài) isSelected()方法獲知按鈕的當前狀態(tài) 當返回值為真(true)時表示處于選中狀態(tài),而返回值為假(false)時則表示處于未選中狀態(tài),程序8-3,程序8-3 說明 JToggleButton、JCheckBox和JRadioButton等具有兩種狀態(tài)的按鈕可以注冊ItemEvent事件監(jiān)聽程序,在ItemListener接口中聲明了如下方法: public void itemStateChanged(ItemEvent e) ; 當按鈕的狀態(tài)發(fā)生改變時,該方法將會被調(diào)用,程序8-3說明,多個組件可以使用共同的事件處理程序 在ActionEvent、ItemEvent等事件類對象中,都提供了getSource()方法,可以獲取事件源,該方法的返回類型為Object ItemEvent中另外提供了一個getItem()方法,作用與getSource()方法相同,public Object getSource(),需要進行類型轉(zhuǎn)換,例如: JRadioButton rb = (JRadioButton) e.getSource();,程序8-3說明,按鈕可以添加到按鈕組(ButtonGroup)中,這時首先要創(chuàng)建一個按鈕組對象,然后調(diào)用按鈕組的add()方法將按鈕添加到按鈕組,ButtonGroup group = new ButtonGroup(); group1.add(cb4); group1.add(cb5); group1.add(cb6);,當多個按鈕被添加到同一個按鈕組之后,只能有一個按鈕處于被選中狀態(tài),標簽,標簽(JLabel)對象通常用于顯示提示性的文本信息或圖標 構(gòu)造方法有六種形式 JLabel() 構(gòu)造一個既不顯示文本信息也不顯示圖標的空標簽 JLabel(Icon image) 構(gòu)造一個顯示圖標的標簽 JLabel(String text) 構(gòu)造一個顯示文本信息的標簽 JLabel(Icon image, int horizontalAlignment) 構(gòu)造一個顯示圖標的標簽,水平對齊方式由int型參數(shù)horizontalAlignment指定 JLabel(String text, int horizontalAlignment) 構(gòu)造一個顯示文本信息的標簽 JLabel(String text, Icon icon, int horizontalAlignment) 構(gòu)造一個同時顯示文本信息和圖標的標簽,將顯示內(nèi)容設置為水平居中、底部對齊 可以通過setHorizontalTextPosition(int textPosition) setVerticalTextPosition(int textPosition)指定文本信息和圖標的相對位置下面命令設置文本信息顯示在圖標的底部并且居中,label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.BOTTOM);,label.setVerticalTextPosition(JLabel.BOTTOM); label.setHorizontalTextPosition(JLabel.CENTER);,程序8-4,可以使用setText(String text)方法修改顯示在標簽上的文本信息,也可以使用setIcon(Icon icon)方法修改標簽上的圖標,但是在程序運行過程中,用戶不能對標簽內(nèi)容進行修改 程序8-4,組合框,組合框(JComboBox)是一個下拉式菜單,它有兩種形式:不可編輯的和可編輯的,對不可編輯的JComboBox,用戶只能在現(xiàn)有的選項列表中進行選擇;而可編輯的JComboBox,用戶既可以在現(xiàn)有選項中選擇,也可以輸入新的內(nèi)容,JComboBox構(gòu)造方法,JComboBox() 創(chuàng)建一個沒有任何可選項的組合框 JComboBox(Object items) 根據(jù)Object數(shù)組創(chuàng)建組合框,Object數(shù)組的元素即為組合框中的可選項,創(chuàng)建一個具有五個可選項的組合框: String itemList = “One“, “Two“, “Three“, “Four“, “Five“ ; JComboBox jcb = new JComboBox(itemList);,JComboBox類中方法,public void addItem(Object anObject) 在末尾位置添加新的可選項 public void insertItemAt(Object anObject,int index) 在index指定的位置添加新的可選項anObject public void removeAllItems() 刪除所有可選項 public void removeItem(Object anObject) 刪除由anObject指定的可選項 public void removeItemAt(int anIndex) 刪除指定位置(由anIndex指定)的可選項,程序8-5,程序8-5 每當用戶在組合框jcb1中進行選擇,被選中的選項就會通過下面命令被插入到組合框jcb2中的第一個位置: getSelectedItem()方法可獲得用戶的當前選項。在插入選項時,選項的序號是從0開始的 組合框上的用戶事件既可以通過ActionListener處理,也可以通過ItemListener處理,但是用戶的一次選擇操作,會引發(fā)兩個ItemEvent事件,因此通常是使用ActionListener處理,jcb2.insertItemAt(jcb1.getSelectedItem(),0);,列表,列表(JList)是可供用戶進行選擇的一系列可選項 構(gòu)造方法 JList() 構(gòu)造一個空列表 JList(ListModel dataModel) 構(gòu)造一個列表,列表的可選項由ListModel型參數(shù)dataModel指定 JList(Object listData) 構(gòu)造一個列表,列表的可選項由對象數(shù)組listData指定 JList(Vector listData) 構(gòu)造一個列表,列表的可選項由Vector型參數(shù)dataModel,列表,根據(jù)String數(shù)組構(gòu)造一個包含四個可選項的列表,String data = “one“, “two“, “three“, “four“; JList dataList = new JList(data);,Vector listData = new Vector(); listData.addElement(“one “); listData.addElement(“two “); listData.addElement(“three “); listData.addElement(“four “); JList list = new JList(listData);,ListModel,列表使用ListModel保存它的可選項,ListModel是一個接口,其定義為:,public interface ListModel int getSize(); /返回列表的長度 Object getElementAt(int index); /返回指定位置的可選項 void addListDataListener(ListDataListener l); /注冊事件監(jiān)聽程序,監(jiān)聽列表可選項的變化 void removeListDataListener(ListDataListener l); /刪除監(jiān)聽程序 ,創(chuàng)建列表,當根據(jù)數(shù)組或Vector創(chuàng)建列表時,構(gòu)造方法將自動地創(chuàng)建一個缺省的、實現(xiàn)了ListModel接口的對象,該對象是不可變的 如果希望列表的可選項是動態(tài)改變的,需要在創(chuàng)建列表時提供一個ListModel對象,在通常情況,可以用一個DefaultListModel對象 DefaultListModel類定義在Swing包中,它給出了ListModel的缺省實現(xiàn)。當有特殊需要時,也可以自定義一個子類繼承AbstractListModel,AbstractListModel是定義者Swing包中的抽象類,給出了ListModel接口的部分實現(xiàn),程序8-6,程序8-6 首先創(chuàng)建一個DefaultListModel對象,使用addElement(Object obj)方法添加列表可選項 然后根據(jù)DefaultListModel對象創(chuàng)建列表,listModel = new DefaultListModel(); listModel.addElement(“one “); listModel.addElement(“two “); ,list = new JList(listModel);,創(chuàng)建列表,可以使用JList中定義的setModel(ListModel model)方法設置新的ListModel 可以將列表對象放入JScrollPane中以提供滾動功能 列表支持單多項選擇,使用JList中定義的setSelectionMode(int selectionMode)方法對列表的選擇模式進行設置 ListSelectionModel.SINGLE_SELECTION 只能進行單項選擇 ListSelectionModel.SINGLE_INTERVAL_SELECTION 可多項選擇,但多個選項必須是連續(xù)的 ListSelectionModel.MULTIPLE_INTERVAL_SELECTION 多項選擇,多個選項可以是間斷的,這是選擇模式的缺省值,列表,在列表上選擇時,將引發(fā)ListSelectionEvent事件 addListSelectionListener(ListSelectionListener listener)方法注冊對應的事件監(jiān)聽程序 ListSelectionListener接口中,只包含一個方法: public void valueChanged(ListSelectionEvent e) ListSelectionEvent和ListSelectionListener均定義在javax.swing.event包中,程序8-7,程序8-7,文本組件,用于顯示信息和提供用戶輸入功能 在SWING中提供了文本域(JTextField)、口令輸入域(JPasswordField)、文本區(qū)(JTextArea)等多個文本組件 ,都有一個共同的基類JTextComponent,JTextComponent一些方法,getSelectedText() 從文本組件中提取被選中的文本內(nèi)容 getText() 從文本組件中提取所有文本內(nèi)容 getText(int offs, int len) 從文本組件中提取指定范圍的文本內(nèi)容 select(int selectionStart, int selectionEnd) 在文本組件中選中指定范圍的文本內(nèi)容 selectAll() 在文本組件中選中所有文本內(nèi)容 setEditable(boolean b) 設置為可編輯或不可編輯狀態(tài) setText(String t) 設置文本組件中的文本內(nèi)容 setDocument(Document doc) 設置文本組件的文檔 copy() 復制選中的文本到剪貼板 cut() 剪切選中的文本剪貼板 paste() 將剪貼板的內(nèi)容粘貼到當前位置,文本域 JTextField,文本域是一個單行的文本輸入框,可用于輸入少量文本 五個構(gòu)造方法 JTextField() 構(gòu)造一個空文本域 JTextField(int columns) 構(gòu)造一個具有指定列數(shù)的空文本域, JTextField(String text) 構(gòu)造一個顯示指定初始字符串的文本域 JTextField(String text, int columns) 構(gòu)造一個具有指定列數(shù)、并顯示指定初始字符串的文本域 JTextField(Document doc, String text, int columns) 構(gòu)造一個使用指定文檔、具有指定列數(shù)、并顯示指定初始字符串的文本域,doc可以為null,此時一個缺省的PlainDocument文檔對象將會被創(chuàng)建,JTextField,構(gòu)造一個列數(shù)為30、初始字符串為“Single Line”的文本域 在構(gòu)造方法中所指定的列數(shù),是一個希望的數(shù)值,由于組件的大小和位置通常是由布局管理器決定的,因此,指定的這些數(shù)據(jù)很有可能被忽略,JTextField tf = new JTextField(“Single Line” ,30);,程序8-8,程序8-8,程序8-9,程序8-9是對文本域中ActionEvent事件進行處理的一個例子 用setEditable(boolean)方法將文本域設定為可編輯或不可編輯狀態(tài),文本區(qū) JTextArea,文本區(qū)是一個多行多列的文本輸入框,有多種構(gòu)造方法 JTextArea() 構(gòu)造一個空文本區(qū) JTextArea(String text) 構(gòu)造一個顯示指定初始字符串的文本區(qū) JTextArea(int rows, int columns) 構(gòu)造一個具有指定行數(shù)和列數(shù)的空文本區(qū), JTextArea(String text, int rows, int columns) 構(gòu)造一個具有指定行數(shù)和列數(shù)、并顯示指定初始字符串的文本區(qū) JTextArea(Document doc) 構(gòu)造一個使用指定文檔的文本區(qū) JTextArea(Document doc, String text, int rows, int columns) 構(gòu)造一個使用指定文檔、具有指定行數(shù)和列數(shù)、并顯示指定初始字符串的文本區(qū),文本區(qū),構(gòu)造一個4行、30列、顯示初始字符串“Initial text”的文本區(qū) 對文本區(qū)進行操作的方法 用戶按“Enter”或“Return”鍵的結(jié)果只是向緩沖區(qū)輸入一個字符,并不能表示輸入結(jié)束,因此,當需要識別用戶“輸入完成”時,通常要在文本區(qū)旁放置一個“Apply”或“Commit”之類的按鈕,JTextArea ta = new JTextArea(“Initial text”, 4, 30),append(String str) 將指定文本追加到文本區(qū)。 insert(String str, int pos) 將指定文本插入到文本區(qū)的特定位置。 replaceRange(String str, int start, int end) 指定文本替換文本區(qū)中的部分內(nèi)容,程序8-10,程序8-10,當用戶單擊Copy按鈕時,第一個文本區(qū)中選中的內(nèi)容(或全部內(nèi)容)將被添加到第二個文本區(qū)中,當用戶單擊Clear按鈕時,第二個文本區(qū)中的內(nèi)容將被清空,菜單組件,SWING包中提供的多種菜單組件 JMenuBar、JMenuItem、JMenu、JCheckBoxMenuItem、JRadioButtonMenuItem和JPopupMenu,菜單欄,菜單欄是窗口中的主菜單,用來包容一組菜單,只有一種構(gòu)造方法 JMenuBar(),菜單欄,JFrame、JApplet和JDialog等類中定義了setJMenuBar(JMenuBar menu)方法,可以把菜單欄放到窗口的上方 JMenuBar上也可以注冊事件監(jiān)聽程序,但通常情況下,對JMenuBar上的用戶事件都不進行處理,JFrame frame = new JFrame(“JMenuBar”); JMenuBar mb = new JMenuBar(); frame.setJMenuBar(mb);,菜單,菜單是最基本的下拉菜單,用來包容一組菜單項或子菜單。構(gòu)造方法如下 菜單加入菜單欄或者另一個菜單中,public Menu(String label) label指定了菜單上的文本。,JMenuBar menubar = new JMenuBar(); JMenu menu1 = new JMenu( “File“); JMenu menu2 = new JMenu( “ Edit “); menubar.add(menu1); menubar.add(menu2);,菜單項,常用的菜單構(gòu)造方法 JMenuItem(Icon icon) 構(gòu)造一個只顯示圖標的菜單項,圖標由Icon型參數(shù)icon指定 JMenuItem(String text) 構(gòu)造一個只顯示文本的菜單項,文本由String型參數(shù)text指定 JMenuItem(String text, Icon icon) 構(gòu)造一個同時顯示文本和圖標的菜單項,文本由String型參數(shù)text指定,圖標由Icon型參數(shù)icon指定 JMenuItem(String text, int mnemonic) 構(gòu)造一個顯示文本并且有快捷鍵的菜單項,文本由String型參數(shù)text指定,快捷鍵由int型參數(shù)mnemonic指定,JMenu m1 = new JMenu (“File”); JMenuItem mi1 = new JMenuItem( “Save“, KeyEvent.VK_S ); JMenuItem mi2 = new JMenuItem (“Load”); JMenuItem mi3 = new JMenuItem (“Quit”); m1.add(mi1); m1.add(mi2); m1.add(mi3);,構(gòu)造了三個菜單項,分別顯示文本“Save”、“Load”和“Quit”,其中第一個菜單項的快捷鍵為Ctrl+S,三個菜單項均被加入菜單m1中,快捷鍵也可以在菜單項被創(chuàng)建之后,通過setMnemonic(char mnemonic)方法進行設置,菜單方法,setAccelerator(KeyStroke keyStroke)方法 為菜單項設置加速鍵 addSeparator ()和insertSeparator(int index) 單項間加入分隔線,創(chuàng)建了一個菜單項,然后為其設置快捷鍵和加速鍵: JMenuItem menuItem = new JMenuItem( “Open.“ ); menuItem.setMnemonic(KeyEvent.VK_O); menuItem.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_1, ActionEvent.ALT_MASK);,m1.add(mi1); m1.add(mi2); m1.addSeparator(); m1.add(mi3);,菜單方法,在javax.swing包中定義的JSeparator類,也可以加入分隔線: ActionEvent事件 當菜單中的菜單項被選中時,將會引發(fā)一個ActionEvent事件,因此通常需要為菜單項注冊ActionListener以便對事件作出反應 JMenu是JMenuItem的子類,而JMenuItem是AbstractButton的子類,因此JMenu和JMenuItem的使用方法均與按鈕有類似之處,m1.add(mi1); m1.add(mi2); m1. add(new JSeparator(); m1.add(mi3);,復選和單選菜單項,這是兩種特殊的菜單項,在復選菜單項前面有一個小方框,在單選菜單項前面有一個小圓圈,可以進行選中或不選中的操作,使用方法與復選按鈕和單選按鈕類似 當菜單項的檢驗狀態(tài)發(fā)生改變時,會引發(fā)ItemEvent事件,使用ItemListener中的itemStateChanged()對此事件進行響應,構(gòu)造方法,boolean型參數(shù)指定菜單項的初始狀態(tài) 復選菜單項構(gòu)造方法 單選菜單項構(gòu)造方法,JCheckBoxMenuItem(Icon icon) JCheckBoxMenuItem(String text) JCheckBoxMenuItem(String text, boolean b) JCheckBoxMenuItem(String text, Icon icon) JCheckBoxMenuItem(String text, Icon icon, boolean b),JRadioButtonMenuItem(Icon icon) JRadioButtonMenuItem(Icon icon, boolean selected) JRadioButtonMenuItem(String text) JRadioButtonMenuItem(String text, boolean selected) JRadioButtonMenuItem(String text, Icon icon) JRadioButtonMenuItem(String text, Icon icon, boolean selected),程序8-11,程序8-11是建立菜單系統(tǒng)的一個例子,它使用到了我們前面介紹的幾種菜單組件,彈出式菜單,彈出式菜單(JPopupMenu)是一種比較特殊的獨立菜單,可以根據(jù)需要顯示在指定位置。有兩種構(gòu)造方法 public JPopupMenu()構(gòu)造一個沒有名稱的彈出式菜單 public JPopupMenu(String label)構(gòu)造一個有指定名稱的彈出式菜單,彈出式菜單,構(gòu)造一個名為“Popup”的彈出式菜單 加入菜單或菜單項 在顯示彈出式菜單時,必須調(diào)用show()方法,JPopupMenu p = new JPopupMenu (“Popup”),JMenuItem s = new JMenuItem(“Save”); JMenuItem l = new JMenuItem(“Load”); p.add(s); p.add(l);,public void show(Component origin, int x, int y) 需要有一個組件作參數(shù),該組的位置將 作為顯示彈出式菜單的參考原點,程序8-12,程序8-12是一個創(chuàng)建并顯示彈出式菜單的例子 該程序的運行結(jié)果,對話框,對話框(JDialog)是與框架類似的可移動窗口,區(qū)別在于具有較少的修飾并且能夠被設置為“模式(modal)”窗口 對話框的構(gòu)造方法 JDialog(Frame owner) 構(gòu)造一個沒有標題的非模式對話框 JDialog(Frame owner, boolean modal) 構(gòu)造一個沒有標題的對話框,boolean型參數(shù)modal指定對話框是否為模式窗口 JDialog(Frame owner, String title) 構(gòu)造一個有標題的非模式對話框, JDialog(Frame owner, String title, boolean modal) 構(gòu)造一個有標題的對話框,對話框,構(gòu)造一個標題為“Dialog”的模式對話框,該對話框為框架frame所擁有 當對話框的擁有者被清除(destroyed)時,對話框也會被清除 對話框在顯示時,如果其擁有者被最小化,對話框也將變?yōu)椴豢梢?,當其擁有者再次顯示時,對話框會隨之變?yōu)榭梢?setVisible(true)方法顯示,setVisible(false)方法可以將一個對話框隱藏起來,JDialog dialog = new JDialog(frame, “Dialog”,true),對話框,對話框是一種可以反復使用的資源,當某個對話框不需要顯示時,不要立即將其清除,而是繼續(xù)保留它,等待以后再用 對話框可對各種窗口事件進行監(jiān)聽,例如激活窗口、關閉窗口等 對話框也是頂層容器,我們可以向?qū)υ捒虻膬?nèi)容窗格中添加各種組件,程序8-13,程序8-13構(gòu)造了一個對話框,當用戶按框架中的按鈕時,對話框?qū)⒈伙@示出來,標準對話框,SWING中還提供了用于顯示標準對話框(JOptionPane)的JOptionPane類 定義了多個showXxxDialog形式的靜態(tài)方法 showConfirmDialog 確認對話框,顯示問題,要求用戶進行確認(yes/no/cancel) showInputDialog 輸入對話框,提示用戶進行輸入 showMessageDialog 信息對話框,顯示信息,告知用戶發(fā)生了什么情況 showOptionDialog 選項對話框,顯示選項,要求用戶進行選擇,showXxxDialog方法的參數(shù),Component parentComponent 對話框的父窗口對象,其屏幕坐標將決定對話框的顯示位置;此參數(shù)也可以為null,表示采用缺省的Frame作為父窗口,此時對話框?qū)⒃O置在屏幕的正中 String title 對話框的標題 Object message 顯示在對話框中的描述信息。該參數(shù)通常是一個String對象,但也可以是一個圖標、一個組件或者一個對象數(shù)組,showXxxDialog方法的參數(shù),int messageType 對話框所傳遞的信息類型??梢詾橐韵鲁A?除PLAIN_MESSAGE之外,其他每種類型都對應于一個缺省圖標,ERROR_MESSAGE INFORMATION_MESSAGE WARNING_MESSAGE QUESTION_MESSAGE PLAIN_MESSAGE,showXxxDialog方法的參數(shù),int optionType 對話框上按鈕的類型,可以為以下常量: DEFAULT_OPTION YES_NO_OPTION YES_NO_CANCEL_OPTION OK_CANCEL_OPTION Object options 對話框上的選項。在輸入對話框中,通常以組合框形式顯示,在選項對話框中,則指按鈕的選項類型。該參數(shù)通常是一個String數(shù)組,但也可以是圖標或組件數(shù)組,showXxxDialog方法的參數(shù),Icon icon 對話框上顯示的裝飾性圖標,如果沒有指定,則根據(jù)messageType 參數(shù)顯示缺省圖標 Object initialValue 初始選項或輸入值,實例,JOptionPane.showMessageDialog(frame, “File not found.“, “An error“, JOptionPane.ERROR_MESSAGE);,實例,JOptionPane.showOptionDialog(frame, “Click OK to continue“,“Warning“, JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null, options, options0);,showXxxDialog()返回類型,showMessageDialog()沒有返回值 showConfirmDialog()和showOptionDialog()方法返回int型數(shù)值,代表用戶選擇按鈕的序號 (JOptionPane中定義了YES_OPTION、NO_OPTION、CANCEL_OPTION、OK_OPTION和CLOSED_OPTION等常量,分別代表用戶選擇了YES、NO、CANCEL、OK按鈕以及未選擇而直接關閉了對話框) showInputDialog()方法的返回值為String或Object,代表用戶的輸入或選項,JOptionPane的例子,程序8-14 該程序創(chuàng)建了四個按鈕和一個文本域,當用戶單擊某個按鈕,屏幕上將會顯示出對應的標準對話框,用戶在確認、輸入和選項對話框中的操作結(jié)果將顯示在文本域中,文件對話框,專門用于對文件(或目錄)進行瀏覽和選擇的對話框,常用的構(gòu)造方法: JFileChooser() 根據(jù)用戶的缺省目錄創(chuàng)建文件對話框 JFileChooser(File currentDirectory) 根據(jù)File型參數(shù)currentDirectory指定的目錄創(chuàng)建文件對話框 JFileChooser(String currentDirectoryPath) 根據(jù)String型參數(shù)currentDirectoryPath指定的目錄創(chuàng)建文件對話框,文件對話框顯示,showOpenDialog(Component parent) 顯示一個“打開”文件對話框 showSaveDialog(Component parent) 顯示“保存”文件對話框 showDialog(Component parent, String approveButtonText) 顯示一個自定義的文件對話框 標題和按鈕上的文本由String型參數(shù)approveButtonText指定 Component型參數(shù),指定 “父組件”,決定了文件對話框的顯示位置,如果該參數(shù)為null,則文件對話框顯示在屏幕正中 通過getSelectedFile()方法取得用戶所選擇的文件,文件對話框的例子,程序8-15 當用戶單擊Open按鈕時,“打開”文件對話框被顯示出來;當用戶單擊Save按鈕時,“保存”文件對話框被顯示出來;當用戶單擊Delete按鈕時,“刪除”文件對話框被顯示出來。用戶進行選擇之后,所選文件的路徑和文件名將被顯示在窗口中部的文本區(qū)內(nèi),控制組件外觀,顏色 使用下面方法(在Jcomponent中定義)設置組件的前景色和背景色 java.awt.Color類的一個實例作參數(shù) ,我們可以使用Color類中預定義的顏色常量,比如Color.red和Color.blue,也可以自己創(chuàng)建新的顏色:,public void setForeground(Color c)設置前景色 public void setBackground(Color c)設置背景色,int r = 255, g = 255, b = 0; Color myColor = new Color(r, g, b),字體,se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年勻泡劑項目合作計劃書
- 工程測繪服務行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 高效血液透析設備行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 時尚軟裝設計中心行業(yè)跨境出海戰(zhàn)略研究報告
- 智慧農(nóng)業(yè)物聯(lián)網(wǎng)安全解決方案企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 河北景赫脫硫石膏制品有限公司年利用6萬噸固廢脫硫渣生產(chǎn)超強a-石膏粉及其粉煤灰建材產(chǎn)品項目環(huán)境影響報告表的批復
- 中國甲肝疫苗行業(yè)市場發(fā)展因素、重點企業(yè)分析、競爭格局及市場前景預測報告
- 運動護膝企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 男式休閑裝企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 密封件批發(fā)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 農(nóng)貿(mào)市場建設項目可行性研究報告
- 大學英語四級閱讀理解精讀100篇
- 思想道德與法治2023版第三章繼承優(yōu)良傳統(tǒng) 弘揚中國精神專題4第1講 教學設計
- 股東損害公司債權(quán)人利益責任糾紛起訴狀(成功范文)
- 中國石油轉(zhuǎn)觀念勇?lián)攧?chuàng)一流心得體會 中國石油轉(zhuǎn)觀念勇?lián)攧?chuàng)一流心得
- 中石油職稱俄語
- 七年級歷史下冊(人教版1-5課)測試題
- 蘇州職業(yè)大學職業(yè)適應性測試題庫2021
- 遼寧升聯(lián)生物科技有限公司年產(chǎn)1.42萬噸化學農(nóng)藥原藥智能化示范項目環(huán)境影響報告書
- 2015-2022年江蘇食品藥品職業(yè)技術學院高職單招語文/數(shù)學/英語筆試參考題庫含答案解析
- 流浪地球2:重返家園-漫游《宇宙的邊疆》 教學設計
評論
0/150
提交評論