zoukankan      html  css  js  c++  java
  • 分割面板(JSplitPane)

    Java中的分割面板的故事:

    我们常用的各种软件,包括QQ、以及window的资源管理器都可以随意的拖动其大小,这就是java中的分割面板。

    先来看一段代码,分割面板的代码,只分割了两部分。

    源码:

      1  import java.awt.BorderLayout;

      2  import java.awt.Container;

      3  import javax.swing.JFrame;
      4  import javax.swing.JLabel;
      5  import javax.swing.JSplitPane;

      6  public class Example extends JFrame {

      7    public static void main(String[] args) {
      8      Example frame = new Example();
      9        frame.setVisible(true);
      10   }

      11   public Example() {

      12     super();
      13     setTitle("分割面板");
      14     setBounds(100, 100, 500, 300);// 设置面板的大小
      15     setDefaultCloseOperation(EXIT_ON_CLOSE);
      16     Container c = getContentPane();// 返回JFrame窗体中的组件

      17     JSplitPane jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);// 设置为水平分割
      18     c.add(jsp, BorderLayout.CENTER);
      19     jsp.setLeftComponent(new JLabel("左边"));
      20     jsp.setContinuousLayout(true);// 重绘分隔条
      21     jsp.setDividerLocation(80);// 设置分割条左边的初始宽度
      22     jsp.setRightComponent(new JLabel("右边"));
      23   }
           24 }

    源码解释:

      1.第1~5行是一些基本的java的基本的包。

      2.第7~10行是主函数。主函数定义的定义的基本格式都是:

        public static void main(String[] args) {

          语句;

        }

      3.第11行往后就是该函数的构造函数。public Example(){};

      4.13~15行进行设置JFrame的标题,大小以及关闭的方式。

      5.第16行是getContentPane方法,Example类继承了JFrame窗体。getContentPane是JFrame中的一个方法,用于返回此窗体的 contentPane 对象。

      6.第17~22行即为分割面板的主要的代码。

        17行.新建一个JSplitPane对象jsp。并将其设置为水平分割,其实设置这个其实是多此一举的,本来JSplitPane默认的就是水平分割。

        18行.将jsp对象加入到JFrame窗体中,并设置其布局管理器为BorderLayout,并将jsp对象放置在面板的中间位置。

        19行.设置jsp对象的左侧,给其左侧加入一个JLabel对象,并设置其显示为“左边”。

        20行.重新绘制分割条,如果将这句删去,程序也会运行,但是在拖动分隔条的过程中会显示分隔条的影子所在的位置。

        21行.设置分割条左侧的面板的初始像素值,我将这个设置为80像素。

        22行.在分割条的右边用同样的方法可以加入一个带有“右边”字样的JLabel组件。

       在JSplitPane中还有许多的方法等着我们一起去探究呢,我们一起加油。

    中文版API下载地址:链接:https://pan.baidu.com/s/1JtpAQPSFh9NBDfnQaNK6GA 密码:mtci

    北音执念i
  • 相关阅读:
    深入浅出Win32多线程程序设计(一)
    dm642的优化
    SpringBoot2
    HZERO微服务平台09: jhipster接入hzero
    如何以纯文本方式简单快速记录java代码的调用过程
    HZERO微服务平台07: 代码分析之登录日志、验证码登录、jwt token等
    HZERO微服务平台02: 认证鉴权体系介绍
    HZERO微服务平台06: 代码分析之token生成、校验、获取信息、传递
    HZERO微服务平台10: 代码分析之admin服务刷新路由、权限、swagger的过程 .md
    HZERO微服务平台11: 代码分析之数据权限、sql拦截 .md
  • 原文地址:https://www.cnblogs.com/beiyin/p/8594038.html
Copyright © 2011-2022 走看看