- 浏览: 29840 次
- 性别:
- 来自: 深圳
文章分类
最新评论
系统消息弹出框实现方式
一种:
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.JWindow; import javax.swing.SwingConstants; import javax.swing.text.BadLocationException; import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; /** * * @author luojialin * @2014-2014-3-8 下午2:14:18 */ public class MessageManager extends JWindow implements Runnable { private static final long serialVersionUID = 1291149350784042880L; private static MessageManager message; private JPanel panel1; private JPanel titlePane; private JTextPane messagePane; private JLabel lblTitle; private JLabel time; private Integer screenWidth; // 屏幕宽度 private Integer screenHeight; // 屏幕高度 private Integer windowWidth = 200; // 设置提示窗口宽度 private Integer windowHeight = 150; // 设置提示窗口高度 private Integer bottmToolKitHeight; // 底部任务栏高度,如果没有任务栏则为零 private Integer stayTime = 4000; // 提示框停留时间 private Integer x; // 窗口起始X坐标 private Integer y; // 窗口起始Y坐标 private MessageManager() { initGUI(); } public static MessageManager getInstance() { message = new MessageManager(); return message; } private void initGUI() { bottmToolKitHeight = Toolkit.getDefaultToolkit().getScreenInsets( this.getGraphicsConfiguration()).bottom; Dimension dimension = PCSSWorkbench.getInstance().getSize(); // Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); screenWidth = dimension.width; screenHeight = dimension.height; x = screenWidth - windowWidth - 16; y = screenHeight - 75; this.setLocation(x, y); this.setLayout(new BorderLayout()); panel1 = new JPanel(); getContentPane().add(panel1, BorderLayout.CENTER); panel1.setLayout(new BorderLayout()); lblTitle = new JLabel(); titlePane = new JPanel(); lblTitle.setForeground(Color.WHITE); lblTitle.setFont(new Font("微软雅黑",Font.BOLD,15)); JLabel closeLabe = new JLabel("X"); closeLabe.setFont(new Font("微软雅黑",Font.BOLD,15)); closeLabe.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ dispose(); } }); titlePane = new JPanel(new BorderLayout()); titlePane.add(lblTitle,BorderLayout.WEST); titlePane.add(closeLabe,BorderLayout.EAST); messagePane = new JTextPane(); time = new JLabel(); panel1.add(titlePane, BorderLayout.NORTH); panel1.add(messagePane, BorderLayout.CENTER); panel1.add(time, BorderLayout.SOUTH); this.setSize(windowWidth, windowHeight); this.setLocation(x, y); this.setAlwaysOnTop(true); this.setVisible(true); } private ImageIcon setIcon(String name) { ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource( "com/sf/module/pcss/core/client/message/img/" + name)); return icon; } private void displayMessage(String title,String message,Color color,String icon){ Thread thread = new Thread(this); thread.start(); lblTitle.setText(" " + title); titlePane.setBackground(color); messagePane.setText(message); messagePane.setForeground(color); StyledDocument doc = (StyledDocument) messagePane.getDocument(); Style style = doc.addStyle("StyleName", null); StyleConstants.setIcon(style, setIcon(icon)); try { doc.insertString(doc.getLength(), message, style); } catch (BadLocationException e) { e.printStackTrace(); } time.setText(DateUtils.getGreenWich()); time.setHorizontalAlignment(SwingConstants.RIGHT); time.setForeground(color); panel1.setBorder(BorderFactory.createLineBorder(color)); } /** * 操作成功信息提醒 * * @param title * @param content */ public void info(String title, String message) { Color color = new Color(0, 128, 0); String icon = "success.png"; if (title == null || "".equals(title)) title = Messages.getString("skin.message.title","提示"); if (message == null || "".equals(message.trim())) message = Messages.getString(message,"提示"); displayMessage(title,message,color,icon); } /** * 错误提醒 * * @param title * @param content */ public void error(String title, String message) { Color color = new Color(255, 0, 0); String icon = "fail.png"; if (title == null || "".equals(title)) title = Messages.getString("error","错误"); if (message == null || "".equals(message.trim())) message = Messages.getString(message,"错误"); displayMessage(title,message,color,icon); } /** * 警告提醒 * * @param title * @param content */ public void warn(String title, String message) { Color color = new Color(255,153,0); String icon = "warn.png"; if (title == null || "".equals(title)) title = Messages.getString("Warm","警告"); if (message == null || "".equals(message.trim())) message = Messages.getString("Warm","警告"); displayMessage(title,message,color,icon); } @Override public void run() { Integer delay = 10; Integer step = 1; Integer end = windowHeight - bottmToolKitHeight - 20; while (true) { try { step++; y = y - 1; this.setLocation(x, y); if (step > end) { Thread.sleep(stayTime); break; } Thread.sleep(delay); } catch (InterruptedException e) { e.printStackTrace(); } } step = 1; while (true) { try { step++; y = y + 1; this.setLocation(x, y); if (step > end) { this.dispose(); break; } Thread.sleep(delay); } catch (InterruptedException e) { e.printStackTrace(); } } this.dispose(); // System.exit(0); } }
二种:
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Timer; import java.util.TimerTask; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.JWindow; import javax.swing.SwingConstants; import javax.swing.text.BadLocationException; import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; /** * * @author luojialin * @2014-2014-3-8 下午2:14:18 */ public class MessageManager extends JWindow { private static final long serialVersionUID = 1291149350784042880L; private MessageManager message; private JPanel panel1; private JPanel titlePane; private JTextPane messagePane; private JLabel lblTitle; private JLabel time; private Integer windowWidth = 200; // 设置提示窗口宽度 private Integer windowHeight = 150; // 设置提示窗口高度 private Integer stayTime = 3000; // 提示框停留时间 private Integer x; // 窗口起始X坐标 private Integer y; // 窗口起始Y坐标 Timer timer ; public MessageManager() { initGUI(); } public static MessageManager getInstance() { MessageManager messagew = new MessageManager(); messagew.setMessage(messagew); return messagew; } private void initGUI() { this.setLayout(new BorderLayout()); panel1 = new JPanel(); getContentPane().add(panel1, BorderLayout.CENTER); panel1.setLayout(new BorderLayout()); lblTitle = new JLabel(); titlePane = new JPanel(); lblTitle.setForeground(Color.WHITE); lblTitle.setFont(new Font("微软雅黑",Font.BOLD,15)); JLabel closeLabe = new JLabel("X"); closeLabe.setFont(new Font("微软雅黑",Font.BOLD,15)); closeLabe.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ dispose(); } }); titlePane = new JPanel(new BorderLayout()); titlePane.add(lblTitle,BorderLayout.WEST); titlePane.add(closeLabe,BorderLayout.EAST); messagePane = new JTextPane(); time = new JLabel(); panel1.add(titlePane, BorderLayout.NORTH); panel1.add(messagePane, BorderLayout.CENTER); panel1.add(time, BorderLayout.SOUTH); this.setSize(windowWidth, windowHeight); Point p = PCSSWorkbench.getInstance().getLocationOnScreen(); Dimension d = PCSSWorkbench.getInstance().getSize(); x = (int) (p.x + d.getWidth() - windowWidth - 10); y = (int) (p.y + d.getHeight()- windowHeight - 10); this.setLocation(x, y); this.setAlwaysOnTop(true); this.setVisible(true); } private ImageIcon setIcon(String name) { ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource( "com/sf/module/pcss/core/message/img/" + name)); return icon; } /** * 操作成功信息提醒 * * @param title * @param content */ public void info(String title, String message) { Color color = new Color(0, 128, 0); String icon = "success.png"; if (title == null || "".equals(title)) title = Messages.getString("info","提示"); if (message == null || "".equals(message.trim())) message = Messages.getString(message,"提示"); displayMessage(title,message,color,icon); } /** * 错误提醒 * * @param title * @param content */ public void error(String title, String message) { Color color = new Color(255, 0, 0); String icon = "fail.png"; if (title == null || "".equals(title)) title = Messages.getString("error","错误"); if (message == null || "".equals(message.trim())) message = Messages.getString(message,"错误"); displayMessage(title,message,color,icon); } /** * 警告提醒 * * @param title * @param content */ public void warn(String title, String message) { Color color = new Color(255,153,0); String icon = "warn.png"; if (title == null || "".equals(title)) title = Messages.getString("Warm","警告"); if (message == null || "".equals(message.trim())) message = Messages.getString("Warm","警告"); displayMessage(title,message,color,icon); } private void displayMessage(String title,String message,Color color,String icon){ lblTitle.setText(" " + title); titlePane.setBackground(color); messagePane.setText(message); messagePane.setForeground(color); StyledDocument doc = (StyledDocument) messagePane.getDocument(); Style style = doc.addStyle("StyleName", null); StyleConstants.setIcon(style, setIcon(icon)); try { doc.insertString(doc.getLength(), message, style); } catch (BadLocationException e) { e.printStackTrace(); } time.setText(DateUtils.getGreenWich()); time.setHorizontalAlignment(SwingConstants.RIGHT); time.setForeground(color); panel1.setBorder(BorderFactory.createLineBorder(color)); timer = new Timer(); timer.schedule(new MyTask(), stayTime); } class MyTask extends TimerTask{ @Override public void run() { //message.setLocation(x, y); message.setVisible(false); message.dispose(); timer.cancel(); } } public MessageManager getMessage() { return message; } public void setMessage(MessageManager message) { this.message = message; } }
发表评论
-
morangtest
2014-07-21 18:38 0morangtestmorangtestmorangtestm ... -
下拉框自定义
2014-04-01 15:13 388自定义下拉组件 import java.util.Arra ... -
时间组件
2014-04-01 15:08 1044单时间组件 import java.awt.Dimensi ... -
在窗口中添加全局热键
2014-03-11 19:30 686在窗口中添加全局热键 Toolkit toolkit ... -
在SWING、SWT中嵌入浏览器
2014-03-07 23:33 728DJNativeSwing-SWT-1-0-2 API ... -
DecimalDocument 限制只能输入数字的TextField
2014-02-25 13:49 455import javax.swing.JTextField; ... -
带数据输入校验 、长度的JTextField
2014-02-25 12:05 1693带数据输入校验 、长度的JTextField impor ... -
带星号 JLable
2014-02-25 10:49 432package com.easyfeeling.ui.co ... -
GridBagLayout
2014-02-20 00:32 310GridBagLayout的使用: GridBagLayo ... -
GridLayout的使用
2014-02-20 00:31 535GridLayout的使用 GridLayout的类 ... -
运用 BoxLayout 进行 Swing 控件布局
2014-02-20 00:29 443运用 BoxLayout 进行 Swing 控件布局 ... -
BoxLayout的使用
2014-02-20 00:27 539BoxLayout的类层次结构图: java.lang.O ... -
swing 全局热键
2014-02-19 16:28 1124package com.easyfeeling.utils. ... -
SplashImage 图片闪烁
2014-02-19 13:00 806package com.easyfeeling.ui; / ... -
自定义 JSplitPaneUI
2014-02-19 10:37 477修改 JSplitPane 展开、隐藏按钮的样式位置 ... -
My doc
2014-02-19 10:23 386My doc -
twaverSwing
2014-02-16 21:34 357twaverSwing -
JAVA开发包及文档
2014-02-13 19:01 11JAVA 常用开发包,J2EE,Swing
相关推荐
IncompatibleClassChangeError(解决方案).md
智慧工地,作为现代建筑施工管理的创新模式,以“智慧工地云平台”为核心,整合施工现场的“人机料法环”关键要素,实现了业务系统的协同共享,为施工企业提供了标准化、精益化的工程管理方案,同时也为政府监管提供了数据分析及决策支持。这一解决方案依托云网一体化产品及物联网资源,通过集成公司业务优势,面向政府监管部门和建筑施工企业,自主研发并整合加载了多种工地行业应用。这些应用不仅全面连接了施工现场的人员、机械、车辆和物料,实现了数据的智能采集、定位、监测、控制、分析及管理,还打造了物联网终端、网络层、平台层、应用层等全方位的安全能力,确保了整个系统的可靠、可用、可控和保密。 在整体解决方案中,智慧工地提供了政府监管级、建筑企业级和施工现场级三类解决方案。政府监管级解决方案以一体化监管平台为核心,通过GIS地图展示辖区内工程项目、人员、设备信息,实现了施工现场安全状况和参建各方行为的实时监控和事前预防。建筑企业级解决方案则通过综合管理平台,提供项目管理、进度管控、劳务实名制等一站式服务,帮助企业实现工程管理的标准化和精益化。施工现场级解决方案则以可视化平台为基础,集成多个业务应用子系统,借助物联网应用终端,实现了施工信息化、管理智能化、监测自动化和决策可视化。这些解决方案的应用,不仅提高了施工效率和工程质量,还降低了安全风险,为建筑行业的可持续发展提供了有力支持。 值得一提的是,智慧工地的应用系统还围绕着工地“人、机、材、环”四个重要因素,提供了各类信息化应用系统。这些系统通过配置同步用户的组织结构、智能权限,结合各类子系统应用,实现了信息的有效触达、问题的及时跟进和工地的有序管理。此外,智慧工地还结合了虚拟现实(VR)和建筑信息模型(BIM)等先进技术,为施工人员提供了更为直观、生动的培训和管理工具。这些创新技术的应用,不仅提升了施工人员的技能水平和安全意识,还为建筑行业的数字化转型和智能化升级注入了新的活力。总的来说,智慧工地解决方案以其创新性、实用性和高效性,正在逐步改变建筑施工行业的传统管理模式,引领着建筑行业向更加智能化、高效化和可持续化的方向发展。
123
asdjhfjsnlkdmv
该代码实现了基于机器学习的车辆价格预测模型,利用不同回归算法(如线性回归、随机森林回归和 KNN 回归)对车辆的当前价格(current price)进行预测。代码首先进行数据加载与预处理,包括删除无关特征、归一化处理等;然后使用不同的机器学习模型进行训练,并评估它们的表现(通过 R²、MAE、MSE 等指标);最后通过可视化工具对模型预测效果进行分析。目的是为车辆价格预测任务找到最合适的回归模型。 适用人群: 数据科学家和机器学习工程师:对于需要进行回归建模和模型选择的从业者,尤其是对车辆数据或类似领域有兴趣的。 企业数据分析师:在汽车行业或二手车市场中,需要对车辆价格进行预测和分析的专业人员。 机器学习学习者:希望学习如何使用 Python 实现机器学习模型、数据预处理和评估的初学者或中级学习者。 使用场景及目标: 汽车定价与估值:用于为汽车或二手车定价,尤其是当需要预测车辆的当前市场价格时。 汽车行业市场分析:通过数据分析和回归预测,帮助汽车销售商、经销商或市场分析师预测未来的市场价格趋势。 二手车市场:为二手车买卖双方提供价格参考,帮助制定合理的交易价格。
基于模型预测控制(mpc)的车辆道,车辆轨迹跟踪,道轨迹为五次多项式,matlab与carsim联防控制
StoreError解决办法.md
白色精致风格的个人简历模板下载.zip
白色宽屏风格的房产介绍服务网站模板下载.zip
基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目),本资源中的源码都是经过本地编译过可运行的,评审分达到98分,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、毕业设计、期末大作业和课程设计使用需求,如果有需要的话可以放心下载使用。 基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于Python实现的医疗知识图谱的知识问答系统源码毕业设计(高分项目)基于
白色宽屏风格的生物医疗实验室企业网站模板.rar
C# 操作Access数据库
NSFileSystemError如何解决.md
白色简洁风格的商户销售统计图源码下载.zip
白色简洁风格的室内设计整站网站源码下载.zip
侧吸式油烟机sw16可编辑全套技术资料100%好用.zip
在 MATLAB 中进行人脸识别可以通过使用内置的工具箱和函数来实现。MATLAB 提供了计算机视觉工具箱(Computer Vision Toolbox),其中包含了用于图像处理、特征提取以及机器学习的函数,可以用来构建一个人脸识别系统。下面是一个简化的教程,介绍如何使用 MATLAB 进行人脸识别。 ### 准备工作 1. **安装必要的工具箱**:确保你已经安装了“计算机视觉工具箱”和“深度学习工具箱”。如果没有,可以通过 MATLAB 的附加功能管理器安装它们。 2. **获取数据集**:准备一个包含不同个体的人脸图像的数据集。你可以自己收集图片,或者使用公开的数据集如 AT&T Faces Database 或 LFW (Labeled Faces in the Wild) 数据集。 3. **安装预训练模型(可选)**:如果你打算使用深度学习方法,MATLAB 提供了一些预训练的卷积神经网络(CNN)模型,比如 AlexNet, GoogLeNet 等,可以直接加载并用于特征提取或分类。 ### 步骤指南 #### 1. 加载人脸检测器 ```matlab face
白色宽屏风格的建筑设计公司企业网站源码下载.zip
智慧工地,作为现代建筑施工管理的创新模式,以“智慧工地云平台”为核心,整合施工现场的“人机料法环”关键要素,实现了业务系统的协同共享,为施工企业提供了标准化、精益化的工程管理方案,同时也为政府监管提供了数据分析及决策支持。这一解决方案依托云网一体化产品及物联网资源,通过集成公司业务优势,面向政府监管部门和建筑施工企业,自主研发并整合加载了多种工地行业应用。这些应用不仅全面连接了施工现场的人员、机械、车辆和物料,实现了数据的智能采集、定位、监测、控制、分析及管理,还打造了物联网终端、网络层、平台层、应用层等全方位的安全能力,确保了整个系统的可靠、可用、可控和保密。 在整体解决方案中,智慧工地提供了政府监管级、建筑企业级和施工现场级三类解决方案。政府监管级解决方案以一体化监管平台为核心,通过GIS地图展示辖区内工程项目、人员、设备信息,实现了施工现场安全状况和参建各方行为的实时监控和事前预防。建筑企业级解决方案则通过综合管理平台,提供项目管理、进度管控、劳务实名制等一站式服务,帮助企业实现工程管理的标准化和精益化。施工现场级解决方案则以可视化平台为基础,集成多个业务应用子系统,借助物联网应用终端,实现了施工信息化、管理智能化、监测自动化和决策可视化。这些解决方案的应用,不仅提高了施工效率和工程质量,还降低了安全风险,为建筑行业的可持续发展提供了有力支持。 值得一提的是,智慧工地的应用系统还围绕着工地“人、机、材、环”四个重要因素,提供了各类信息化应用系统。这些系统通过配置同步用户的组织结构、智能权限,结合各类子系统应用,实现了信息的有效触达、问题的及时跟进和工地的有序管理。此外,智慧工地还结合了虚拟现实(VR)和建筑信息模型(BIM)等先进技术,为施工人员提供了更为直观、生动的培训和管理工具。这些创新技术的应用,不仅提升了施工人员的技能水平和安全意识,还为建筑行业的数字化转型和智能化升级注入了新的活力。总的来说,智慧工地解决方案以其创新性、实用性和高效性,正在逐步改变建筑施工行业的传统管理模式,引领着建筑行业向更加智能化、高效化和可持续化的方向发展。
履带车底盘sw16全套技术资料100%好用.zip