【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 }
      View Code

  • 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 }
      View Code

      截图:

原文地址:https://www.cnblogs.com/yitou13/p/8516855.html