图形界面部分)"/>
java爱心图形(新手练习图形界面部分)
新手敲了书上的代码心血来潮想要打一个爱心的图形界面出来,下面是我的代码和一些注释以及效果图,附上爱心算法的原出处(好吧,找不到了)
import java.awt.*;//包含了很多类与接口,其中有基本组件,容器类组件,2D图形绘制组件,布局管理器,事件处理模型 import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;public class GraphicsTest extends Frame {double x[] = new double[360];double y[] = new double[360];int xx[] = new int[360];int yy[] = new int[360];int k = 0;public GraphicsTest() {super();//子类调用父类的无参构造方法this.setTitle("爱你");this.setSize(600, 600);this.setLocation(500, 300);this.setVisible(true);setSize(480, 460);//设置窗口的大小setLocationRelativeTo(null);//设置窗口指定的位置,null和0为默认在中间addWindowListener(new WindowAdapter() {//事件监听器,//windowAdapter只需自己的部分,其他方法定义为空public void windowClosing(WindowEvent e) {//windowClosing正在关闭窗口System.exit(0);//退出关闭窗口}});setVisible(true); //用来显示GUI组件,要放在最后,提示模块已经准备好了,paint可以进行画画了}public void paint(Graphics g){ // paint为画笔,Graphics类,绘制图形g.setColor(Color.RED); //设置颜色Font font = new Font("黑体",Font.BOLD,24);//定义字体的类型g.setFont(font); //设置字体g.drawString("爱你",180,190); //字体和该位置g.setColor(Color.RED);g.drawPolygon(xx, yy, 360);g.setFont(new Font("Tahoma", Font.BOLD, 12));}//画爱心的算法public void setvalue() {for (double t = 1; t <= 360; t++) {x[k] = Math.cos(Math.toRadians(t));y[k] = -(Math.sin(Math.toRadians(t)) + Math.cbrt(Math.pow(Math.cos(Math.toRadians(t)), 2.0)));xx[k] = (int) (x[k] * 100 + 200);yy[k] = (int) (y[k] * 100 + 245);k++;}}public static void main(String[] args){GraphicsTest g = new GraphicsTest();g.setvalue();//调用算法} }
效果图如下:
更多推荐
java爱心图形(新手练习图形界面部分)
发布评论