package product;
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
public class product extends JFrame {
JPanel jp1, jp2;
private int currentPixArray[] = null;// 保存当前操作的像素矩阵
private String fileString = null;// 图像的路径
private JLabel imageLabel = null;// 用于显示图像的标签
private BufferedImage newImage;// 加载的图像
private int h, w;// 图像的高和宽
private LinkedList<int[]> imageStack = new LinkedList<int[]>();// 保存历史操作图像矩阵
private LinkedList<int[]> tempImageStack = new LinkedList<int[]>();// 保存历史操作图像矩阵
// 构造函数
public product(String title) {
super(title);
jp1 = new JPanel()
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
public class product extends JFrame {
JPanel jp1, jp2;
private int currentPixArray[] = null;// 保存当前操作的像素矩阵
private String fileString = null;// 图像的路径
private JLabel imageLabel = null;// 用于显示图像的标签
private BufferedImage newImage;// 加载的图像
private int h, w;// 图像的高和宽
private LinkedList<int[]> imageStack = new LinkedList<int[]>();// 保存历史操作图像矩阵
private LinkedList<int[]> tempImageStack = new LinkedList<int[]>();// 保存历史操作图像矩阵
// 构造函数
public product(String title) {
super(title);
jp1 = new JPanel()