亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        JAVA教程第七講Swing用戶界面設(shè)計(jì)7.2

        字號(hào):

        7.2 Swing組件和容器
            在Swing中不但用輕量級(jí)的組件替代了AWT中的重量級(jí)的組件,而且Swing的替代組件中都包含有一些其他的特性。例如,Swing的按鈕和標(biāo)簽可顯示圖標(biāo)和文本,而AWT的按鈕和標(biāo)簽只能顯示文本。Swing中的大多數(shù)組件都是AWT組件名前面加了一個(gè)"J"。
            7.2.1 組件的分類
            Jcomponent是一個(gè)抽象類,用于定義所有子類組件的一般方法,其類層次結(jié)構(gòu)如下所示:
            java.lang.Object
              |
              +--java.awt.Component
                   |
                   +--java.awt.Container
                       |
                       +--javax.swing.JComponent
            并不是所有的Swing組件都繼承于JComponent類,JComponent類繼承于Container類,所以凡是此類的組件都可作為容器使用。
            組件從功能上分可分為:
            1) 頂層容器:JFrame,JApplet,JDialog,JWindow共4個(gè)
            2) 中間容器:JPanel,JScrollPane,JSplitPane,JToolBar 
            3) 特殊容器:在GUI上起特殊作用的中間層,如JInternalFrame,JLayeredPane,JRootPane.
            4) 基本控件:實(shí)現(xiàn)人際交互的組件,如Jbutton, JComboBox, JList, JMenu, JSlider, JtextField。
            5) 不可編輯信息的顯示:向用戶顯示不可編輯信息的組件,例如JLabel, JProgressBar, ToolTip。
            6) 可編輯信息的顯示:向用戶顯示能被編輯的格式化信息的組件,如JColorChooser, JFileChoose, JFileChooser, Jtable, JtextArea。
            JComponent類的特殊功能又分為:
            1) 邊框設(shè)置:使用setBorder()方法可以設(shè)置組件外圍的邊框,使用一個(gè)EmptyBorder對(duì)象能在組件周圍留出空白。
            2) 雙緩沖區(qū):使用雙緩沖技術(shù)能改進(jìn)頻繁變化的組件的顯示效果。與AWT組件不同,JComponent組件默認(rèn)雙緩沖區(qū),不必自己重寫代碼。如果想關(guān)閉雙緩沖區(qū),可以在組件上施加setDoubleBuffered(false)方法。
            3) 提示信息:使用setTooltipText()方法,為組件設(shè)置對(duì)用戶有幫助的提示信息。
            4) 鍵盤導(dǎo)航:使用registerKeyboardAction( ) 方法,能使用戶用鍵盤代替鼠標(biāo)來驅(qū)動(dòng)組件。JComponent類的子類AbstractButton還提供了便利的方法--用setMnemonic( )方法指明一個(gè)字符,通過這個(gè)字符和一個(gè)當(dāng)前L&F的特殊修飾共同激活按鈕動(dòng)作。
            5) 可插入L&F:每個(gè)Jcomponent對(duì)象有一個(gè)相應(yīng)的ComponentUI對(duì)象,為它完成所有的繪畫、事件處理、決定尺寸大小等工作。 ComponentUI對(duì)象依賴當(dāng)前使用的L&F,用UIManager.setLookAndFeel( )方法可以設(shè)置需要的L&F.
            6) 支持布局:通過設(shè)置組件、最小、推薦尺寸的方法和設(shè)置X、Y對(duì)齊參數(shù)值的方法能指定布局管理器的約束條件,為布局提供支持。
            7.2.2 使用Swing的基本規(guī)則
            與AWT組件不同,Swing組件不能直接添加到頂層容器中,它必須添加到一個(gè)與Swing頂層容器相關(guān)聯(lián)的內(nèi)容面板(content pane)上。內(nèi)容面板是頂層容器包含的一個(gè)普通容器,它是一個(gè)輕量級(jí)組件。基本規(guī)則如下:
            (1)把Swing組件放入一個(gè)頂層Swing容器的內(nèi)容面板上
            (2)避免使用非Swing的重量級(jí)組件。
               
             看圖
            對(duì)JFrame添加組件有兩種方式:
            1) 用getContentPane( )方法獲得JFrame的內(nèi)容面板,再對(duì)其加入組件:frame.getContentPane().add(childComponent)
            2) 建立一個(gè)Jpanel或 JDesktopPane之類的中間容器,把組件添加到容器中,用setContentPane()方法把該容器置為JFrame的內(nèi)容面板:
             Jpanel contentPane=new Jpanel( );
             ……//把其它組件添加到Jpanel中;
             frame.setContentPane(contentPane);
             //把contentPane對(duì)象設(shè)置成為frame的內(nèi)容面板