java 托盘开发_java托盘开发界面记录
设置对话框为圆角:
//首先选择设置
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
//然后设置,其中login为登陆对话框
AWTUtilities.setWindowShape(login, new RoundRectangle2D.Double(0.0D,0.0D,login.getWidth(),login.getHeight(),15.0D,15.0D));
对话框居中:
//获取屏幕大小
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
//设置位置,WIDTH、HEIGHT分别为对话框的宽高
int HEIGHT=200;
int WIDTH=300;
setLocation(screenSize.width/2-WIDTH/2, screenSize.height/2-HEIGHT/2);
初始化系统托盘:
//系统托盘
private SystemTray tray = null;
//托盘图标
private TrayIcon trayIcon = null;
//托盘图标图像
private Image icon = null;
//图标图像路径
private final String ICON_PATH = "icons/app.png";
//系统名称
private String SYSTEM_NAME = "提醒助手";
tray = SystemTray.getSystemTray();
ImageIcon imageIcon = new ImageIcon(this.getClass().getClassLoader().getResource(ICON_PATH)); //获得托盘显示图标
icon=imageIcon.getImage(); //获得Image对象
trayIcon=new TrayIcon(icon,SYSTEM_NAME,trayMenu);
trayIcon.setImageAutoSize(true);
trayIcon.setToolTip(SYSTEM_NAME);
try{
tray.add(trayIcon);
}catch(AWTException e){
System.out.println("托盘初始化出现故障:" + e.getMessage());
e.printStackTrace();
}
消息提醒框显示在右下角:
private JFrame jf;
//JPanel
private JPanel jp;
//超链接
private LinkLabel lb;
//控制窗口弹出效果的参数
private Integer screenWidth; // 屏幕宽度
private Integer screenHeight; // 屏幕高度
private Integer windowWidth = 300; // 设置提示窗口宽度
private Integer windowHeight = 150; // 设置提示窗口高度
private Integer bottmToolKitHeight; // 底部任务栏高度,如果没有任务栏则为零
private Integer stayTime = 5000; // 提示框停留时间
private Integer x; // 窗口起始X坐标
private Integer y; // 窗口起始Y坐标
//控制窗口弹出效果
bottmToolKitHeight = Toolkit.getDefaultToolkit().getScreenInsets(jf.getGraphicsConfiguration()).bottom;
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
screenWidth = dimension.width;
screenHeight = dimension.height;
x = screenWidth - windowWidth;
y = screenHeight;
jf.setLocation(x, y - bottmToolKitHeight - windowHeight);
jf.setSize(windowWidth, windowHeight);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
消息列表,用JTable实现:
private JTable jTable = null;
//初始化jtable的数据
Object rowData[][] = new Object[list.size()][4];
for(int i=0;i
Message msg = list.get(i);
rowData[i][0]= msg.getMsg();
rowData[i][1]= msg.getTime();
rowData[i][2]= msg.getMsgUrl();
rowData[i][3]= msg.getFrom();
}
Object[] columnNames = new Object[]{"消息内容","接收时间","链接","发送者"};
//设置jtable不可编辑
TableModel tableModel = new DefaultTableModel(rowData,columnNames){
public boolean isCellEditable(int rowIndex,int columnIndex){
return false;
}
};
//设置表格单元格当鼠标停留时悬浮显示全部内容
jTable = new JTable(tableModel){
@Override
public String getToolTipText(MouseEvent event) {
int row = jTable.rowAtPoint(event.getPoint());
int col = jTable.columnAtPoint(event.getPoint());
String tip=null;
if(row>-1 && col>-1){
Object value = jTable.getValueAt(row, col);
if(null!=value && !"".equals(value)){
tip = value.toString();
}
}
return tip;
}
};
int width = 125;
//设置列宽
TableColumnModel tcm = jTable.getColumnModel();
TableColumn tc1 = tcm.getColumn(1);
tc1.setPreferredWidth(width);
tc1.setMaxWidth(width);
tc1.setMinWidth(width);
// tc1.setResizable(false);
TableColumn tc = tcm.getColumn(2);
tc.setMaxWidth(width);
tc.setMinWidth(width);
tc.setPreferredWidth(width);
// tc.setResizable(false);
int width1= 100;
TableColumn tc3 = tcm.getColumn(3);
tc3.setMaxWidth(width1);
tc3.setMinWidth(width1);
tc3.setPreferredWidth(width1);
// tc3.setResizable(false);
java 托盘开发_java托盘开发界面记录相关推荐
- java web试题_Java web开发经典面试题汇总(内附答案详解)
原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...
- java实践项目_Java项目开发实践
第章项目开发基础() 项目开发实训目标() 实训知识目标() 实训能力目标() 实训素质目标() 项目开发技术() 图形用户界面编程技术() 输入输出编程技术() 网络编程技术() 数据结构编程技术( ...
- java jni开发_Java JNI开发实践记录
当使用到JNI的时候,基本可以肯定Java的平台移植性注定减弱,接下来记录一次使用Java JNI开发的经历. 关于Java JNI的相关资料参见: 下面是使用JNI常见三种场景: 1.在Java应用 ...
- java工程窗口程序_java工程开发之图形化界面之(第二课)
上一节主要是讨论小的应用程序,在这里我们将采用一种全新的方式来重新编写它. 在这里我们注重关注JFrame和JOptionPane.这些类提供了在JAVA应用程序使用图形的方法以及在JAVA程序中对I ...
- java自动化开发_Java自动化开发指南
一.背景 在Java web开发中,虽然Spring boot已经帮助我们简化了很多工作,但项目中庞杂的业务仍然需要自己去编写较多的 entity,vo,Mapper,Service, Control ...
- java 记事本 新建_java记事本开发
今天我想要分享的是一个用java写的一个记事本程序.我知道现在市面上有各种各样的记事本了,但是我发现有的写的功能不够完善,或者是代码层次结构不够清晰,有的甚至看了之后云里雾里的,有的还不乏了非常明显的 ...
- web开发的java语言步骤_java web开发入门一(servlet和jsp)基于eclispe
servlet 用java语言开发动态资源网站的技术,在doGet方法中拼接显示html,在doPost方法中提交数据.类似于.net的ashx技术. servlet生成的class文件存放在tomc ...
- java系统教程_Java 教程(开发环境配置+基础语法)
Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.ora ...
- java电话计费系统_java 连接数据库开发的电话计费管理系统
[实例简介] 这是java连接数据库 sql 2000 开发的电话计费管理系统 里面运用的还是比较方便的虽然有一点小问题 [实例截图] [核心代码] 电话计费系统 └── 电话计费系统 ├── all ...
最新文章
- 半轴CVJ(constant velocity joint)
- Azkaban安装部署,配置文件配置,启动等
- 大端 小端 原码 反码 补码 及内存中的表现
- ejb模式_EJB的完整形式是什么?
- 前端笔记-thymeleaf获取及回显input标签type=date
- MacBook写代码真香!包邮送一台!
- 54 MM配置-评估和科目设置-将评估分为群集分组
- Android studio设置代码自动提示
- [转载] PyTorch简介
- ubuntu 16.04 远程挂载硬盘
- HDU 2063 过山车
- Centos7 Zabbix监控部署
- 分析日志的工具: 日志易
- maven 打包指定依赖包_maven 打包包含依赖
- OC方法以及文件编译
- python namedtuple
- 基于springboot小型车队管理系统毕业设计源码
- http://wenku.baidu.com/view/1ee32e3a87c24028915fc362.html?re=view###
- 编写爬取糗事百科信息爬虫代码学习笔记
- 次世代游戏美术模型的特性和制作流程
热门文章
- python常用开放工具_python学习笔记16-各种模块和开放工具收集整理
- python距离向量路由算法_互联网中常用路由协议,路由协议基础,一分钟了解下...
- eclipse中文乱码解决_Stata中文乱码顽疾解决方法-一行命令
- Android:浏览器跳转
- matlab 三维点 边界曲面,不用matlab如何从散点数据绘制极坐标三维曲面图?
- Android Studio 导入 so 简明教程:通过一个示例让你理解整个过程
- 可能是最好的单例模式
- 笔记11:GDI 制作数字验证码
- HDU ACM 1224 Free DIY Tour (SPFA)
- 在不停止mysql复制主服务器的情况下,配置一个mysql复制从服务器