首頁(yè)技術(shù)文章正文

Swing JPanel組件和 JScrollPane組件使用教程

更新時(shí)間:2021-08-19 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

Swing組件中不僅有JFrame 和 JDialog 這樣的頂級(jí)容器,而且提供了一些面板組件(也稱為中間容器)。面板組件不能單獨(dú)存在,只能放置在頂級(jí)窗口容器中。最常見(jiàn)的面板組件有兩種,分別是JPanel和 JSerollPane,下面分別介紹這兩種面板組件。

1.JPanel

JPanel面板組件是個(gè)無(wú)邊框且不能被移動(dòng)、放大、縮小或者關(guān)閉的面板,它的默認(rèn)布局管理器是FlowLayout。也可以使用JPanel帶參數(shù)的構(gòu)造函數(shù)JPanel (LayoutManager layout)或者setLayout()成員方法設(shè)置JPanel布局管理器。

JPanel面板組件類并沒(méi)有包含多少特殊的組件操作方法,大數(shù)都是從父類(如 Container)繼承過(guò)來(lái)的,使用也非常簡(jiǎn)單。

2. JScrollPane

JScrollPane是一個(gè)帶有滾動(dòng)條的面板,面板上只能添加一個(gè)組件。如果想向JScrollPane面板中添加多個(gè)組件,應(yīng)該先將多個(gè)組件添加到某個(gè)組件中,然后將這個(gè)組件添加到JScrollPane中。

JScrollPane的常用構(gòu)造法如表11-7所示。

表11-7 JScrollPane的常用構(gòu)造方法

Swing面板組件介紹


如果在構(gòu)造方法中設(shè)定顯示組件和滾動(dòng)條策略,可以調(diào)用JScrollPane提供的成員方法法進(jìn)行設(shè)置,JScrollPane面板滾動(dòng)策略的執(zhí)行方法如表11-8所示

Swing面板組件介紹


關(guān)于上述介紹的JScolPlane 面板組件滾動(dòng)策略的設(shè)置方法,ScollPande 接口聲明了多個(gè)常量屬性,可以用來(lái)設(shè)置不同的滾動(dòng)策略。

JscolPame的滾動(dòng)屬性如表11-9所示。

表11-9 JSrollPane 的滾動(dòng)屬性

Swing面板組件介紹


下面通過(guò)一個(gè)案例演示面板組件的基本用法,如文件11-11所示。

文件1-11 Example11java

Import  java.awt.*;
import javax. swing.*;.
public class Examplell {
private static void createAndshowGUI (){
// 1創(chuàng)建一個(gè)JFrame容器窗口
JFrame f = new JFrame ("PanelDemo") ;
f,setLayout (new BorderLayout () ) ;
f.setsize (350,200 )
f.setlocation (300,200 )
f. setVisible(ture)
f. setDefaultCloseOperation(JFrame.EXIT ON CLOSE) ;
// 創(chuàng)建JScrollPane滾動(dòng)面板組件
JScrollPane scrollPane =new JSscrollPane
設(shè)置水平滾動(dòng)條策略--滾動(dòng)條需要時(shí)最示
scrollPane.setHorizontalScrolIBarpolicy
SerollPaneConstants HORIZONTAL_SCROLLBAR_ALWAYS) ”
//定義一個(gè)JPanel面板組件
JPanel pane = new JPanel();
// JPanel 面板中加4個(gè)按鈕
panel.add (new JButton(按鈕“1") ) ;
panel.add (new JButton(按鈕“2") ) ;
panel.add (new JButton(按鈕“3") ) ;
panel.add (new JButton(按鈕“4") ) ;
設(shè)置JPanel面板在滾動(dòng)面板中JScrollPan中顯示
scrollPane.setviewportView(pane)
向JFrame容窗口中添加JSCrollpane中顯示 CENTER) ;
scrollPane,BroderLayout.CENTER);
}
Public static void main(String[ ] args) {
//使用SwingUtilitles工具類調(diào)用 createAndShowGUI( )方法并顯示GUI程序
SwingUtilitleh1ities . invokeLater(Exampll;;createAndShowGUI);
}
}


文件11-11的運(yùn)行結(jié)果如11-22所示。

在文件11-11中,第4~31代碼定義了createAndShowGUI( )方法,其中,第6-11行代碼創(chuàng)建了一個(gè)名為scollPane的滾動(dòng)面板組件,第15~ 16行代碼設(shè)置水平滾動(dòng)條策略為滾動(dòng)條需要時(shí)顯示:第18~ 19行代時(shí)設(shè)置垂直滾動(dòng)條策略為滾動(dòng)條一直顯示;第21~26行代碼創(chuàng)建創(chuàng)建了一個(gè)面板組件pane并在panel中添加了4個(gè)按鈕,第28行代碼設(shè)置panel面板在滾動(dòng)面板sollane中顯示:第30行代碼向f容器窗口中添加滾動(dòng)面板組件srellPane最后,在main() 方法中使用SwingUtilities工具類封裝好的createAndShowGUI( )方法顯示CUI程序。

1629358368717_swing.jpg

文件11-11的運(yùn)行結(jié)果







猜你喜歡:

Swing如何實(shí)現(xiàn)事件處理?處理流程是怎樣的?

Java swing是什么?有什么作用?

Swing有幾種事件?Swing常用事件講解

黑馬程序員Java開(kāi)發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!