欢迎光临
我们一直在努力

为JEdit设置墙纸(add wallpaper for jedit)-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

1). 前提(condition)+ jedit4.2final+ jdk 1.42). 步骤(steps)1. add this at org.gjt.sp.jedit.textarea.textareapainterin 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.jpg5. add this into org\gjt p\jedit\actions.xml<action name="change-wallpaper">    <code>        textarea.changewallpaperdialog();    </code></action>6. change org\gjt p\jedit\jedit_gui.props, add "change-wallpaper" in tool bar#{{{ tool barview.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 $wallpaper7. last step, rebuild source, restart jedit, have fun. notes: i don`t know if it is something slowdown, but i like it 🙂

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 为JEdit设置墙纸(add wallpaper for jedit)-JSP教程,Java技巧及代码
分享到: 更多 (0)

相关推荐

  • 暂无文章