資源描述:
《用戶界面組件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、239第9章用戶界面組件在Java圖形界面設(shè)計時,界面上的元素都是組件。常用的輕型組件有JButton、JLabel、JTextField、JTextArea、JComboBox、JList、JCheckBox、JRadioButton、JMenuBar、JMenu、JMenuItem、JScrollBar、JScrollPane等。9.1組件(component)Component類是所有組件(UI組件和容器)的父類,因此Component類的特征被其所有子類繼承。所有組件外形都是矩形框。屏幕有個坐標(biāo)系,組件以屏幕坐標(biāo)來確定組件在屏幕上顯示的位置。在默認(rèn)情況下,組件在屏幕
2、上顯示時,組件的左上角的坐標(biāo)值是(0,0)。當(dāng)組件是容器時,容器也有自已的坐標(biāo)系。當(dāng)把組件加入容器時,被加入容器的組件在容器中的位置由組件的左上角坐標(biāo)(x,y)確定。這里的(x,y)是組件的左上角在容器坐標(biāo)系中的值。下面介紹Component類的常用屬性和方法。9.1.1組件的屬性組件的重要屬性如下:lfont:組件中顯示文字所用的字體。lbackground:組件的背景色。lforeground:組件的前景色。lheight:組件的當(dāng)前高度。lwidth:組件的當(dāng)前寬度。llocale:組件的地區(qū)特性.lpreferredSize:組件在視覺上的理想尺寸.lminimum
3、Size:指定組件可用的最小尺度。對大部分Swing組件而言,minimumSize與preferredSize是相同的.一般地,與preferredSize相比,布局管理器更優(yōu)先考慮minimumSize.lmaximumSize:指定組件需要的最大尺度,這樣布局管理器可以避免由于分配給某一組件過多的空間而造成浪費。lToolTipText:鼠標(biāo)指向組件所顯示的文字.239239lDoubleBuffered:指定繪制組件時是否采用雙緩沖技術(shù).lBorder:指定組件的邊框9.1.2組件的常用方法1.顏色的設(shè)置和獲取lpublicvoidsetBackground(Col
4、orcolor):設(shè)置組件的背景色。lpublicColorgetBackground(Colorcolor):獲取組件的背景色。lpublicvoidsetForeground(Colorcolor):設(shè)置組件的前景色。lpublicColorgetForeground(Colorcolor):獲取組件的前景色。2.字體的設(shè)置和獲取lpublicvoidsetFont(Fontfont):組件調(diào)用該方法設(shè)置組件上的字體。例如,文本框調(diào)用該方法,可以設(shè)置文本框中的字體。lpublicFontgetFont(Fontfont):組件調(diào)用該方法獲取組件上的字體。在創(chuàng)建字體對象時
5、,要使用參數(shù)(字體名稱),因此,執(zhí)行程序的計算機(jī)上必須有這個字體名稱。如果在創(chuàng)建字體對象時,沒有給出一個合理的字體名稱,那么系統(tǒng)會自動采用程序運行平臺上的默認(rèn)字體名稱。如何獲取計算機(jī)上所有可用的字體名稱?分析:GraphicsEnvironment類是java.awt包中的抽象類,不能用該類的構(gòu)造方法創(chuàng)建對象。我們用GraphicsEnvironment類的類方法獲取圖形對象(GraphicsEnvironment對象)。然后通過GraphicsEnvironment對象中的String[]getAvailableFontFamilyNames()方法獲取計算機(jī)上所有可用的
6、字體名稱,并存放到字符串?dāng)?shù)組中。獲取計算機(jī)上所有字體名稱的代碼如下:GraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnvironment();//獲取計算機(jī)的圖象對象StringfontName[]=ge.getAvailableFontFamilyNames();//把一系列字體名稱保存到數(shù)組中【例9.1】窗體里添加兩個按鈕和一個標(biāo)簽。通過點擊按鈕1和按鈕2設(shè)置標(biāo)簽顏色和字體。解題思路:1、對題目進(jìn)行分析設(shè)計,分析這個程序需要多少個類完成;2、創(chuàng)建窗體,然后創(chuàng)建兩個面板,用于往窗體里添加兩個按鈕和添加一
7、個標(biāo)簽;3、然后對這些組件進(jìn)行監(jiān)聽,當(dāng)事件源是按鈕1和按鈕2被按下的時候觸發(fā)事件,設(shè)置標(biāo)簽顏色和字體;程序名:ChangeFontextends.java【程序源代碼】239239importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;//下面是定義一個ChangeFont框架類publicclassChangeFontextendsJFrame{//實例化兩個按鈕privateJButtonbut1=newJButton("button1");pri