




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Swing的中間層容器類別,Swing套件的中間層容器類別的目的是將Swing元件群組化,以便使用版面配置管理員來編排新增的GUI元件,Swing套件提供相當多種中間層容器類別。 例如:JPanel、JScrollPane、JSplitPane、JTabbedPane和JInternalFrame等。 範例程式: .tw/reler/object/Ch10_4_6.java,JPanel類別-說明與建構子,JPanel類別屬於一般用途的中間層容器,預設為透明、沒有背景色彩,這是一種看不見的中間層容器類別,預設使用FlowLayout版面配置,其使用方式類似ContentPane類別,JPanel類別的建構子,如下表所示:,JPanel類別-方法,JPanel關於版面配置的相關方法,如下表所示:,JScrollPane類別-說明與建構子,JScrollPane類別擁有捲動軸,可以顯示更大尺寸的Swing元件。例如:JTextArea文字區域因為可以輸入整篇文章,所以需要JScrollPane新增捲動軸功能來檢視這篇文章。JScrollPane類別的建構子,如下表所示:,JScrollPane類別-方法,JScrollPane類別的相關方法,如下表所示:,Swing的圖形介面元件,基本圖形介面元件 JTextComponents文字元件 視窗功能表和工具列元件 檔案與色彩選擇元件 多重視窗介面JInternalFrame,基本圖形介面元件,JLabel與JButton標籤與按鈕元件 JCheckBox核取方塊元件 JRadioButton選項鈕元件 JComboBox下拉式清單元件 JList清單方塊元件 JScrollBar與JSlider捲動與滑動軸元件,基本圖形介面元件-說明,Swing套件的圖形介面元件都是繼承自JComponent,各圖形元件類別的繼承架構,如下圖所示:,基本圖形介面元件-方法1,JComponet類別關於圖形介面元件的相關方法,如下表所示:,基本圖形介面元件-方法2,JLabel與JButton標籤與按鈕元件-JLabel元件(說明),JLabel元件繼承自JComponent類別,可以顯示一段文字內容或圖示(需要配合ImageIcon物件載入圖片),主要的目的是說明使用介面的欄位用途,或顯示訊息文字。 例如:使用JLabel1元件顯示文字欄位名稱”關閉”和yellow.gif圖片,如下所示: 範例程式:.tw/reler/object/btlbl.java JLabel label1 = new JLabel(“關閉“); ImageIcon yellow = new ImageIcon(“yellow.gif”); JLabel label2 = new JLabel(yellow);,JLabel與JButton標籤與按鈕元件-JLabel元件(圖例),JLabel與JButton標籤與按鈕元件-JButton元件(建立物件),JButton元件繼承自AbstractButton類別,這是可以使用滑鼠按一下的按鈕元件,如下所示: JButton button1 = new JButton(“切換(Alt_S)“); JButton button2 = new JButton(yellow); 上述程式碼建立的JButton物件,其建構子參數分別為字串和圖形,字串是顯示在按鈕上的說明文字。,JLabel與JButton標籤與按鈕元件-JButton元件(事件處理),JButton元件的目的是為了讓使用者按一下按鈕,所以JButton元件需要新增傾聽者物件進行事件處理,如下所示: button1.addActionListener(this); public void actionPerformed(ActionEvent evt) if (evt.getSource() = button1) if ( flag = 0 ) label.setText(“開啟“); else label.setText(“關閉“); flag = 1 - flag; ,JCheckBox核取方塊元件-說明,JCheckBox核取方塊元件繼承自JToggleButton,屬於AbstractButton的子類別,這個元件是一個開關,按一下可以更改狀態值為true或false,顯示的外觀為是在核取方塊中打勾,其初始值為false,即沒有打勾。,JCheckBox核取方塊元件-範例,程式碼建立名為”綠色(G)”的核取方塊,選取核取方塊需要新增ItemListener傾聽者物件來進行處理。 JCheck Box greenBox = new JCheckBox(“綠色(G)“); greenBox.addItemListener(this); 範例程式: .tw/reler/object/CheckBox1.java,JRadioButton選項鈕元件-說明,JRadioButton選項鈕元件也是繼承自JToggleButton,屬於AbstractButton的子類別,通常為一組選項鈕的單選題,在一組選項鈕中,按一下選項鈕就可以更改狀態值為true或false,在一組選項鈕只能有一個選項鈕為true。,JRadioButton選項鈕元件-範例,選項鈕元件為一組,所以需要使用ButtonGroup物件建立這組選項鈕,如下所示: ButtonGroup buttonGroup = new ButtonGroup(); baby1Button = new JRadioButton(“女寶寶(F)“); baby1Button.addItemListener(this); buttonGroup.add(baby1Button); baby2Button = new JRadioButton(“男寶寶(M)“); baby2Button.addItemListener(this); buttonGroup.add(baby2Button); 範例程式:.tw/reler/object/CheckRadio.java,JComboBox下拉式清單元件-說明,JComboBox下拉式清單元件是繼承自JComponent,這種選擇元件只顯示一個項目(目前選擇的選項),需要按一下旁邊的向下箭頭,才會拉出整張選單的選項。,JComboBox下拉式清單元件-建立,建立JComboBox元件是使用字串陣列新增選項。JComboBox元件在實作上需要新增ActionListener或ItemListener傾聽者物件來進行處理。 String items=“使用現金“,“使用信用卡“,“直接轉帳“,“使用支票“; JComboBox list = new JComboBox(items); 範例程式:.tw/reler/object/CheckCombo.java,JComboBox下拉式清單元件-可編輯,JComboBox元件擁有2種不同形式,在前述建立的JComboBox元件是不可編輯選項,如需編輯,請加上下列程式碼,如下所示: list.setEditable(true); 上述程式碼設定JComboBox元件的選項是可編輯的,如果沒有所需的選項,可以如同文字欄位一般自行輸入和新增選項。 範例程式:.tw/reler/object/CheckCombo1.java,JList清單方塊元件-說明,JList清單方塊元件也是繼承自JComponent,這個元件可以顯示整張清單選項,而且允許複選,如下圖所示:,JList清單方塊元件-唯讀,程式碼使用字串陣列建立JList元件的清單方塊,建構子預設建立的JList元件並不能新增、刪除和取代選項,JList元件需要使用JScrollPane來新增清單方塊的捲動軸。 String names = “John“, “jane”, “Tom“, “Jack“; JList fixedList = new JList(names); JScrollPane scroll1 = new JScrollPane(fixedList);,JList清單方塊元件-可編輯,建立允許新增、刪除和取代選項的清單方塊JList元件,請使用DefaultListModel物件建立JList元件,如下所示: DefaultListModel dlistModel = new DefaultListModel(); for (int i = 0; i names.length; i+) dlistModel.addElement(namesi); nameList = new JList(dlistModel); 上述程式碼在建立好DefaultListModel物件後,使用addElement()方法新增選項。 範例程式:.tw/reler/object/CheckList.java,JScrollBar與JSlider捲動與滑動軸元件-說明,JScrollBar與JSlider元件的操作十分相似,都是調整捲動軸中的方塊或滑動軸的指標來取得使用者選擇的比例值,只不過JScrollBar元件多了2個方向箭的調整鈕。,JScrollBar與JSlider捲動與滑動軸元件-JScrollBar元件,JScorllBar元件繼承自JComponent元件,在建立好JScrollBar元件後,只需調整捲動軸就可以傳回指定範圍的值,如下所示: JScrollBar s3 = new JScrollBar(JScrollBar.HORIZONTAL,50,10,0,100); 上述程式碼建立水平捲動軸,最後2個參數指出範圍值是0100,目前值為50,因為可見區域為10,所以實際的捲動值需刪除可見區域10,所以是090。 範例程式:.tw/reler/object/CheckScroll.java,JScrollBar與JSlider捲動與滑動軸元件-JSlider元件,JSlider元件是繼承自JComponent元件,在建立好JSlider元件後,只需調整滑動軸中間的指標就可以傳回指定範圍的值,如下所示: JSlider s4 = new JSlider(JSlider.HORIZONTAL, 0, 100, 50); 上述程式碼建立水平滑動軸,中間2個參數指出範圍值是0100,最後1個參數是目前值為50。,JTextComponent文字元件,Swing套件的文字元件可以讓使用者輸入文字內容,在本節說明的文字元件是繼承自JTextComponent,其繼承架構,如下圖所示:,JTextField與JPasswordField文字方塊元件-說明,JTextField文字方塊元件是用來輸入或顯示一行可捲動的文字內容,JPasswordField也是相同,只是輸入的文字是使用替代字元顯示。,JTextField與JPasswordField文字方塊元件-程式碼,JTextField文字方塊元件與JPasswordField的建構子參數是欄位寬度,如下所示: JTextField text = new JTextField(12); JPasswordField password = new JPasswordField(12); 範例程式:.tw/reler/object/Checktext.java,JTextArea文字區域元件-說明,JTextArea文字區域元件能夠輸入或顯示多行文字內容,使用”n”、”nr”或”r”符號換行(需視作業系統而定),如下圖所示:,JTextArea文字區域元件-說明,JTextArea文字區域元件使用”n”、”nr”或”r”符號換行(需視作業系統而定),如下所示: JTextArea area = new JTextArea(“等待輸入資料.n“, 15, 30); JScrollPane scroll = new JScrollPane(area); 上述程式碼建立指定初始字串、寬和高的JTextArea物件,因為文字區域需要捲動,所以使用JScrollPane容器元件替文字區域加上捲動軸。,視窗功能表和工具列元件,Swing套件提供功能強大的視窗功能表和工具列元件,可以輕鬆建立應用程式視窗上方的下拉式功能表、工具列和彈出式選單。 同樣的,視窗功能表和工具列元件也都是繼承自JComponent,其繼承架構如下圖所示:,JPopupMenu彈出式選單元件-說明,JPopupMenu彈出式選單元件繼承自JComponent,可以建立視窗應用程式滑鼠右鍵顯示的快顯功能表,內含選項的JMenuItem物件或JSeparator分隔線物件,如下圖所示:,JPopupMenu彈出式選單元件-建立物件,在建立JPopupMenu物件後,使用add()方法新增選項的JMenuItem物件,addSeparator()方法可以新增選單分隔線的JSeparator物件。 popup = new JPopupMenu(); popup.add(blue = new JMenuItem(“藍色“); popup.add(yellow = new JMenuItem(“黃色“); popup.add(green = new JMenuItem(“綠色“); popup.addSeparator(); popup.add(“紅色“);,JPopupMenu彈出式選單元件-事件處理,新增MouseListener傾聽者物件且實作mousePressed()和mouseReleased()方法來顯示彈出式視窗,如下所示: public void mousePressed(MouseEvent evt) if (evt.isPopupTrigger() popup.show(evt.getComponent(), evt.getX(), evt.getY(); public void mouseReleased(MouseEvent evt) if (evt.isPopupTrigger() popup.show(evt.getComponent(), evt.getX(), evt.getY(); ,JMenuBar、JMenu與JMenuItem下拉式選單元件-說明,在JFrame、JInternalFrame、JApplet和JDialog等類別的視窗新增下拉式功能表選單,類別建構子需要使用JMenuBar、JMenu和JMenuItem物件來建立下拉式功能表的物件。,JMenuBar、JMenu與JMenuItem下拉式選單元件- JMenuBar元件,JMenuBar元件是視窗上方的功能表列,如下所示: JMenuBar jmb = new JMenuBar(); setJMenuBar(jmb); 上述程式碼建立JMenuBar物件後,預設是空的功能表列,然後使用setJMenuBar()方法新增到JFrame視窗,換句話說,目前在視窗上方已經擁有一個空的功能表列。,JMenuBar、JMenu與JMenuItem下拉式選單元件-JMenu元件,在建立好JMenuBar物件後,就可以新增功能表列下拉式子選單的JMenu物件,如下所示: JMenu file = new JMenu(“檔案(F)“); JMenuItem item; file.add(item = new JMenuItem(“新增(N)“,KeyEvent.VK_N); file.add(item = new JMenuItem(“開啟(O)“,KeyEvent.VK_O); JMenu setting = new JMenu(“參數設定“); file.add(setting); file.addSeparator(); file.add(item = new JMenuItem(“關閉(X)“,KeyEvent.VK_X); jmb.add(file);,JMenuBar、JMenu與JMenuItem下拉式選單元件-Item元件,JMenuItem、JCheckBoxMenuItem與JRadioButtonMenuItem元件 JMenuItem、JCheckBoxMenuItem與JRadioButtonMenuItem類別的建構子可以新增選單的選項、核取方塊和選項鈕選項。 範例程式: .tw/reler/object/Ch11_3_2.java,JToolBar工具列元件-說明,JToolBar工具列元件繼承自JComponent類別,可以建立視窗的工具列按鈕,它也屬於一種容器元件,在建立好JToolBar物件後,就可以新增GUI元件到工具列,如下圖所示:,JToolBar工具列元件-建立物件,程式碼在建立好JToolBar元件後,使用add()方法新增GUI元件,最後只需將JToolBar元件視為GUI元件,新增到最上層容器物件即可。 JToolBar toolBar = new JToolBar(); blue = new JButton(new ImageIcon(“blue1.gif“); yellow = new JButton(new ImageIcon(“yellow1.gif“); green = new JButton(new ImageIcon(“green1.gif“); toolBar.add(blue); toolBar.add(yellow); toolBar.add(green); 範例程式: .tw/reler/object/CheckToolBar.java,檔案與色彩選擇元件-說明,Swing套件擁有瀏覽檔案系統選取檔案或資料夾的JFileChooser和選取色彩的JColorChooser元件2種選擇元件,這2個元件都是繼承自JComponent,其繼承架構如下圖所示:,JFileChooser檔案選擇元件-說明,JFileChooser檔案選擇元件可以顯示對話方塊瀏覽檔案系統,以便讓使用者選取檔案或資料夾。,JFileChooser檔案選擇元件-開啟檔案對話方塊,例如:開啟或儲存指定檔案,如下所示: JFileChooser jfc = new JFileChooser(); 上述程式碼建立JFileChooser物件後,使用showOpenDialog()方法顯示開啟檔案對話方塊,如下所示: int n = jfc.showOpenDialog(Ch11_4_1.this); if (n = JFileChooser.APPROVE_OPTION) File file = jfc.getSelectedFile(); ,JFileChooser檔案選擇元件-儲存檔案對話方塊,儲存檔案對話方塊是使用showSaveDialog()方法來顯示,如下所示: int m = jfc.showSaveDialog(Ch11_4_1.this); if (m = JFileChooser.APPROVE_OPTION) File file = jfc.getSelectedFile(); ,JColorChooser色彩選擇元件-說明,JColorChooser色彩選擇元件提供多種標籤和調色盤的色彩選擇對話方塊,如果Java應用程式需要讓使用者選擇色彩,就可以使用JColorChooser元件,如右圖所示:,JColorChooser色彩選擇元件-建立物件,JColorChooser色彩選擇元件的建立,如下所示: JColorChooser jcc = new JColorChooser(); 程式碼建立JColorChooser物件後,使用showDialog()方法顯示色彩選擇對話方塊,如下所示: Color newColor = jcc.showDialog(Ch11_4_2.this, “選擇背景色彩“, c.getBackground(); if (newColor != null) c.setBackground(newColor);,多重視窗介面JInternalFrame-說明,一般來說,視窗應用程式都不會只有一個視窗,如果需要在JFrame視窗開啟其它視窗,就可以使用JInternalFrame類別在JFrame視窗內建立多重視窗。其繼承架構如下圖所示:,多重視窗介面JInternalFrame-JDesktopPane和JLayeredPane類別,JInternalFrame物件是新增在JDesktopPane物件(在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国汽车内摆门市场调查研究报告
- 2025年中国桌面台布市场调查研究报告
- 2025年中国手动车镜市场调查研究报告
- 2025年中国建筑模型材料市场调查研究报告
- 2025年中国嵌入式电话会议系统市场调查研究报告
- 2025年中国复合型脱氧剂市场调查研究报告
- 2025年蔬菜串项目可行性研究报告
- 2025-2030脂质体辅助给药行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030网上商城产业深度调研及行业发展趋势与投资战略研究报告
- 2025-2030纤维水泥行业市场发展分析及竞争格局与投资战略研究报告
- 樊昌信通信原理课后答案
- 创业思维-创造你喜爱的人生(浙江旅游职业学院)知到智慧树答案
- 2024年10月自考03709马克思主义基本原理概论试题及答案含解析
- 《数字中国建设整体布局规划》解读报告
- 智慧旅游平台运营方案
- 《石油化工金属管道布置设计规范》SHT3012-2011
- 《断层解剖学》期末考试复习题库(含答案)
- 2024版口腔癌术后口腔冲洗技术培训课件
- 2024年注册安全工程师考试金属非金属矿山(初级)安全生产实务试题及答案指导
- 五年级上册数学培优奥数讲义-第17讲 不定方程
- 2024新版英语英语3500个单词分类大全
评论
0/150
提交评论