騷操作 !IDEA 防止寫代碼沉迷插件 !
往期熱門文章:
2、為什么我不建議你用去 “ ! = null " 做判空?

前言
安裝使用教程
安裝
在 IDEA 中直接搜索安裝 StopCoding 插件(官方已經(jīng)審核通過)

本地安裝:

使用
Step1. 然后在菜單欄中 tools->StopCoding

Step2. 設(shè)置適合你的參數(shù)然后保存。

Step3. 然后快樂的 Coding 吧,再不用擔(dān)心自己會沉迷了。工作時間結(jié)束,她會彈出下框進行提醒,當(dāng)然,這個框是關(guān)不掉的.只有你休息了足夠的時間它才會自動關(guān)閉.

開發(fā)教程
技術(shù)范圍
插件工程的基本結(jié)構(gòu) Swing 主要負(fù)責(zé)兩個對話框的交互 Timer 作為最基本的定時器選擇
插件工程結(jié)構(gòu)

plugin.xml
data
SettingData?:配置信息對應(yīng) modelDataCenter?:作為運行時的數(shù)據(jù)中心,都是些靜態(tài)的全局變量service
TimerService?:這個定時計算的核心代碼task
RestTask?:休息時的定時任務(wù)WorkTask?:工作時的定時任務(wù)ui
SettingDialog?:設(shè)置信息的對話框TipsDialog?: 休息時提醒的對話框StopCodingSettingAction?:啟動入口的 action
Swing
創(chuàng)建對話框
Step1

Step2

Step3

注:這里并沒有詳細(xì)的展開 Swing 的講解,因為界面的這個東西,需要大家多去自己實踐。這里就不做手冊式的贅述了。
添加事件
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按鈕綁定點擊事件的監(jiān)聽器
????????buttonCancel.addActionListener(new?ActionListener()?{
????????????public?void?actionPerformed(ActionEvent?e)?{
????????????????onCancel();
????????????}
????????});//這是給取消按鈕綁定點擊事件的監(jiān)聽器
????//其他代碼
????}
step1

step2

Timer 定時器
構(gòu)造方法

成員防范

主要是 schedule 去添加一個定時任務(wù),和使用 cancel 去取消任務(wù)停止定時器。
最后
往期熱門文章:
1、《歷史文章分類導(dǎo)讀列表!精選優(yōu)秀博文都在這里了!》
2、萬億級數(shù)據(jù)應(yīng)該怎么遷移? 3、從應(yīng)用到底層 36張圖帶你進入Redis世界 4、寫代碼有這16個好習(xí)慣,可以減少80%非業(yè)務(wù)的bug 5、順豐快遞:請簽收MySQL靈魂十連
6、一個基于SpringBoot + MyBatis + Vue的代碼生成器 7、Redis 分布式鎖使用不當(dāng),超賣了100瓶飛天茅臺!!! 8、如何設(shè)計訂單系統(tǒng)?這篇寫得太好了! 9、如果MySQL磁盤滿了,會發(fā)生什么?還真被我遇到了! 10、阿里開源的27個項目,值得收藏!
評論
圖片
表情
