【Swing程序设计/常用面板】
面板也是一个Swing容器,可以作为容器容纳其他组件,但是它必须要被添加到其他容器中。Swing常见的面板是JPanel面板和JScrollPanel面板。
- JPanel面板可以聚集一些组件来布局。
- 例:在项目中创建JPanelTest类,该类继承JFrame类成为窗体组件,在该类中创建4个JPanel组件,并将他们添加到窗体中。
- 代码实现:
1 /** 2 * 3 */ 4 package 常用窗体; 5 6 import java.awt.Button; 7 import java.awt.Container; 8 import java.awt.GridLayout; 9 10 import javax.swing.JFrame; 11 import javax.swing.JPanel; 12 import javax.swing.WindowConstants; 13 14 /**5 常用面板/Jpanel 面板(面板也是一种容器) 15 * 16 * @author 粤晨 17 * 18 */ 19 public class JPanelTest extends JFrame { 20 public JPanelTest() { 21 Container c=getContentPane(); 22 c.setLayout(new GridLayout(2,1,10,10));//将整个容器设置为2行1列的网格布局 23 //初始化一个面板,设置1行3列的网格布局 24 JPanel p1=new JPanel(new GridLayout(1,2,5,5));//问题:参数是什么意思?列宽? 25 JPanel p2=new JPanel(new GridLayout(1,3,5,10)); 26 JPanel p3=new JPanel(new GridLayout(1,3,5,10)); 27 JPanel p4=new JPanel(new GridLayout(2,1,10,10)); 28 p1.add(new Button("1")); 29 p2.add(new Button("2")); 30 p3.add(new Button("3")); 31 p4.add(new Button("4")); 32 c.add(p1); 33 c.add(p2); 34 c.add(p3); 35 c.add(p4); 36 setVisible(true); 37 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 38 39 40 41 } 42 /** 43 * @param args 44 */ 45 public static void main(String[] args) { 46 new JPanelTest(); 47 // TODO Auto-generated method stub 48 49 } 50 51 }
-
JScrollPanel面板是带滚动条的面板,也是一种容器,但是它只能放置一个组件,并且不可以使用布局管理器。如果需要放置多个组件,需要将多个组件全部放在JPanel面板上然后将JPanel面板作为整体组件添加到JScrollPanel
- 例:在项目中创建JScrollPanelTest类,该类继承JFrame类成为窗体组件,在该类中创建4个JScrollPane面板组件,并将他们添加到窗体中。
- 代码实现:
1 /** 2 * 3 */ 4 package 常用窗体; 5 6 import java.awt.Container; 7 8 import javax.swing.JFrame; 9 import javax.swing.JScrollPane; 10 import javax.swing.JTextArea; 11 import javax.swing.WindowConstants; 12 13 /**JScroPane 是带滚动条的面板 14 * @author 粤晨 15 * 16 */ 17 public class JScrollPaneTest extends JFrame { 18 public JScrollPaneTest() { 19 Container c=getContentPane(); 20 JTextArea ta=new JTextArea(20,50);//创建文本区域组件 21 ta.setText("带滚动条的文字编辑器"); 22 JScrollPane sp=new JScrollPane(ta);//创建JScrollPane面板对象 23 c.add(sp); 24 setVisible(true); 25 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 26 } 27 28 /** 29 * @param args 30 */ 31 public static void main(String[] args) { 32 new JScrollPaneTest(); 33 // TODO Auto-generated method stub 34 35 } 36 37 }
截图: