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

📄 canvastest.java

📁 《Java程序设计与应用》-张仕斌-源程序 《Java程序设计与应用》-张仕斌-源程序
💻 JAVA
字号:
//CanvasTest.java
import java.awt.*;
import javax.swing.*;

//派生出自己的画布类
class MyCanvas extends Canvas {
	final static int SCALE_H = 100; //高度缩放比例
	final static float SCALE_W = 1.0f; //水平缩放(以360pix为基数)
	
	public MyCanvas() {}
	
	//重写该方法
	public void paint(Graphics g) {		
		int sX,sY,cX,cY; //分别表示源坐标和当前坐标
		super.paint(g);
		
		sX = 10;                  //初始为源点(向右平移10pix)
		sY = (int)(SCALE_H + 5);    //Y坐标在画布中央
		
		for (int i = 10; i <= 360; i += 10) { //画一个周期,每10度画线
			cX = (int)(i*SCALE_W + 10);            //当前X坐标
			cY = (int)(-SCALE_H * Math.sin(i*Math.PI /180) + SCALE_H + 5); //当前Y坐标
			
			g.drawLine(sX,sY,cX,cY);   //从源点画直线到当前点
			//重置源点
			sX = cX;
			sY = cY;
		}		
	}
}

public class CanvasTest extends JFrame {
	public CanvasTest() {
		super("Canvas Test");
		MyCanvas mc = new MyCanvas();
		this.getContentPane().add(mc,BorderLayout.CENTER); //将画布加到中央
	}
	
	public static void main(String[]args) {
		CanvasTest ct = new CanvasTest();
		ct.setSize(400,240);
		ct.setDefaultCloseOperation(EXIT_ON_CLOSE);
		ct.setVisible(true);
	}
}

⌨️ 快捷键说明

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