面板也是一个Swing容器,可以作为容器容纳其他组件,但是它必须要被添加到其他容器中。Swing常见的面板是JPanel面板和JScrollPanel面板。

  • JPanel面板可以聚集一些组件来布局。

    • 例:在项目中创建JPanelTest类,该类继承JFrame类成为窗体组件,在该类中创建4个JPanel组件,并将他们添加到窗体中。
    • 代码实现:
       /**
      *
      */
      package 常用窗体; import java.awt.Button;
      import java.awt.Container;
      import java.awt.GridLayout; import javax.swing.JFrame;
      import javax.swing.JPanel;
      import javax.swing.WindowConstants; /**5 常用面板/Jpanel 面板(面板也是一种容器)
      *
      * @author 粤晨
      *
      */
      public class JPanelTest extends JFrame {
      public JPanelTest() {
      Container c=getContentPane();
      c.setLayout(new GridLayout(2,1,10,10));//将整个容器设置为2行1列的网格布局
      //初始化一个面板,设置1行3列的网格布局
      JPanel p1=new JPanel(new GridLayout(1,2,5,5));//问题:参数是什么意思?列宽?
      JPanel p2=new JPanel(new GridLayout(1,3,5,10));
      JPanel p3=new JPanel(new GridLayout(1,3,5,10));
      JPanel p4=new JPanel(new GridLayout(2,1,10,10));
      p1.add(new Button("1"));
      p2.add(new Button("2"));
      p3.add(new Button("3"));
      p4.add(new Button("4"));
      c.add(p1);
      c.add(p2);
      c.add(p3);
      c.add(p4);
      setVisible(true);
      setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); }
      /**
      * @param args
      */
      public static void main(String[] args) {
      new JPanelTest();
      // TODO Auto-generated method stub } }

  • JScrollPanel面板是带滚动条的面板,也是一种容器,但是它只能放置一个组件,并且不可以使用布局管理器。如果需要放置多个组件,需要将多个组件全部放在JPanel面板上然后将JPanel面板作为整体组件添加到JScrollPanel

    • 例:在项目中创建JScrollPanelTest类,该类继承JFrame类成为窗体组件,在该类中创建4个JScrollPane面板组件,并将他们添加到窗体中。
    • 代码实现:
       /**
      *
      */
      package 常用窗体; import java.awt.Container; import javax.swing.JFrame;
      import javax.swing.JScrollPane;
      import javax.swing.JTextArea;
      import javax.swing.WindowConstants; /**JScroPane 是带滚动条的面板
      * @author 粤晨
      *
      */
      public class JScrollPaneTest extends JFrame {
      public JScrollPaneTest() {
      Container c=getContentPane();
      JTextArea ta=new JTextArea(20,50);//创建文本区域组件
      ta.setText("带滚动条的文字编辑器");
      JScrollPane sp=new JScrollPane(ta);//创建JScrollPane面板对象
      c.add(sp);
      setVisible(true);
      setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      } /**
      * @param args
      */
      public static void main(String[] args) {
      new JScrollPaneTest();
      // TODO Auto-generated method stub } }

      截图:

【Swing程序设计/常用面板】的更多相关文章

  1. 第13章 Swing程序设计----常用面板

    面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中. Swing常用的面板包括JPanel面板和JScrollPanel面板. 1.JPanel面板 import j ...

  2. 第13章 Swing程序设计----常用事件监听器

    组件本身并不带有任何功能.这时需要为这些组件添加特定事件监听器. Swing中常用的两个事件监听器,即动作事件监听器和焦点事件监听器.

  3. Java进阶篇(六)——Swing程序设计(下)

    三.布局管理器 Swing中,每个组件在容器中都有一个具体的位置和大小,在容器中摆放各自组件时很难判断其具体位置和大小,这里我们就要引入布局管理器了,它提供了基本的布局功能,可以有效的处理整个窗体的布 ...

  4. 第13章 Swing程序设计

    1.Swing概述 GUI(图形用户界面)为程序提供图形界面,最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有平台上运行.但Java 1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要 ...

  5. 第13章 Swing程序设计----JFrame窗体

    JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器. 在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在 ...

  6. Java进阶篇(六)——Swing程序设计(上)

    Swing是GUI(图形用户界面)开发工具包,内容有很多,这里会分块编写,但在进阶篇中只编写Swing中的基本要素,包括容器.组件和布局等,更深入的内容会在高级篇中出现.想深入学习的朋友们可查阅有关资 ...

  7. java常用面板

    public class JPanelTest extends JFrame{    public JPanelTest(){        Container c=getContentPane(); ...

  8. 第13章 Swing程序设计----JDialog窗体

    JDialog窗体是Swing组件中的对话框 JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样. 在应用程序中创建JDialog窗体需要实例化JDia ...

  9. 第13章 Swing程序设计----标签组件与图标

    在Swing中显示文本或提示信息的方法是使用标签.本节将探讨Swing标签的用法.如何创建标签,以及如何在标签上放置文本和图标. 1.标签的使用 标签可以显示一行只读文本.一个图像或带图像的文本,它并 ...

随机推荐

  1. kettle 6.1 日志查询

    SELECT JB.ID_JOB, ---作业ID JB.NAME, ---作业名称 to_char(JB.DESCRIPTION) as JOB_DESCRIPTION , --作业描述 case ...

  2. eclipse项目名称后面括号里的名称和项目名称不一样

    解决方案: 1:项目右键-属性(Properties)-Web Project Setting, 改名称注意:这个名字将成为你在浏览器访问的路径 2:打开项目目录的.setting文件夹,随便一个文本 ...

  3. html : 九宫格(响应式)

    talk is cheap, show you the code : <!DOCTYPE html> <html> <head> <title>html ...

  4. Emacs 不将M-Del删除的单词加入粘贴板

    原文:https://jblevins.org/log/clipboard I use a clipboard manager called Copied that syncs previously ...

  5. 分析轮子(九)- Cloneable.java

    注:玩的是JDK1.7版本 一:Cloneable.java 接口也是标记接口,所以,它没有任何方法和属性,实现此接口表示的意思是:可以调用 Object.java 类的 clone() 方法,进行简 ...

  6. SNF快速开发平台2018-移动端代码生成器已发布

    各位小伙伴期待已久的移动端已经推出,在此基础上我们又进行配套了代码生成器,以达到高速开发,简化代码等优点. 当然也需要有强大的组件库及标准程序的支撑,同时要有强大的后台做后盾来达到移动端强大功能的施展 ...

  7. RabbitMQ 特性

    1RabbitMQ 特点 与 SpringAMQP 完美整合.API 丰富. 集群模式丰富,表达式配置,HA 模式,镜像队列模型. 保证数据不丢失的前提做到高可靠性.可用性.

  8. Bizatlk Accelerator for RosettaNet安装与配置

    以下安装步骤是基于动手实验的BizTalk开发环境(<BizTalk动手实验(一)安装BizTalk Server 2010开发环境> )进行安装. 安装准备 运行账户配置 新建IIS_W ...

  9. [druid]大数据挑战——如何使用Druid实现数据聚合

    -- 知道你为什么惧组件很多的一些开源软件? 因为缺乏阅读能力. 最近我接手了druid+kafka+elk一套等日志系统. 但是我对druid很陌生, 周旋了几天, 官网文档快速开始照着做了下. 看 ...

  10. [MySQL TroubleShooting] 服务启动报错

    有个朋友发了一段启动错误的stack,当启动Skip_Grant_Table就不报错: 群里的大神找出来了因为udf_initv这个自定义函数报错. 但是一直想不通为啥服务启动要去运行自定义函数呢? ...