Java面板基礎中的JPanel和JScrollpane

Java中的面板有兩種,一種是普通面板(JPanel),另一種是滾動面板(JScrollPane)。

JPanel

面板是一種通用容器,JPanel的作用是實現界面的層次結構,在它上面放入一些組件,也可以在上面繪畫,將放有組件和有畫的JPanel再放入另一個容器裏。JPanel的默認佈局爲FlowLayout。


面板處理程序的基本內容有以下幾個方面:


通過繼承聲明JPanel類的子類,子類中有一些組件,並在構造方法中將組件加入面板。


聲明JPanel子類對象。


創建JPanel子類對象。


將JPanel子類對象加入到某個容器。


JPanel類的常用構造方法有:


JPanel(),創建一個JPanel對象。


JPanel(LayoutManager layout),創建JPanel對象時指定佈局layout。


JPanel對象添加組件的方法:


add(組件),添加組件。


add(字符串,組件),當面板採用GardLayout佈局時,字符串是引用添加組件的代號。


【例 11-4】小應用程序有兩個JPanel子類對象和一個按鈕。每個JPanel子類對象又有兩個按鈕和一個標籤。


import java.applet.*;


import javax.swing.*;


class MyPanel extends JPanel{


JButton button1,button2;


JLabel Label;


MyPanel(String s1,String s2,String s3){


        //Panel對象被初始化爲有兩個按鈕和一個文本框


button1=new JButton(s1);button2=new JButton(s2);


Label=new JLabel(s3);


add(button1);add(button2);add(Label);


}


}


public class J504 extends Applet{


MyPanel panel1,panel2;


JButton Button;


public void init(){


        panel1=new MyPanel("確定","取消","標籤,我們在面板1中");


        panel2=new MyPanel("確定","取消","標籤,我們在面板2中");


        Button=new JButton("我是不在面板中的按鈕");


add(panel1);add(panel2);add(Button);


setSize(300,200)

}
}
JScrollPane
當一個容器內放置了許多組件,而容器的顯示區域不足以同時顯示所有組件時,如果讓容器帶滾動條,通過移動滾動條的滑塊,容器中位置上的組件就能看到。滾動面板JScrollPane能實現這樣的要求,JScrollPane是帶有滾動條的面板。JScrollPane是Container類的子類,也是一種容器,但是隻能添加一個組件。JScrollPane的一般用法是先將一些組件添加到一個JPanel中,然後再把這個JPanel添加到JScrollPane中。這樣,從界面上看,在滾動面板上,好像也有多個組件。在Swing中,像JTextArea、JList、JTable等組件都沒有自帶滾動條,都需要將它們放置於滾動面板,利用滾動面板的滾動條,瀏覽組件中的內容。

到知海匠庫http://www.zhihaijiangku.com 學習java,掌握系統知識,實戰企業級項目,成爲受用人單位歡迎的java工程師。
JScrollPane類的構造方法有:


JScrollPane(),先創建JScrollPane對象,然後再用方法setViewportView(Component com)爲滾動面板對象放置組件對象。


JScrollPane(Component com),創建JScrollPane對象,參數com是要放置於JScrollPane對象的組件對象。爲JScrollPane對象指定了顯示對象之後,再用add()方法將JScrollPane對象放置於窗口中。


JScrollPane對象設置滾動條的方法是:


setHorizontalScrollBarPolicy(int policy),policy 取以下列3個值之一:


JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS


JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEED


JScrollPane.HORIZONTAL_SCROLLBAR_NEVER


setVerticalScrollBarPolicy(int policy), policy 取以下列3個值之一:


JScrollPane.VERTICAL_SCROLLBAR_ALWAYS


JScrollPane.VERTICAL_SCROLLBAR_AS_NEED


JScrollPane.VERTICAL_SCROLLBAR_NEVER


以下代碼將文本區放置於滾動面板,滑動面板的滾動條能瀏覽文本區


JTextArea textA = new JTextArea(20,30);


JScrollPane jsp = new JScrollPane(TextA);


    getContentPane().add(jsp);//將含文本區的滾動面板加入到當前窗口中。

到知海匠庫http://www.zhihaijiangku.com 學習java,掌握系統知識,實戰企業級項目,成爲受用人單位歡迎的java工程師。

發佈了4 篇原創文章 · 獲贊 100 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章