这款IDEA插件刷爆了朋友圈,网友:这用起来有点酸爽~
互联网架构师
共 2760字,需浏览 6分钟
· 2021-05-02
![](https://filescdn.proginn.com/8404bc447c6d1996e036479aa784f7f7/edffd9023e0d505f9ee7eef137a1be90.webp)
前言
安装使用教程
安装
1.在idea中直接搜索安装StopCoding插件(官方已经审核通过)
![](https://filescdn.proginn.com/ea3fb06ac783e8c2fb17c919995f8751/ce9ba6e76b92b70d4d7c0f073addb83c.webp)
本地安装:
![](https://filescdn.proginn.com/95d6a5d656f0f77ca3856a7c6961bf10/c0e13967f1b4515bc1571b7c9a576f22.webp)
使用
![](https://filescdn.proginn.com/6fd685c7dfe5dd09902d9ddd13aa74ed/92b3e9a3ab32eeda0ea9ed22a7b94557.webp)
Step2. 设置适合你的参数然后保存。
![](https://filescdn.proginn.com/3697530ff71e3c285a96c8ad2218c231/487f664ee298a08334219f963883a3f2.webp)
![](https://filescdn.proginn.com/b87f54f302870ee477fdfc4ea4c9db39/608bc0b194b14a4576776217673a7940.webp)
开发教程
技术范围
插件工程的基本结构 Swing 主要负责两个对话框的交互 Timer 作为最基本的定时器选择
插件工程结构
![](https://filescdn.proginn.com/0b6ef808721a3382833b381cc6028868/08b8f8bb0538c8e5f21e8f958a532459.webp)
plugin.xml
这是插件工程的核心配置文件,里面每一项的解释,可以参考第一篇的介绍核心配置文件说明。
data包 SettingData,配置信息对应model DataCenter,作为运行时的数据中心,都是些静态的全局变量
service TimerService 这个定时计算的核心代码
task RestTask 休息时的定时任务 WorkTask 工作时的定时任务
ui SettingDialog 设置信息的对话框 TipsDialog 休息时提醒的对话框
StopCodingSettingAction 启动入口的action
Swing
创建对话框
Step1
![](https://filescdn.proginn.com/cc718236f7e0b3bf36574aba4d610cdf/48b5dfde49b50843aaa965e533df94c7.webp)
Step2
![](https://filescdn.proginn.com/07c7fab3913f5ac6ff63c3be00943170/23c75772f121367455fef6c5b96cec86.webp)
Step3
![](https://filescdn.proginn.com/0da859350bf9fedb1336802be740c5fb/f4c71bc92245f25a737facc86e8d7ff8.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/66de0bce0969aaf3dac8c3f1e28ab7f1/765c6ba17f0f6b2c1d38b59557b65989.webp)
step2
![](https://filescdn.proginn.com/19bee107e325cc57609742542c009902/1c7a327cf8c78091b4fb3bda542bed9f.webp)
Timer定时器
构造方法
![](https://filescdn.proginn.com/c9213189358cbd61108c943063f76d8f/cecf6a88d1f461574ccc2e2cec539dcf.webp)
成员防范
![](https://filescdn.proginn.com/7986760aff529681ba513d5c9f2ea716/86e5d8e4fc826d8ecc3f955b54310490.webp)
主要是schedule去添加一个定时任务,和使用cancel去取消任务停止定时器。
最后
最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理和创作的 Java 系列教程非常齐全。
5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...
评论