Swing的图形介面元件(II)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Swing的图形介面元件(II)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Swing 图形 介面 元件 II 课件
- 资源描述:
-
1、JAVA程式設計入門(II)2022/12/202 JPopupMenu彈出式選單元件 JMenuBar、JMenu與JMenuItem下拉式選單元件 JToolBar工具列元件 JFileChooser檔案選擇元件 JColorChooser色彩選擇元件 多重視窗大綱2022/12/203視窗功能表和工具列元件 Swing套件提供功能強大的視窗功能表和工具列元件,可以輕鬆建立應用程式視窗上方的下拉式功能表、工具列和彈出式選單。同樣的,視窗功能表和工具列元件也都是繼承自JComponent,其繼承架構如下圖所示:2022/12/204JPopupMenu彈出式選單元件-說明 JPopupMen
2、u彈出式選單元件繼承自JComponent,可以建立視窗應用程式滑鼠右鍵顯示的快顯功能表,內含選項的JMenuItem物件或JSeparator分隔線物件,如下圖所示:2022/12/205JPopupMenu彈出式選單元件-建立物件 在建立JPopupMenu物件後,使用add()方法新增選項的JMenuItem物件,addSeparator()方法可以新增選單分隔線的JSeparator物件。popup=new JPopupMenu();popup.add(blue=new JMenuItem(藍色);popup.add(yellow=new JMenuItem(黃色);popup.add
3、(green=new JMenuItem(綠色);popup.addSeparator();popup.add(紅色);2022/12/206JPopupMenu彈出式選單元件-事件處理 新增MouseListener傾聽者物件且實作mousePressed()和mouseReleased()方法來顯示彈出式視窗,如下所示:public void mousePressed(MouseEvent evt)if(evt.isPopupTrigger()popup.show(evt.getComponent(),evt.getX(),evt.getY();public void mouseRelea
4、sed(MouseEvent evt)if(evt.isPopupTrigger()popup.show(evt.getComponent(),evt.getX(),evt.getY();2022/12/207JPopupMenu建構子與方法 建構子:JPopupMenu()JPopupMenu(String):參數String是標題文字 方法:JMenuItem add(JMenuItem)JMenuItem add(String)void addSeparator()void insert(Component,int)void remove(JMenuItem)void remove(in
5、t)void removeAll()void show(Component,int,int)2022/12/208範例1:使用PopupMenu(1/4)建立Popup Menu的選擇項:1.import javax.swing.*;2.import java.awt.*;3.import java.awt.event.*;4./繼承JFrame類別,實作ActionListener介面5.public class Ch09_01 extends JFrame6.implements ActionListener7.private JPopupMenu popup;8.private JMen
6、uItem blue,yellow,green;9.private Container c;10./建構子11.public Ch09_01()12.super(JPopupMenu元件範例);13.c=getContentPane();14.c.setBackground(Color.pink);15.popup=new JPopupMenu();16.popup.add(blue=new JMenuItem(藍色);17.blue.addActionListener(this);18.popup.add(yellow=new JMenuItem(黃色);19.yellow.addActio
7、nListener(this);20.popup.add(green=new JMenuItem(綠色);21.green.addActionListener(this);22.popup.addSeparator();23.popup.add(紅色);/使用字串新增選項 2022/12/209範例1:使用PopupMenu(2/4)傾聽者:24.addMouseListener(new MouseAdapter()25.public void mousePressed(MouseEvent evt)26.if(evt.isPopupTrigger()/顯示選單27.popup.show(ev
8、t.getComponent(),28.evt.getX(),evt.getY();29.30.public void mouseReleased(MouseEvent evt)31.if(evt.isPopupTrigger()/顯示選單32.popup.show(evt.getComponent(),33.evt.getX(),evt.getY();34.35.);36.2022/12/2010範例1:使用PopupMenu(3/4)實作事件處理方法:37.public void actionPerformed(ActionEvent evt)38.if(evt.getSource()=b
9、lue)39.c.setBackground(Color.blue);/藍色40.if(evt.getSource()=yellow)41.c.setBackground(Color.yellow);/黃色42.if(evt.getSource()=green)43.c.setBackground(Color.green);/綠色44.repaint();/重繪45.2022/12/2011範例1:使用PopupMenu(4/4)主程式:46.public static void main(String args)47./建立Swing應用程式48.Ch09_01 app=new Ch09_0
10、1();49./關閉視窗事件,結束程式的執行50.app.addWindowListener(new WindowAdapter()51.public void windowClosing(WindowEvent evt)52.System.exit(0);53.);54.app.setSize(300,200);/設定尺寸55.app.setVisible(true);/顯示視窗56.57.2022/12/2012MenuMenu屬屬MenuComponentMenuComponent的延伸類別的延伸類別12ObjectMenuBarMenuItemMenuComponentMenuChec
11、kboxMenuItem2022/12/2013enuenu屬屬MenuComponentMenuComponent的延伸類的延伸類別別13以記事本為例說明選單及其相關元件MenuBarMenuMenuItemCheckboxMenuItem2022/12/201414enu屬屬MenuComponent的延伸類別的延伸類別Menu位於視窗標題列的下方位於視窗標題列的下方使用選單時,框架(使用選單時,框架(Frame)會有一個選單列)會有一個選單列(MenuBar),選單列內有數個選單(),選單列內有數個選單(Menu)每個每個Menu內會有多個選項(內會有多個選項(MenuItem)或核)或
12、核選式選項(選式選項(CheckboxMenuItem),選單是選項),選單是選項的容器的容器選單也可以是另一個選單的容器選單也可以是另一個選單的容器2022/12/2015JMenuBar、JMenu與JMenuItem下拉式選單元件-說明 在JFrame、JInternalFrame、JApplet和JDialog等類別的視窗新增下拉式功能表選單,類別建構子需要使用JMenuBar、JMenu和JMenuItem物件來建立下拉式功能表的物件。2022/12/2016JMenuBar、JMenu與JMenuItem下拉式選單元件-JMenuBar元件 JMenuBar元件是視窗上方的功能表列
13、,如下所示:JMenuBar jmb=new JMenuBar();setJMenuBar(jmb);上述程式碼建立JMenuBar物件後,預設是空的功能表列,然後使用setJMenuBar()方法新增到JFrame視窗,換句話說,目前在視窗上方已經擁有一個空的功能表列。2022/12/2017JMenuBar、JMenu與JMenuItem下拉式選單元件-JMenu元件 在建立好JMenuBar物件後,就可以新增功能表列下拉式子選單的JMenu物件,如下所示:JMenu file=new JMenu(檔案(F);JMenuItem item;file.add(item=new JMenuIt
14、em(新增(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);2022/12/2018JMenuBar、JMenu與JMenuItem下拉式選單元件-Item元件JMenuItem、JCheckBoxMenuItem與JRadioButtonMenuIt
15、em元件 JMenuItem、JCheckBoxMenuItem與JRadioButtonMenuItem類別的建構子可以新增選單的選項、核取方塊和選項鈕選項。2022/12/2019範例2:建立Menu(1/5)基本宣告:1./*程式範例:Ch09_02.java*/2.import javax.swing.*;3.import java.awt.*;4.import java.awt.event.*;5./繼承JFrame類別,實作ActionListener介面6.public class Ch09_02 extends JFrame7.implements ActionListener
16、8.private JRadioButtonMenuItem red,green,blue;9.private JMenuItem openItem,newItem,exitItem,codeItem,typeItem;10.private JMenu setting;11.private Container c;12./建構子13.public Ch09_02()14.super(JMenuBar元件範例);15.c=getContentPane();16.c.setBackground(Color.white);17.JMenuBar jmb=new JMenuBar();18.setJM
17、enuBar(jmb);2022/12/2020範例2:建立Menu(2/5)建立第一個File的enu:19.JMenu file=new JMenu(檔案(F);20.file.setMnemonic(KeyEvent.VK_F);21.openItem=new JMenuItem(新增(N),KeyEvent.VK_N);22.newItem=new JMenuItem(開啟(O),KeyEvent.VK_O);23.exitItem=new JMenuItem(關閉(X),KeyEvent.VK_X);24.setting=new JMenu(參數設定);25.codeItem=new
18、 JMenuItem(編碼);26.typeItem=new JMenuItem(字型);27.28.openItem.addActionListener(this);29.newItem.addActionListener(this);30.exitItem.addActionListener(this);31.codeItem.addActionListener(this);32.typeItem.addActionListener(this);33.34.file.add(openItem);35.file.add(newItem);36.setting.add(codeItem);37
19、.setting.add(typeItem);38.file.add(setting);39.file.addSeparator();/分隔線40.file.add(exitItem);41.jmb.add(file);/新增file選單2022/12/2021範例2:建立Menu(3/5)建立第二個Menu:42.JMenu choice=new JMenu(選項(C);43.choice.setMnemonic(KeyEvent.VK_C);44.JCheckBoxMenuItem check;45.check=new JCheckBoxMenuItem(切換);46.check.addA
20、ctionListener(this);47.choice.add(check);48.ButtonGroup buttongroup=new ButtonGroup();49.red=new JRadioButtonMenuItem(紅色);50.choice.add(red);51.buttongroup.add(red);52.red.addActionListener(this);53.green=new JRadioButtonMenuItem(綠色);54.choice.add(green);55.buttongroup.add(green);56.green.addActionL
21、istener(this);57.blue=new JRadioButtonMenuItem(藍色);58.choice.add(blue);59.buttongroup.add(blue);60.blue.addActionListener(this);61.jmb.add(choice);62.2022/12/2022範例2:建立Menu(4/5)實作事件處理方法:63.public void actionPerformed(ActionEvent evt)64.65.if(evt.getSource()=exitItem)66.System.exit(0);67.if(evt.getSo
22、urce()=red)68.c.setBackground(Color.red);69.if(evt.getSource()=green)70.c.setBackground(Color.green);71.if(evt.getSource()=blue)72.c.setBackground(Color.blue);73.repaint();/重繪74.2022/12/2023範例2:建立Menu(5/5)主程式76.public static void main(String args)77./建立Swing應用程式78.Ch09_02 app=new Ch09_02();79./關閉視窗事
23、件,結束程式的執行80.app.addWindowListener(new WindowAdapter()81.public void windowClosing(WindowEvent evt)82.System.exit(0);83.);84.app.setSize(300,200);/設定尺寸85.app.setVisible(true);/顯示視窗86.87.2022/12/2024JToolBar工具列元件-說明 JToolBar工具列元件繼承自JComponent類別,可以建立視窗的工具列按鈕,它也屬於一種容器元件,在建立好JToolBar物件後,就可以新增GUI元件到工具列,如下
展开阅读全文