这款IDEA插件刷爆了朋友圈,网友:这用起来有点酸爽~
Java专栏
共 2736字,需浏览 6分钟
· 2021-01-29
# 安装使用教程
安装
![](https://filescdn.proginn.com/da14637d6b7dbc6415237796a9276826/adfa570c509d2665999486b78bec315c.webp)
本地安装:
![](https://filescdn.proginn.com/c4629afd7e68792bb7d7bd82eb15dcbb/4220bbad71f07da87e29fa3dc1651333.webp)
使用
![](https://filescdn.proginn.com/e7d6e953f0e174e765eb14ecd74394b1/c78c5d5d11c3c371489e793cb3a8f1f0.webp)
![](https://filescdn.proginn.com/cc35dafa95561782b0aea60555008706/f20e1c6adbcc55964d8efbb67913d726.webp)
![](https://filescdn.proginn.com/e9e602730f567c480acd369bd6346a1d/216a9d8543a3e65b1a524975e163033b.webp)
# 开发教程
技术范围
插件工程的基本结构 Swing 主要负责两个对话框的交互 Timer 作为最基本的定时器选择
插件工程结构
![](https://filescdn.proginn.com/8f5552aaf059fde64bedc550b5387a0b/c323822833c2846b68ca94d943d82f6b.webp)
plugin.xml
data包 SettingData,配置信息对应model DataCenter,作为运行时的数据中心,都是些静态的全局变量
service TimerService 这个定时计算的核心代码
task RestTask 休息时的定时任务 WorkTask 工作时的定时任务
ui SettingDialog 设置信息的对话框 TipsDialog 休息时提醒的对话框
StopCodingSettingAction 启动入口的action
Swing
创建对话框
![](https://filescdn.proginn.com/b14c232d39e1fb8c241c1168b1274326/53b162b749f2d981bed806cbec7deb79.webp)
![](https://filescdn.proginn.com/ba2b64610f1ec6dc97351029999c56a5/5607f5078e5a13d057acede1e14c923b.webp)
![](https://filescdn.proginn.com/8769475327c2d0574444fb43971727e7/5f7150b6123649dd1e3d65313cd7e4b3.webp)
添加事件
public class TestDialog extends JDialog {
private JPanel contentPane;
private JButton buttonOK;
private JButton buttonCancel;
public TestDialog() {
setContentPane(contentPane);
setModal(true);
getRootPane().setDefaultButton(buttonOK);
buttonOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
onOK();
}
}); //这是给OK按钮绑定点击事件的监听器
buttonCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
onCancel();
}
});//这是给取消按钮绑定点击事件的监听器
//其他代码
}
![](https://filescdn.proginn.com/11f8dc491ed6518f38d91db5f0bb8f4c/94efd2a94ef0c5ef5db907b189bed52f.webp)
![](https://filescdn.proginn.com/3476548a5ef5a32985a1f1f78a15a8b9/637096f53f8a04c24a4f790e16bbcdbd.webp)
Timer定时器
构造方法
![](https://filescdn.proginn.com/455ad3b1f2e85b7aa78a23683b8e7ec7/be882f17a1c108827438aacb8d67155c.webp)
成员防范
![](https://filescdn.proginn.com/139775dc225c29f414b2eb126b91c8c2/ce243f46ebcc81bf73a2dd764674bbeb.webp)
主要是schedule去添加一个定时任务,和使用cancel去取消任务停止定时器。
# 最后
题外话:推荐一个GitHub项目,这个 GitHub 整理了上百本常用技术PDF,绝大部分核心的技术书籍都可以在这里找到,GitHub地址:https://github.com/gsjqwyl/awesome-ebook(电脑打开体验更好),地址阅读原文直达。麻烦打个给个Star,持续更新中...
---END---
文末福利
评论