这款IDEA插件刷爆了朋友圈,网友:这用起来有点酸爽~
Java高效学习
共 2536字,需浏览 6分钟
· 2022-02-22
# 安装使用教程
安装
![](https://filescdn.proginn.com/7c955c9e064602a0e0d1a138a297cb0a/5ce48abddb882d3d10eb727086c18eb0.webp)
本地安装:
![](https://filescdn.proginn.com/7feff0d12fa509aa24661efc2f66ad99/39260de38be27b3a8811c7f0096c43d5.webp)
使用
![](https://filescdn.proginn.com/494c18b7e498211648cdc2fb031a95f8/2ba6390af20b85b260ac045363d1503c.webp)
![](https://filescdn.proginn.com/953d1026d025b0084cdd98ea36961ff9/8c30b3814e04140cd51f4aa979da48ac.webp)
![](https://filescdn.proginn.com/c2ffed3d82b3ec021db518a867d35774/eba50870116009b7add2beb51e43bb51.webp)
# 开发教程
技术范围
插件工程的基本结构 Swing 主要负责两个对话框的交互 Timer 作为最基本的定时器选择
插件工程结构
![](https://filescdn.proginn.com/b33e1d50aa3273a2856377cb07dac203/1c773489edf67084bd5a88e38c905199.webp)
plugin.xml
data包 SettingData,配置信息对应model DataCenter,作为运行时的数据中心,都是些静态的全局变量
service TimerService 这个定时计算的核心代码
task RestTask 休息时的定时任务 WorkTask 工作时的定时任务
ui SettingDialog 设置信息的对话框 TipsDialog 休息时提醒的对话框
StopCodingSettingAction 启动入口的action
Swing
创建对话框
![](https://filescdn.proginn.com/aa315e3db0ab26afdecfb5a52480788a/ea7c058d33b502d03f01383c05704a85.webp)
![](https://filescdn.proginn.com/b30ab9a0a71d747eeb26f85747c83532/972f6e4dc51d8554bde4a360df7da47f.webp)
![](https://filescdn.proginn.com/aad79062735a1d70e3adfb61a3897087/3fe58c12bc7076c41d96ac5f881b2b29.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/13d2b781a8e63fb57ec4393151090bcf/2d6c87e86727ffe444b295c6f6e12f8a.webp)
![](https://filescdn.proginn.com/8293c6daed35a3ea13050b85558d153a/d18ff77fcf98c46e10194fce8f20addb.webp)
Timer定时器
构造方法
![](https://filescdn.proginn.com/fd02d537cea6e86e52e3ca1b9643a7fb/f5494fabb2a3dfb1c39a7d5177c6c84c.webp)
成员防范
![](https://filescdn.proginn.com/7c4fafd39d42bdcabc8672e189ca9b71/1fe7e84c0a311b374987d4067681f043.webp)
主要是schedule去添加一个定时任务,和使用cancel去取消任务停止定时器。
# 最后
评论