package com.swing; import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.WindowConstants; /** * 1:常用面板 * 面板也是一個Swing容器,他可以看作為容器容納其他組件,但它也必須被添加到其他容器中 * Swing中常用的面板包括JPanel面板和JScrollPane面板 * * 2:JPanel面板可以聚集一些組件來布局 * 讀者首先應該明白面板也是一種容器,因為它繼承了java.awt.Container類 * @author biexiansheng * */ public class JPanelTest extends JFrame{ public JPanelTest(){ Container container=getContentPane();//設置一個容器 //將整個容器設置為2行1列的網格布局 網格布局管理器x,y代表行和列 container.setLayout(new GridLayout(2,1,10,10)); //初始化一個面板,設置1行3列的網格布局 JPanel p1=new JPanel(new GridLayout(1,3,10,10)); JPanel p2=new JPanel(new GridLayout(1,2,10,10)); JPanel p3=new JPanel(new GridLayout(1,2,10,10)); JPanel p4=new JPanel(new GridLayout(2,1,10,10)); //在面板中添加按鈕 p1.add(new JButton("1")); p1.add(new JButton("2")); p1.add(new JButton("3")); p2.add(new JButton("4")); p2.add(new JButton("5")); p3.add(new JButton("6")); p3.add(new JButton("7")); p4.add(new JButton("8")); p4.add(new JButton("9")); //最重要的一步,將面板實例添加到容器中 container.add(p1); container.add(p2); container.add(p3); container.add(p4); //將容器外部特性實例化 setTitle("JPanel面板的案例"); setSize(400,250);//設窗體的大小 寬和高 setVisible(true);//設定窗體的可視化 //設置窗體的關閉方式 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub JPanelTest jt=new JPanelTest(); } }
案例運行結果如下
package com.swing; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.WindowConstants; /** * 1:設置界面時,可能會遇到在一個較小的容器窗體中顯示一個較大部分的內容的情況,這時 * 可以使用JScrollPane面板 * * 2:JScrollPane面板是帶滾動條的面板,它也是一個面板,但是JScrollPane只能 * 放置一個組件,並且不可以使用布局管理器 * * 3:如果需要在JScrollPane面板中放置多個組件,需要將多個組件放置在JPanel面板上, * 然後將JPanel作為一個整體組件添加到JScrollPane組件上。 * * 4:從本實例可以得到在窗體中創建一個帶滾動條的文字編輯器,首先需要初始化編輯器, * 並且在初始化時完成編譯器的大小指定,當創建帶滾動條的面板時,將編譯器加入面板中 * ,最後將帶滾動條的編譯器放置在容器中即可 * @author biexiansheng * */ public class JScrollPaneTest extends JFrame{ //導入包的快捷鍵 shift+ctrl+o public JScrollPaneTest(){//定義一個構造方法 Container container=getContentPane();//創建一個容器 //創建文本區域組件 JTextArea ta=new JTextArea(20,50); //創建JScrollPane()面板對象,並將文本域對象添加到面板中 JScrollPane sp=new JScrollPane(ta); //將該面板添加到該容器中 container.add(sp); //設置容器的外部特性 setTitle("帶滾動條的文字編輯器");//設置窗口的標題文字 setSize(400,400);//設置窗口的大小 setVisible(true);//設置可視化 //設置窗口的關閉方式 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub JScrollPaneTest jp=new JScrollPaneTest(); } }
案例運行結果如下