一、分割面板(JSplitPane)

1.概述    
    JSplitPane用于分隔两个(只能两个)组件,两个组件通过水平|垂直分隔条分别左右或上下显示,并且可以拖动分隔条调整两个组件显示区域的大小。

2.JSplitPane 常用构造方法
    JSplitPane()

    JSplitPane(int orientation)

    JSplitPane(int orientation, boolean continuousLayout)

    JSplitPane(int orientation, boolean continuousLayout, Component leftComponent, Component rightComponent)

    JSplitPane(int orientation, Component leftComponent, Component rightComponent)

    参数说明:
    orientation: 分隔的方向,取值 JSplitPane.HORIZONTAL_SPLIT(水平左右分隔)或 JSplitPane.VERTICAL_SPLIT(垂直上下分隔),默认水平左右分隔。

    continuousLayout: 拖动分隔条时,是否连续重绘组件,如果为flase,则拖动分隔条停止后才重绘组件。

    leftComponent: 左边/上面 显示的组件

    rightComponent: 右边/下面 显示的组件

3.JSplitPane 常用方法
设置分隔的方向,水平(左右) 或 垂直(上下) 分隔
void setOrientation(int orientation)

设置 左边/上面 显示的组件(下面两个方法完全一致)
void setLeftComponent(Component comp)
void setTopComponent(Component comp)

设置 左边/下面 显示的组件(下面两个方法完全一致)
void setRightComponent(Component comp)
void setBottomComponent(Component comp)

设置 拖动分隔条 时是否 连续重绘 组件
void setContinuousLayout(boolean continuousLayout)

分隔条上是否显示快速 折叠/展开 两边组件的小按钮
void setOneTouchExpandable(boolean newValue)

设置分隔条的大小(宽度)
void setDividerSize(int newSize)

设置分隔条的位置,相对于 左边/顶部 的像素长度
void setDividerLocation(int location)

设置分隔条的位置,相对于 宽度/高度 的比例 [0.0 ~ 1.0](该方法必须要先确保 JSplitPane 已经有宽高值,否则无效)
void setDividerLocation(double proportionalLocation)

----------------------------------------------------------------------------------------------------------
JProgressBar

1. 概述
官方JavaDocsApi: javax.swing.JProgressBar

JProgressBar,进度条。

以可视化形式显示某些任务进度的组件。

进度条中心可显示进度百分比的文本表示形式。

当一个任务的进度长度未知时,可将进度条设置为不确定模式。不确定模式的进度条持续地显示动画来表示正进行的操作。当可以确定任务长度和进度量时,则可设置进度条的最大最小值,以及更新进度条的进度值,将其切换回确定模式。

JProgressBar 常用构造方法:

/**
 * 构造方法中的参数含义:
 *     orient: 进度条的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL,默认为水平方向
 *     min: 最小进度值
 *     max: 最大进度值
 */
JProgressBar()

JProgressBar(int orient)

JProgressBar(int min, int max)

JProgressBar(int orient, int min, int max)

JProgressBar 常用方法:

// 设置 最小进度值、最大进度值、当前进度值
void setMinimum(int min)
void setMaximum(int max)
void setValue(int n)

// 获取当前进度值
int getValue()

// 获取当前进度的百分比
double getPercentComplete()

// 是否绘制百分比文本(进度条中间显示的百分数)
void setStringPainted(boolean b)

// 设置进度条进度是否为不确定模式
void setIndeterminate(boolean newValue)

// 设置进度条的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL
void setOrientation(int newOrientation)

// 添加进度条的进度改变监听器
void addChangeListener(ChangeListener l)

1.分割面板的使用

import java.awt.Color;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;/*** 分割面板:*        1. JSplitPane*      2.将一个完成的窗体按照特定的规则进行分割成几个等分。* @author Zkingzz**/
public class JSplitPaneDemo extends JFrame{/*** 1.创建分割面板*/private JSplitPane jsp = new JSplitPane(JSplitPane.VERTICAL_SPLIT);//2个填充的组件JPanelprivate JPanel jpa = new JPanel();private JPanel jpb = new JPanel();public JSplitPaneDemo() {this.setTitle("");this.setSize(500,400);this.setDefaultCloseOperation(3);this.setLocationRelativeTo(null);//调节分割线的间距jsp.setDividerLocation(150);//调节分割线的粗细jsp.setDividerSize(10);//禁用拖动jsp.setEnabled(false);jpa.setBackground(Color.red);jpb.setBackground(Color.yellow);//分割面板分成2个部分  上部分 jpa   下部分 jpbjsp.setTopComponent(jpa);jsp.setBottomComponent(jpb);//JSplitPane是中间组件,直接可以加入窗体this.getContentPane().add(jsp);this.setVisible(true);}public static void main(String[] args) {new JSplitPaneDemo();}}

2.分割面板 多个面板


/*** 分割面板:*      1. JSplitPane*      2.将一个完成的窗体按照特定的规则进行分割成几个等分。* @author Zkingzz**/
public class JSplitPaneDemo2 extends JFrame{/*** 1.创建分割面板*/private JSplitPane jsp = new JSplitPane(JSplitPane.VERTICAL_SPLIT);//2个填充的组件JPanelprivate JPanel jpa = new JPanel();
//  private JPanel jpb = new JPanel();private JSplitPane jsp2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);private JPanel jpb = new JPanel();private JPanel jpc = new JPanel();public JSplitPaneDemo2() {this.setTitle("");this.setSize(500,400);this.setDefaultCloseOperation(3);this.setLocationRelativeTo(null);jsp2.setDividerLocation(200);jsp2.setDividerSize(2);jsp2.setLeftComponent(jpb);jsp2.setRightComponent(jpc);//调节分割线的间距jsp.setDividerLocation(150);//调节分割线的粗细jsp.setDividerSize(10);//禁用拖动jsp.setEnabled(false);jpa.setBackground(Color.red);jpb.setBackground(Color.yellow);jpc.setBackground(Color.green);//分割面板分成2个部分  上部分 jpa   下部分 jpbjsp.setTopComponent(jpa);jsp.setBottomComponent(jsp2);//JSplitPane是中间组件,直接可以加入窗体this.getContentPane().add(jsp);this.setVisible(true);}public static void main(String[] args) {new JSplitPaneDemo2();}}

3.分割面板 与JPanel组件的刷新重新加载!!

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSplitPane;public class Demo2 extends JFrame {private JSplitPane jsp = new JSplitPane(JSplitPane.VERTICAL_SPLIT);private JSplitPane jsp2 = new JSplitPane();private JPanel jpa = new JPanel();private JPanel jpb = new JPanel();private JPanel jpc = new JPanel();// 上容器组件private JLabel jla = new JLabel("康康足浴后台管理系统");// 下左容器private JButton jba = new JButton("康康服务");private JButton jbb = new JButton("客户管理");private JButton jbc = new JButton("套餐管理");private JButton jbd = new JButton("订单管理");private JButton jbe = new JButton("VIP服务");private JButton jbf = new JButton("退出系统");/*** 后台首页默认显示下右容器内容*/public void kk() {jpc.removeAll();// 清空上一次的所有组件内容jpc.setBackground(Color.red);// 自定义添加组件JButton jbutton = new JButton("这是康康服务内容");jpc.add(jbutton);// 刷新jpc.repaint();// 重绘jpc.validate();}public void kh() {jpc.removeAll();// 清空上一次的所有组件内容jpc.setBackground(Color.yellow);// 自定义添加组件JButton jbutton = new JButton("这是客户管理的内容");jpc.add(jbutton);// 刷新jpc.repaint();// 重绘jpc.validate();}public Demo2() {this.setTitle("");this.setSize(700, 450);this.setDefaultCloseOperation(3);this.setLocationRelativeTo(null);jla.setFont(new Font("华文新魏", Font.BOLD, 40));jpa.add(jla);jpb.add(jba);jpb.add(jbb);jpb.add(jbc);jpb.add(jbd);jpb.add(jbe);jpb.add(jbf);kk();// 康康服务按钮jba.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {kk();}});jbb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {kh();}});jsp2.setDividerSize(2);jsp2.setDividerLocation(100);jsp2.setLeftComponent(jpb);jsp2.setRightComponent(jpc);jsp.setDividerSize(2);jsp.setDividerLocation(60);jsp.setTopComponent(jpa);jsp.setBottomComponent(jsp2);this.getContentPane().add(jsp);this.setVisible(true);}public static void main(String[] args) {new Demo2();}}

4.进度条的使用

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JSplitPane;/*** JProgressBar 进度条* * @author Zkingzz**/
public class Demo3 extends JFrame {boolean flag = true;private JPanel jpa = new JPanel();private JProgressBar jpb = new JProgressBar();private JButton jba = new JButton("开始启动");private JButton jbb = new JButton("停止");public Demo3() {this.setTitle("");this.setSize(700, 450);this.setDefaultCloseOperation(3);this.setLocationRelativeTo(null);// 设置进度条的宽度和高度jpb.setPreferredSize(new Dimension(600, 20));jpb.setValue(0);// 设置进度值jpb.setStringPainted(true);// 设置进度上的进度值jpb.setMinimum(0);// 设置最小的进度值jpb.setMaximum(100);// 设置最大的进度值// System.out.println("获取: "+jpb.getValue());//获取进度条加载到那个值了jpa.add(jpb);jpa.add(jba);jpa.add(jbb);this.getContentPane().add(jpa);//启动按钮jba.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {flag = true;//点一下加一下
//              jpb.setValue(jpb.getValue()+1);//利用多线程原理  相当于  请一个机器人帮我们做事new Thread() {public void run() {while(flag) {try {Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}jpb.setValue(jpb.getValue()+1);if(jpb.getValue() == 100) {JOptionPane.showMessageDialog(null, "下载成功");break;}}};}.start();}});jbb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {flag = false;}});this.setVisible(true);}public static void main(String[] args) {new Demo3();}}

分割面板进度条皮肤包相关推荐

  1. Devexpress 进度条皮肤设置

    Devexpress控件中,进度条控件为ProgressBarControl, 在数据型控件中进度条为RepositoryItemProgressBar. 样式或者皮肤  进度控件的默认颜色是无法直接 ...

  2. 1.4_6 Axure RP 9 for mac 高保真原型图 - 案例5 【旋转的唱片3】进度条_滚动

    相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标  1. 了解 进度条 的实现原理  2. 熟悉 设置尺寸 动作的使用场景  3. 掌握 变量值 实现复杂的 ...

  3. 1.4_7 Axure RP 9 for mac 高保真原型图 - 案例6 【旋转的唱片4】进度条_拖拽、点击

    相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标  1. 熟悉 动态面板 的 拖拽.点击动作的使用场景  2. 掌握 动态面板 中配置 拖拽 功能实现原理( ...

  4. 1.4_8 Axure RP 9 for mac 高保真原型图 - 案例7 【旋转的唱片5】进度条计时器 关联

    相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标  1. 了解 进度条绑定时间 的实现原理  2. 掌握 变量 的高级使用技巧 一.成品效果 Axure C ...

  5. 微信小程序【网易云音乐实战】(第五篇 转发分享、每日推荐、音乐播放、页面通信npm包、进度条、全局数据)

    一.转发分享功能 onShareAppMessage(Object object) Button <button open-type="share" class=" ...

  6. 大屏可视化数据面板分格渐变进度条、数字翻牌器及其刷新动效实现

    数据可视化大屏是当前可视化领域的一项热门应用,通常可以分为信息展示类.数据分析类及监控预警类.这类应用的视觉设计通常效果炫酷,动效丰富,有时候一些页面布局和动画实现会对前端人员有一定的挑战性,在这里分 ...

  7. mui,uniapp实现APP整包更新,并展示更新进度条

    整包更新 与热更新不同,整包更新比对的版本号是应用版本名称 //检测当前版本号dqbanben:function(){var that=this;//在页面中初始化plus插件mui.init();m ...

  8. 仿iReader切换皮肤进度条

    目录 仿iReader切换皮肤进度条 定义属性文件: 实现代码: 简单测试代码: 仿iReader切换皮肤进度条 标签(空格分隔): 自定义View 本以为使用paint.setXfermode(ne ...

  9. Layui页面元素之选项卡、进度条、面板、表格 、徽章、时间线、辅助元素

    Layui页面元素之选项卡.进度条.面板.表格 .徽章.时间线.辅助元素 效果 demo 选项卡.面板.时间线很重要 效果 demo <!DOCTYPE html> <html> ...

最新文章

  1. [Android1.5]Android2.0版本以下Activity切换动画效果
  2. 【设计思想解读开源框架】java如何发送post请求
  3. python中文读音ndarray-numpy中的ndarray方法和属性
  4. 安徽理工大学计算机学院蒋群,计算机学院2001级校友十周年聚会
  5. 内置函数isinstance和issubclass
  6. 为旗下硬件产品服务,LG推出基于SLAM技术的3D摄像头
  7. 手机内部零件名称图解_旧手机回收后都干嘛了?
  8. 屌丝程序员的那些事(一)-毕业那年
  9. simulink 分析达芬方程
  10. Linux的 ACL策略的作用
  11. java 方法 时间_Java 方法
  12. 收藏文章 写的很好 可惜有些还是看看不懂额。。。
  13. DB天气app冲刺第十一天
  14. Atitit 图像处理知识点  知识体系 知识图谱v2
  15. Springboot 内嵌 Tomcat 版本查看
  16. 如何在群晖系统中安装cpolar(群晖6.X版)
  17. SOLID 原则之依赖倒置原则
  18. 利用HTML自制鬼灭之刃动态壁纸
  19. Unity3dAndroid Studio实现开机自启App以及激活其他App
  20. 近3万个斗图头像图片大全ACCESS\EXCEL

热门文章

  1. Linux进阶_TCPWrappers介绍
  2. 双击vs解决方案打不开
  3. echo 和 echo 的区别
  4. 爱因斯坦语录(转贴)
  5. DES加密算法js实现
  6. python:一些pytho数学题
  7. 中国大陆的网站的特点
  8. 【MC】我的世界零基础开云服务器教程
  9. PLC通过智能网关,实现HTTP协议的POST/GET请求,与服务端JSON格式双向通讯
  10. Nginx 登录验证