博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分割面板(JSplitPane)
阅读量:5142 次
发布时间:2019-06-13

本文共 1818 字,大约阅读时间需要 6 分钟。

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

转载于:https://www.cnblogs.com/beiyin/p/8594038.html

你可能感兴趣的文章
如何查看IE型号
查看>>
《Linux内核分析与实现》 第四周 读书笔记
查看>>
如何写一个漂亮的Liferay Theme 6.2
查看>>
flex布局 (转)
查看>>
树链剖分
查看>>
python 中的特殊方法,纠正自己笨笨的记忆
查看>>
洛谷 P2473 [SCOI2008]奖励关 ( 期望DP )
查看>>
起名字好难啊!(初识Django)
查看>>
爬虫项目目录
查看>>
Linux系统--命令行安装weblogic10.3.6
查看>>
关于移动虚拟机后,linux网卡启动异常问题解决
查看>>
ViewPager+Fragment实现左右切换,还有点击事件
查看>>
Linux进阶指令(重点)
查看>>
Android全局异常捕捉
查看>>
Vuex详解
查看>>
png 2 icon
查看>>
hbase 1.2.1 分布式安装
查看>>
Windows10实用技巧-固定快捷方式到磁贴菜单方式
查看>>
Coursera台大机器学习技法课程笔记13-Deep Learning
查看>>
mime.go
查看>>