你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> 番茄時間管理 – java Swing版

番茄時間管理 – java Swing版

編輯:關於IOS

番茄時間管理法(Pomodoro Technique):一個番茄是如何讓你工作更有效率的

  如果你經常讀一些關於提高工作效率或時間管理類的博客,一定聽說過番茄時間管理法(Pomodoro Technique)。這是一種極好的幫助你集中注意力、獲得更高工作效率的方法。   基本上,它的實施方法是這樣的:   確定你想要做什麼(例如:翻譯一篇外文)。 設定一個25分鐘的定時器。 工作,直到定時器時間到:這就是一個“番茄鐘”。 休息5分鐘,繼續下一個番茄鐘 每4個番茄鐘做一次長時間的休息。 大多數人都會對其做一些細微調整來適應自己:例如,你可以選擇每兩個番茄鐘——而不是四個,做一次長時間的休息。這特別是你剛開始應用這種方法時。           軟件使用到的方法:   界面圓角實現代碼:     [java]   //圓角           AWTUtilities.setWindowShape(this,                   new RoundRectangle2D.Double( 0.0D, 0.0D,                           getWidth(),                           getHeight(), 26.0D, 26.0D));     隱藏Frame標題代碼:   [java]   setUndecorated(true);     自己實現的標題,標題是一個panel,給標題增加了鼠標點擊移動的事件:   [java]   public class MouseMoveListener extends MouseAdapter implements MouseMotionListener {       private Component parentComponent;       private Component dragCom;       private Point offset;          public synchronized void install(Component comp,Component dragCom) {             uninstall();             parentComponent = comp;           this.dragCom = dragCom;             dragCom.addMouseListener(this);             dragCom.addMouseMotionListener(this);         }              public synchronized void uninstall() {             if (dragCom != null) {                 dragCom.removeMouseListener(this);                 dragCom.removeMouseMotionListener(this);                 dragCom = null;             }         }                @Override       public void mousePressed(MouseEvent e) {           if (e.getSource() == dragCom)                 offset = e.getPoint();       }          @Override       public void mouseDragged(MouseEvent e) {           if (e.getSource() != dragCom)                 return;             final int x = parentComponent.getX();             final int y = parentComponent.getY();             final Point lastAt = e.getPoint();             parentComponent.setLocation(x + lastAt.x - offset.x, y + lastAt.y - offset.y);        }          }     上面代碼使用方法如下: [java]   MouseMoveListener mouseMoveListener = new MouseMoveListener();           mouseMoveListener.install(this, titlePanel);     install參數第一個是當前的窗體,第二個是可以點擊移動的對象。   系統托盤圖標實現如下:   [java]   private void initTrayIcon() {           PopupMenu popup = new PopupMenu();           MenuItem showItem = new MenuItem("顯示窗體");           ActionListener listener = new ActionListener() {               public void actionPerformed(ActionEvent e) {                   setVisible(true);                   setExtendedState(Frame.NORMAL);                   SystemTray.getSystemTray().remove(trayIcon);               }           };           showItem.addActionListener(listener);           popup.add(showItem);                      MenuItem exitItem = new MenuItem("退出");           exitItem.addActionListener(new ActionListener() {               @Override               public void actionPerformed(ActionEvent e) {                   SystemTray.getSystemTray().remove(trayIcon);                   System.exit(0);               }           });           popup.add(exitItem);                      // 根據image、提示、菜單創建TrayIcon           this.trayIcon = new TrayIcon(Icon.icon16.getImage(), "/u756a/u8304/u65f6/u95f4/u7ba1/u7406", popup);           // 給TrayIcon添加事件監聽器           this.trayIcon.addActionListener(listener);       }          public void minimizeToTray() {           SystemTray tray = SystemTray.getSystemTray();           try {               tray.add(this.trayIcon);           } catch (AWTException ex) {               ex.printStackTrace();           }       }     在eclipse中運行右鍵菜單時,如果有亂碼,可以在myeclipse中做如下修改(正常環境一般不會亂碼): 在Run configration中     添加:-Dfile.encoding=GB18030     倒計時:使用的timer和timertask     界面布局,多層的jpanel嵌套使用BorderLayout,3個按鈕顯示的panel使用了CardLayout
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved