这款IDEA插件刷爆了朋友圈,网友:这用起来有点酸爽~
Java开发宝典
共 2563字,需浏览 6分钟
· 2022-01-21
# 安装使用教程
安装
![](https://filescdn.proginn.com/e493d00dc73b1aab6bec7719515e0a10/ddb95fcd755c5373066b76b0acce6b5b.webp)
本地安装:
![](https://filescdn.proginn.com/039119085cc17ec2ab8c458d8df8dbab/5792938fbd37525e394c3e7c4a44cc10.webp)
使用
![](https://filescdn.proginn.com/96d5c8ce9e3f955d29778b1be8272bad/60100bf608b79e1c9802816e3df4d82a.webp)
![](https://filescdn.proginn.com/5c4366a1549d178706745eba11434ca6/a0cf13dd8007114e5c49dea440d29df7.webp)
![](https://filescdn.proginn.com/3fa893b6314393ea8d1c6942e3c514bb/44f4064863ce9cdb9208ec5f810f278b.webp)
# 开发教程
技术范围
插件工程的基本结构 Swing 主要负责两个对话框的交互 Timer 作为最基本的定时器选择
插件工程结构
![](https://filescdn.proginn.com/c76ba839f085dac7876d62e655aa2093/dfa2e928a4dc641fd815b98202a99b1b.webp)
plugin.xml
data包 SettingData,配置信息对应model DataCenter,作为运行时的数据中心,都是些静态的全局变量
service TimerService 这个定时计算的核心代码
task RestTask 休息时的定时任务 WorkTask 工作时的定时任务
ui SettingDialog 设置信息的对话框 TipsDialog 休息时提醒的对话框
StopCodingSettingAction 启动入口的action
Swing
创建对话框
![](https://filescdn.proginn.com/7b930519b516c6f7b5deb58f402794bf/bf25f0229dd1084383e4a1c451e70a2d.webp)
![](https://filescdn.proginn.com/79d2493f807dd54b3ddcc384ac4faef4/96270b132aa95cbb17007615d6825e79.webp)
![](https://filescdn.proginn.com/c7f6dd3cf43d28f68ae8c86636c33ca2/8b0b51afb96d7f55b234d518dc9440b5.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/3966755441052f2dd7c6c9b753f75115/bebbfc93e8900a66e9ac7b47b2347591.webp)
![](https://filescdn.proginn.com/cea347c4103ef4483717816b1a85eb1c/ae5231402088a8544df4df1a189c99e3.webp)
Timer定时器
构造方法
![](https://filescdn.proginn.com/79982be6a6cedcef99ffb32baf0d63f0/e1ce57cd2e187fc39e92101d9021f034.webp)
成员防范
![](https://filescdn.proginn.com/ba0a2645bf8f89214a1a451c4498d118/6bf8358af37148158d48fa8d40ae5766.webp)
主要是schedule去添加一个定时任务,和使用cancel去取消任务停止定时器。
# 最后
![](https://filescdn.proginn.com/6779a34597cfae97234720c3bead19e1/165dacb31dd849ed04593db074af8203.webp)
![](https://filescdn.proginn.com/6779a34597cfae97234720c3bead19e1/165dacb31dd849ed04593db074af8203.webp)
评论