FileDocCategorySizeDatePackage
BlurJButton.javaAPI DocExample1380Mon Jan 09 11:01:58 GMT 2006None

BlurJButton

public class BlurJButton extends JButton

Fields Summary
Constructors Summary
public BlurJButton(String text)

        super(text);
    
Methods Summary
public static voidmain(java.lang.String[] args)

        JFrame frame = new JFrame("Blurred Button Hack");
        final JButton button = new BlurJButton("A Blurred Button");
        JButton control = new JButton("Switch");
        control.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                button.setEnabled(!button.isEnabled());
            }
        });
        
        frame.getContentPane().add(button);
        frame.getContentPane().add("South",control);
        frame.pack();
        frame.show();
    
public voidpaintComponent(java.awt.Graphics g)

        if(isEnabled()) {
            super.paintComponent(g);
            return;
        }
        
        float[] my_kernel = {
            0.10f, 0.10f, 0.10f,
            0.10f, 0.20f, 0.10f,
            0.10f, 0.10f, 0.10f };
        ConvolveOp op = new ConvolveOp(new Kernel(3,3, my_kernel));
        BufferedImage buf = new BufferedImage(getWidth(),getHeight(),
            BufferedImage.TYPE_INT_RGB);
        super.paintComponent(buf.getGraphics());
        Image img = op.filter(buf,null);
        g.drawImage(img,0,0,null);