packagepicture;import java.awt.*;import java.awt.event.*;importjava.awt.image.BufferedImage;import javax.swing.*;import java.io.*;importjavax.imageio.ImageIO;public class DialogDemo implementsActionListener{privateJFrame frame;privatePanel panel, panelButton, panelText;privateJLabel labelHight, labelWidth;//固定缩放宽度和长度
privateJTextField textHight;privateJTextField textWidth;//操作记录提示框
privateJTextArea textArea;//操作按钮
privateJButton buttonReduce, buttonEnlarge, buttonZoom;//菜单栏:打开图片、保存图片、关于、退出
privateJMenuItem itemSave, itemOpen,itemAbout, itemExit;//打开图片窗口,保存图片窗口
privateFileDialog dialogOpen;privateFileDialog dialogSave;//BufferedImage用于保存图片
privateBufferedImage bufferedImage;//图片显示imageCanvas类(继承Canvas)
privateimageCanvas canvas;privateImage image;privateGraphics graphics;public static voidmain(String[] args) {
EventQueue.invokeLater(newRunnable() {public voidrun() {try{
DialogDemo window= newDialogDemo();
window.frame.setVisible(true);
}catch(Exception e) {
e.printStackTrace();
}
}
});
}//图片显示imageCanvas类(继承Canvas),用于图片重新绘制
class imageCanvas extendsCanvas
{//重写Canvas的paint方法
public voidpaint(Graphics g)
{//将image绘制到该组件上
g.drawImage(bufferedImage, 0, 0, null);//f.setVisible(true);
}
}//构造函数初始化图像界面
publicDialogDemo() {
frame= newJFrame();
frame.setBounds(100, 100, 900, 900);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout(0, 0));
canvas= newimageCanvas();
canvas.setPreferredSize(new Dimension(800, 600));
<