分割面板进度条皮肤包
一、分割面板(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();}}
分割面板进度条皮肤包相关推荐
- Devexpress 进度条皮肤设置
Devexpress控件中,进度条控件为ProgressBarControl, 在数据型控件中进度条为RepositoryItemProgressBar. 样式或者皮肤 进度控件的默认颜色是无法直接 ...
- 1.4_6 Axure RP 9 for mac 高保真原型图 - 案例5 【旋转的唱片3】进度条_滚动
相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标 1. 了解 进度条 的实现原理 2. 熟悉 设置尺寸 动作的使用场景 3. 掌握 变量值 实现复杂的 ...
- 1.4_7 Axure RP 9 for mac 高保真原型图 - 案例6 【旋转的唱片4】进度条_拖拽、点击
相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标 1. 熟悉 动态面板 的 拖拽.点击动作的使用场景 2. 掌握 动态面板 中配置 拖拽 功能实现原理( ...
- 1.4_8 Axure RP 9 for mac 高保真原型图 - 案例7 【旋转的唱片5】进度条计时器 关联
相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标 1. 了解 进度条绑定时间 的实现原理 2. 掌握 变量 的高级使用技巧 一.成品效果 Axure C ...
- 微信小程序【网易云音乐实战】(第五篇 转发分享、每日推荐、音乐播放、页面通信npm包、进度条、全局数据)
一.转发分享功能 onShareAppMessage(Object object) Button <button open-type="share" class=" ...
- 大屏可视化数据面板分格渐变进度条、数字翻牌器及其刷新动效实现
数据可视化大屏是当前可视化领域的一项热门应用,通常可以分为信息展示类.数据分析类及监控预警类.这类应用的视觉设计通常效果炫酷,动效丰富,有时候一些页面布局和动画实现会对前端人员有一定的挑战性,在这里分 ...
- mui,uniapp实现APP整包更新,并展示更新进度条
整包更新 与热更新不同,整包更新比对的版本号是应用版本名称 //检测当前版本号dqbanben:function(){var that=this;//在页面中初始化plus插件mui.init();m ...
- 仿iReader切换皮肤进度条
目录 仿iReader切换皮肤进度条 定义属性文件: 实现代码: 简单测试代码: 仿iReader切换皮肤进度条 标签(空格分隔): 自定义View 本以为使用paint.setXfermode(ne ...
- Layui页面元素之选项卡、进度条、面板、表格 、徽章、时间线、辅助元素
Layui页面元素之选项卡.进度条.面板.表格 .徽章.时间线.辅助元素 效果 demo 选项卡.面板.时间线很重要 效果 demo <!DOCTYPE html> <html> ...
最新文章
- [Android1.5]Android2.0版本以下Activity切换动画效果
- 【设计思想解读开源框架】java如何发送post请求
- python中文读音ndarray-numpy中的ndarray方法和属性
- 安徽理工大学计算机学院蒋群,计算机学院2001级校友十周年聚会
- 内置函数isinstance和issubclass
- 为旗下硬件产品服务,LG推出基于SLAM技术的3D摄像头
- 手机内部零件名称图解_旧手机回收后都干嘛了?
- 屌丝程序员的那些事(一)-毕业那年
- simulink 分析达芬方程
- Linux的 ACL策略的作用
- java 方法 时间_Java 方法
- 收藏文章 写的很好 可惜有些还是看看不懂额。。。
- DB天气app冲刺第十一天
- Atitit 图像处理知识点 知识体系 知识图谱v2
- Springboot 内嵌 Tomcat 版本查看
- 如何在群晖系统中安装cpolar(群晖6.X版)
- SOLID 原则之依赖倒置原则
- 利用HTML自制鬼灭之刃动态壁纸
- Unity3dAndroid Studio实现开机自启App以及激活其他App
- 近3万个斗图头像图片大全ACCESS\EXCEL