📄 例9-9.java
字号:
//Example 9.9
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
public class SeePic extends Frame implements ActionListener,WindowListener
{
private Image myImage;
private boolean haveImage=false;
public SeePic()
{
super("See Picture");
Menu mn=new Menu("File");
MenuItem miOpen=new MenuItem("Open");
MenuItem miExit=new MenuItem("Exit");
mn.add(miOpen);
mn.addSeparator();
mn.add(miExit);
miOpen.addActionListener(this);
miExit.addActionListener(this);
MenuBar mb=new MenuBar();
mb.add(mn);
setMenuBar(mb);
addWindowListener(this);
setSize(800,600);
setVisible(true);
}
public static void main(String args[]) throws IOException
{
new SeePic();
}
public void windowClosing(WindowEvent e){System.exit(0);}
public void windowActivated(WindowEvent e){ }
public void windowClosed(WindowEvent e){ }
public void windowDeactivated(WindowEvent e){ }
public void windowDeiconified(WindowEvent e){ }
public void windowIconified(WindowEvent e){ }
public void windowOpened(WindowEvent e){ }
public void actionPerformed(ActionEvent e)
{
String strCmd=e.getActionCommand();
if(strCmd.equals("Exit")) System.exit(0);
else openPic();
}
public void openPic()
{
String picdir="",picfilename="",picname="";
try
{
FileDialog fd=new FileDialog(this,"Picture File");
fd.setVisible(true);
picdir=fd.getDirectory();
picfilename=fd.getFile();
picname=picdir+picfilename;
//System.out.println("File name:"+picname);
if(picfilename.endsWith("jpg")||picfilename.endsWith("gif"))
showPic(picname);
else
{
haveImage=false;repaint();
}
}
catch(Exception e){System.out.println("Cancled");
}
}
public void showPic(String picname)
{
Toolkit tlkt=getToolkit();
myImage=tlkt.getImage(picname);
haveImage=true;
repaint();
}
public void paint(Graphics g)
{
if(haveImage)
{
Image imageBuffer=createImage(getSize().width,getSize().height);
Graphics gBuffer=imageBuffer.getGraphics();
gBuffer.drawImage(myImage,0,40,this);
gBuffer.dispose();
g.drawImage(imageBuffer,0,0,this);
}
}
public boolean imageUpdate(Image img,int infoflag,int x,int y,int width,int height)
{
if((infoflag&ImageObserver.ALLBITS)!=0)
{
repaint();return false;
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -