62,615
社区成员
发帖
与我相关
我的任务
分享
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Face extends JFrame // 改成了JFrame,强烈建议不要使用AWT的组件
{
//序列化字段,可以删除
private static final long serialVersionUID = -1743769932464390769L;
public Face(String str)
{
super(str);
}
public static void main(String args[])
{
// 为什么声明成final,下面有讲
final JFrame ff = new Face("gui");
Mypanel panel = new Mypanel();
ff.add(panel);
// 我不知道你到底想干什么,ActionListener是接口,不能实例化
// ActionListener al = new ActionListener();
// addWindowListener不能添加ActionListener
// ff.addWindowListener(al);
// ===============================================
WindowListener al = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
// ff在内部类里使用,必须声明成final
ff.dispose();
}
};
ff.addWindowListener(al);
// ===============================================
// 上面一块可以用下面一行代替,功能相同
// ff.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// 设置初始大小
ff.setSize(600, 500);
// 设置初始时位于屏幕中间
ff.setLocationRelativeTo(null);
ff.setVisible(true);
}
}
class Mypanel extends JPanel
{
// 序列化字段,可以删除
private static final long serialVersionUID = 8094515598516460551L;
public void paintComponent(Graphics g)
{
// 这样创建的图片似乎画不出来
// Image image = Toolkit.getDefaultToolkit().createImage("33.jpg");
// 图片33.jpg的位置在项目根目录下
Image image = new ImageIcon("33.jpg").getImage();
g.drawImage(image, 100, 100, this);
}
}