FilterLab.java Source code

Java tutorial

Introduction

Here is the source code for FilterLab.java

Source

import java.awt.Button;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.CropImageFilter;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageProducer;

import javax.swing.JApplet;

public class FilterLab extends JApplet implements ActionListener {
    private Image originalImage, filteredImage;

    private Button btn = new Button("FILTER");

    private CropImageFilter cropFilter = new CropImageFilter(50, 20, 120, 140);

    public void init() {
        originalImage = getImage(getDocumentBase(), "e.gif");
        MediaTracker tracker = new MediaTracker(this);
        tracker.addImage(originalImage, 0);
        try {
            tracker.waitForAll();
        } catch (Exception e) {
        }
        filteredImage = originalImage;
        btn.addActionListener(this);
        add(btn);
    }

    public void actionPerformed(ActionEvent ev) {
        filter();
        repaint();
    }

    private void filter() {
        ImageProducer producer = originalImage.getSource();
        producer = new FilteredImageSource(producer, cropFilter);
        filteredImage = createImage(producer);
    }

    public void paint(Graphics g) {
        g.drawImage(originalImage, 10, 50, this);
        g.drawImage(filteredImage, 271, 50, this);

    }
}