⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter16n0.java

📁 一个用JAVA画图程序
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

public class Chapter16n0 extends Frame
                                  implements  WindowListener,ActionListener
{
public Chapter16n0()
{
super();

setTitle("Chapter16n0");
setBackground(Color.green);
setSize(500,400);
addWindowListener(this);

Canvas0 canvas=new Canvas0();
add("Center",canvas);

Panel p=new Panel();
p.setLayout(new FlowLayout());
Button quit=new Button("Quit");
p.add(quit);
quit.addActionListener(this);
add("South",p);
}


public static void main(String[] args)
{
Chapter16n0 f=new Chapter16n0();
f.setVisible(true);
}


public void actionPerformed(ActionEvent event)
{
dispose();
System.exit(0);
}


public void windowClosing(WindowEvent enent)
{
dispose();
System.exit(0);
}


public void windowOpened(WindowEvent event){}
public void windowIconified(WindowEvent event){}
public void windowDeiconified(WindowEvent event){}
public void windowClosed(WindowEvent event){}
public void windowActivated(WindowEvent event){}
public void windowDeactivated(WindowEvent event){}
}

class Canvas0 extends Canvas
{
public Canvas0()
{
super();
}

public void paint(Graphics g)
{
Dimension d=getSize();
int cx=d.width/2,
cy=d.height/2,
faceRadius=50,
noseLength=20,
mouthRadius=30,
mouthAngle=50,
eyeRadius=5;

g.setColor(Color.black);
g.drawRoundRect(2,2,d.width-5,d.height-5,20,20);

g.setColor(Color.red);
g.drawOval(cx-faceRadius,cy-faceRadius,faceRadius*2,faceRadius*2);
g.setColor(Color.blue);
g.fillOval(cx-30-eyeRadius,cy-20,eyeRadius*2,eyeRadius*2);
g.fillOval(cx+30-eyeRadius,cy-20,eyeRadius*2,eyeRadius*2);
g.setColor(Color.red);
g.drawLine(cx,cy-(noseLength/2),cx,cy+(noseLength/2));
g.drawArc(cx-mouthRadius,cy-mouthRadius,mouthRadius*2,mouthRadius*2,270-mouthAngle,mouthAngle*2);


Font f1=new Font("TimesRoman",Font.PLAIN,14);
Font f2=new Font("TimesRoman",Font.ITALIC,14);
FontMetrics fm1=g.getFontMetrics(f1);
FontMetrics fm2=g.getFontMetrics(f2);
String s1="Hello,";
String s2="World";
int w1=fm1.stringWidth(s1);
int w2=fm2.stringWidth(s2);
g.setColor(Color.black);
g.setFont(f1);
int ctx=cx-((w1+w2)/2);
int cty=cy+faceRadius+30;
g.drawString(s1,ctx,cty);
ctx+=w1;
g.setFont(f2);
g.drawString(s2,ctx,cty);
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -