java图形功能 大笑脸
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AWT extends Frame{
static Frame frame;
Panel panel; //流式布局FlowLayout是Panel的默认布局
Image image;
public static void main(String[] args) {
frame = new Frame("text AWT");
//对JFrame应用格点布局
frame.setLayout(new GridLayout(1,2));
frame.setVisible(true);
frame.setTitle("文字、图形绘制与图像加载"); //窗口标题
frame.setLocation(200,200); //窗口在屏幕是的显示位置
frame.setSize(350,350); //设置窗口大小
frame.setResizable(false); //设置窗口大小不可调节;默认可调节
//实例化内部类对象
AWT.DrawingPanel mPanel = new AWT().new DrawingPanel();
frame.add(mPanel);//将Panel添加到Frame
frame.addWindowListener(new WindowAdapter(){//关闭窗口监听
@Override
public void windowClosing(WindowEvent e){
System.exit(0); //终止程序
}
});
}
//绘制图形容器内部类
class DrawingPanel extends Panel{
@Override
public void paint(Graphics g){
//调用父类方法paint()
super.paint(g);
//绘制图形和文字时,此方法仅被执行一次
System.out.println("调用绘图的paint()方法");
g.setFont(new Font("楷体",Font.BOLD,20));
g.drawString("大笑脸",170,30);//插入文字
g.setColor(Color.black);
g.drawOval(130,50,190,200);
g.fillOval(165,120,20,20); //左眼
g.fillOval(265,120,20,20); //右眼
g.drawArc(155,100,40,45,45,90); //左眉
g.drawArc(255,100,40,45,45,90); //右眉
g.setColor(Color.red);
g.drawArc(130,-65,185,255,-45,-90); //画口
g.drawArc(130,-190,185,400,-45,-90); //画口
}
}
}
运行截图: