| 
         
     
     | 
     | 
    
  
    | 
    为JEdit设置墙纸(add wallpaper for jedit) | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-5-13 月光软件站  | 
   
  
     1). 前提(condition) + jedit4.2final + jdk 1.4 2). 步骤(steps) 1. add this at org.gjt.sp.jedit.textarea.TextAreaPainter in method paintComponent(...) after:         extensionMgr.paintScreenLineRange(textArea, gfx, firstInvalid,                 lastInvalid, y, height); add:         { // paint wallpaper after all that should be paint         Rectangle rect = this.getVisibleRect();         Wallpaper.paintWallpaper(gfx, rect.x, rect.y, rect.width,                 rect.width, this);         }          2. add in org.gjt.sp.jedit.textarea.JEditTextArea         //    {{{ changeWallpaperDialog() method    // for change the wallpaper     /**          * Displays the 'changeWallpaperDialog' dialog box.      * @author neoedmund      */     public void changeWallpaperDialog()     {             if (Wallpaper.changeWallpaper(this)){             repaint();                 }     } //}}}
  3. add new class org.gjt.sp.jedit.textarea.Wallpaper /*  * Created on 2005-3-26  */ package org.gjt.sp.jedit.textarea;
  import java.awt.AlphaComposite; import java.awt.Composite; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream;
  import javax.imageio.ImageIO; import javax.swing.JComponent; import javax.swing.JFileChooser;
  /**  * @author neoe  */ public class Wallpaper {          static BufferedImage pic;     private static final String DEFALUT_IMG = "org/gjt/sp/jedit/icons/wallpaper.jpg";     static{         System.out.println("hello Wallpaper");         loadPic(ClassLoader                 .getSystemResourceAsStream(DEFALUT_IMG));             }         static AlphaComposite alpha = AlphaComposite.getInstance(             AlphaComposite.SRC_OVER, 0.2f);     /**      * @param gfx      * @param width      * @param height      */     public static void paintWallpaper(Graphics2D g, int cx, int cy, int width, int height, JComponent view) {         if (pic==null){             return;         }         int y = 0;         int w = pic.getWidth();         int h = pic.getHeight();         Composite old = g.getComposite();         g.setComposite(alpha);         while (true) {             int x = 0;             while (true) {                 g.drawImage(pic, cx+x, cy+y, view);                 x += w;                 if (w <= 0 || x >= width) {                     break;                 }             }             y += h;             if (h <= 0 || y >= height) {                 break;             }         }         g.setComposite(old);     }     /**      * @param in      */     private static void loadPic(InputStream in) {         try {             pic = ImageIO.read(in);         } catch (IOException e) {                         e.printStackTrace();         }              }     static File f;     /**      *       */     public static boolean changeWallpaper(JComponent parent) {         JFileChooser jfc = new JFileChooser(f);         int returnVal = jfc.showOpenDialog(parent);         if (returnVal == JFileChooser.APPROVE_OPTION) {             f = jfc.getSelectedFile();             try {                 loadPic(new FileInputStream(f));                 return true;             } catch (IOException e1) {                 e1.printStackTrace();             }         }         return false;     }
  }
  4. copy default wallpaper whatever you like into org/gjt/sp/jedit/icons/wallpaper.jpg
  5. add this into org\gjt\sp\jedit\actions.xml <ACTION NAME="change-wallpaper">     <CODE>         textArea.changeWallpaperDialog();     </CODE> </ACTION>
  6. change org\gjt\sp\jedit\jedit_gui.props, add "change-wallpaper" in tool bar #{{{ Tool bar view.toolbar=new-file open-file close-buffer save - print page-setup - \     undo redo cut copy paste - find find-next - new-view unsplit \     split-horizontal split-vertical - buffer-options global-options - \     plugin-manager - help - change-wallpaper ... ... ... change-wallpaper.icon=Help.png .... .... change-wallpaper.label=Change $Wallpaper
  7. last step, rebuild source, restart jedit, have fun. 
  notes: I don`t know if it is something slowdown, but I like it :)
  
  
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |