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_
[1] [2] [3] 下一页