第三部分java應(yīng)用程序設(shè)計(jì)圖形界面其他容器_第1頁(yè)
第三部分java應(yīng)用程序設(shè)計(jì)圖形界面其他容器_第2頁(yè)
第三部分java應(yīng)用程序設(shè)計(jì)圖形界面其他容器_第3頁(yè)
第三部分java應(yīng)用程序設(shè)計(jì)圖形界面其他容器_第4頁(yè)
第三部分java應(yīng)用程序設(shè)計(jì)圖形界面其他容器_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JAVA 應(yīng)用開(kāi)發(fā)詳解第18章:圖形界面 其他容器MLDN 軟件教學(xué)研發(fā)部本章目標(biāo)了解Jpanel容器了解JSplitPane容器了解JTabbedPane容器了解JScrollPane容器了解JDesktopPane容器了解JInternalFrame容器JPanel JPanel也是一種經(jīng)常使用到的容器之一,可以使用JPanel完成各種復(fù)雜的界面顯示。在JPanel中可以加入任意的組件,之后直接將JPanel容器加入到JFrame容器中即可顯示。 No.方法類型描述1public JPanel()構(gòu)造創(chuàng)建一個(gè)默認(rèn)的JPanel對(duì)象,使用流布局管理2public JPanel(LayoutM

2、anager layout)構(gòu)造創(chuàng)建一個(gè)指定布局管理器的JPanel對(duì)象JPanel的基本使用 package org.lxh.demo18.jpaneldemo;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class JPanelDemo01 public static void main(String args) JFrame frame = new JFrame( e To MLDN) ;/ 實(shí)例化窗體對(duì)象JP

3、anel pan = new JPanel() ;/ 實(shí)例化JPanel對(duì)象pan.add(new JLabel(標(biāo)簽-A) ;/ 加入標(biāo)簽組件pan.add(new JLabel(標(biāo)簽-B) ;/ 加入標(biāo)簽組件pan.add(new JLabel(標(biāo)簽-C) ;/ 加入標(biāo)簽組件pan.add(new JButton(按鈕-X) ;/ 加入按鈕組件pan.add(new JButton(按鈕-Y) ;/ 加入按鈕組件pan.add(new JButton(按鈕-Z) ;/ 加入按鈕組件frame.add(pan) ;/ 將JPanel加入到窗體frame.pack() ;/ 根據(jù)組件自動(dòng)調(diào)整窗

4、體大小 frame.setLocation(300,200) ;/ 設(shè)置窗體的顯示位置frame.setVisible(true) ;/ 讓組件顯示JSplitPane JSplitPane主要功能是分割面板,可以將一個(gè)窗體分為兩個(gè)子窗體,可以是水平排列也可以是垂直排列。 JSplitPane類的主要方法及常量 No.方法及常量類型描述1public static final int HORIZONTAL_SPLIT常量表示水平分割2public static final int VERTICAL_SPLIT常量表示垂直分割3public JSplitPane(int newOrientati

5、on)構(gòu)造創(chuàng)建對(duì)象,并指明分割方式4public JSplitPane(int newOrientation, boolean newContinuousLayout, Component ponent, Component ponent)構(gòu)造創(chuàng)建對(duì)象、指明分割方式、分割條改變是否重繪圖象以及兩端的顯示組件5public void setDividerLocation(double proportionalLocation)普通設(shè)置分割條的位置,按百分比6public void setOneTouchExpandable(boolean newValue)普通設(shè)置是否提供快速展開(kāi)/折疊的功能7

6、public void setDividerSize(int newSize)普通設(shè)置分割條大小實(shí)現(xiàn)復(fù)雜分割 package org.lxh.demo18.jsplitdemo;import java.awt.Container;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JSplitPane;public class JSplitPaneDemo01 public static void main(String args) JFrame frame = new JFrame( e To MLDN

7、) ;/ 實(shí)例化窗體對(duì)象Container cont = frame.getContentPane() ;/ 得到窗體容器JSplitPane lfsplit = null ;/ 左右分割的SplitPanelJSplitPane tbsplit = null ;/ 上下分割的SplitPanellfsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JLabel(左標(biāo)簽),new JLabel(右標(biāo)簽);lfsplit.setDividerSize(3) ;/ 設(shè)置左右的分割線大小tbsplit = new JSplitPane(J

8、SplitPane.VERTICAL_SPLIT, lfsplit,new JLabel(下標(biāo)簽);tbsplit.setDividerSize(10) ;/ 設(shè)置上下的分割線大小tbsplit.setOneTouchExpandable(true) ;cont.add(tbsplit) ;/ 將JSplitPane加入到窗體frame.setSize(230, 80) ;/ 設(shè)置窗體大小frame.setLocation(300,200) ;/ 設(shè)置窗體的顯示位置frame.setVisible(true) ;/ 讓組件顯示JTabbedPane JTabbedPane是在一個(gè)面板上設(shè)置多個(gè)

9、選項(xiàng)卡供用戶選擇。 如果需要查看那方面的信息,則直接點(diǎn)開(kāi)選項(xiàng)卡即可瀏覽,通過(guò)這種方式用戶可以方便的管理自己的相關(guān)信息。 JTabbedPane類的常用方法及常量 No.方法及常量類型描述1static final int TOP常量表示指向框頂部位置2static final int BOTTOM常量表示指向框底部位置3static final int LEFT常量表示指向框左部位置4static final int RIGHT常量表示指向框右部位置5public JTabbedPane(int tabPlacement)構(gòu)造創(chuàng)建對(duì)象,并指定選項(xiàng)卡布局6public void addTab(S

10、tring ponent component)普通添加一個(gè)有標(biāo)題,而沒(méi)有圖標(biāo)的組件7public void addTab(String title,Icon ponent component)普通添加一個(gè)有標(biāo)題,有圖標(biāo)的組件8public void addTab(String title,Icon ponent component,String tip)普通添加一個(gè)有標(biāo)題,有圖標(biāo),有提示信息的組件設(shè)置選項(xiàng)卡 public class JTabbedPaneDemo01 public static void main(String args) JFrame frame = new JFrame(

11、 e To MLDN) ;/ 實(shí)例化窗體對(duì)象Container cont = frame.getContentPane() ;/ 得到窗體容器JTabbedPane tab = null ;tab = new JTabbedPane(JTabbedPane.TOP) ; / 設(shè)置標(biāo)簽在頂部顯示JPanel pan1 = new JPanel() ;/ 設(shè)置面板JPanel pan2 = new JPanel() ;/ 設(shè)置面板JButton but = new JButton(按鈕) ;/ 定義一個(gè)按鈕JLabel lab = new JLabel(標(biāo)簽) ;/ 定義一個(gè)標(biāo)簽pan1.add(

12、but) ;/ 第一個(gè)面板加入一個(gè)按鈕pan2.add(lab) ;/ 第二個(gè)面板加入一個(gè)標(biāo)簽String picPath = f: + File.separator + logo.gif ;tab.addTab(圖片選項(xiàng), new ImageIcon(picPath), pan1, 圖象);tab.addTab(文字選項(xiàng), pan2) ;/ 加入兩個(gè)組件cont.add(tab) ;/ 加入到容器之中frame.setSize(230, 120) ;/ 設(shè)置窗體大小frame.setLocation(300,200) ;/ 設(shè)置窗體的顯示位置frame.setVisible(true) ;/

13、 讓組件顯示JScrollPane 在一般的圖形界面中如果顯示的區(qū)域不夠大了,往往會(huì)出現(xiàn)滾動(dòng)條以方便用戶瀏覽,在Swing中JScrollPane的主要功能就是為顯示的內(nèi)容加入水平滾動(dòng)條。JScrollPane主要由JViewport和JScrollBar兩部分組成,前者主要是顯示一個(gè)矩形的區(qū)域讓用戶瀏覽,而后者主要是形成水平或垂直的滾動(dòng)條。JScrollPane的常用方法及常量 No.方法及常量類型描述1static final int HORIZONTAL_SCROLLBAR_ALWAYS常量始終顯示水平滾動(dòng)條2static final int HORIZONTAL_SCROLLBAR_N

14、EVER常量任何情況下都不顯示水平滾動(dòng)條3static final int HORIZONTAL_SCROLLBAR_AS_NEEDED常量根據(jù)自身需要顯示水平滾動(dòng)條4static final int VERTICAL_SCROLLBAR_ALWAYS常量始終顯示垂直滾動(dòng)條5static final int VERTICAL_SCROLLBAR_NEVER常量任何情況下都不顯示垂直滾動(dòng)條6static final int VERTICAL_SCROLLBAR_AS_NEEDED常量根據(jù)自身需要顯示垂直滾動(dòng)條7public JScrollPane(Component view)構(gòu)造將指定的組件加

15、入滾動(dòng)條,根據(jù)大小顯示水平或垂直滾動(dòng)條8public JScrollPane(Component view,int vsbPolicy,int hsbPolicy)構(gòu)造將指定的組件加入滾動(dòng)條,根據(jù)需要設(shè)置是否顯示垂直或水平滾動(dòng)條9public void setHorizontalScrollBarPolicy(int policy)普通設(shè)置水平滾動(dòng)條的顯示策略10public void setVerticalScrollBarPolicy(int policy)普通設(shè)置垂直滾動(dòng)條的顯示策略為圖片設(shè)置滾動(dòng)條 public class JScrollPaneDemo01 public static

16、 void main(String args) JFrame frame = new JFrame( e To MLDN) ;/ 實(shí)例化窗體對(duì)象Container cont = frame.getContentPane() ;/ 得到窗體容器String picPath = f: + File.separator + mldn.gif ;Icon icon = new ImageIcon(picPath) ;/ 實(shí)例化Icon對(duì)象JPanel pan = new JPanel() ;/ 定義一個(gè)面板JLabel lab = new JLabel(icon) ;/ 定義一個(gè)標(biāo)簽,顯示圖片pan.

17、add(lab) ;/ 將標(biāo)簽加到面板之中JScrollPane scr1 = null ;/ 聲明滾動(dòng)面板/ 垂直滾動(dòng)條始終會(huì)顯示,水平滾動(dòng)條根據(jù)需要顯示scr1 = new JScrollPane(pan, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);cont.add(scr1) ;/ 加入到容器之中frame.setSize(230, 120) ;/ 設(shè)置窗體大小frame.setLocation(300,200) ;/ 設(shè)置窗體的顯示位置frame.setVisibl

18、e(true) ;/ 讓組件顯示JDesktopPane與JInternalFrame 在Swing中也可以完成內(nèi)部窗體的顯示,即,在一個(gè)窗體可以出現(xiàn)多個(gè)子窗體,每一個(gè)子窗體都無(wú)法超出父窗體的區(qū)域。JDesktopPane規(guī)定出了一個(gè)父窗體的基本形式,而JInternalFrame規(guī)定出了各個(gè)子窗體,JInternalFrame需要加入到JDesktopPane之中。 JDesktopPane類的常用方法 No.方法類型描述1public JDesktopPane()構(gòu)造創(chuàng)建一個(gè)JDesktopPane()對(duì)象2public void setSelectedFrame(JInternalFra

19、me f)普通設(shè)置此JDesktopPane中當(dāng)前活動(dòng)的JInternalFrameJInternalFrame類的常用方法 No.方法類型描述1public JInternalFrame(String title)構(gòu)造創(chuàng)建不可調(diào)整大小的、不可關(guān)閉的、不可最大化的、不可圖標(biāo)化的、具有指定標(biāo)題的 JInternalFrame2public JInternalFrame(String title,boolean resizable)構(gòu)造創(chuàng)建不可關(guān)閉的、不可最大化的、不可圖標(biāo)化的,以及具有指定標(biāo)題和可調(diào)整大小的 JInternalFrame3public JInternalFrame(String

20、title,boolean resizable,boolean closable,boolean maximizable,boolean iconifiable)構(gòu)造創(chuàng)建可調(diào)整、可關(guān)閉、可最大化、可圖標(biāo)化的JInternalFrame。設(shè)置內(nèi)部窗體 public class JInternalFrameDemo01 public static void main(String args) JFrame frame = new JFrame( e To MLDN) ;/ 實(shí)例化窗體對(duì)象frame.setLayout(new BorderLayout();/ 設(shè)置布局管理器Container cont = frame.getContentPane() ;/ 得到窗體容器JDesktopPane desk = new JDesktopPane() ;/ 實(shí)例化JDesktopPane容器cont.add(desk, BorderLayout.CENTE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論