📄 draw.java
字号:
import java.awt.*;
import java.awt.event.*;
public class draw extends Canvas
{
int coorX[],coorY[];
int axisX[],axisY[];
double first[]={1,2};
int x0,y0,numberFunc;double com[];
calculator cal;
public draw()
{
setBackground(Color.white);
setSize(650,550);
calculate(1,first,-4,4);
}
public void calculate(int numberFunc,double com[],double x1,double x2)
{
this.com=com;this.numberFunc=numberFunc;
cal=new calculator(numberFunc,com,x1,x2);
coorX=cal.getCoordinateX();
coorY=cal.getCoordinateY();
axisX=cal.getAxisX();axisY=cal.getAxisY();
repaint();
}
public String[] getNameFunc()
{ calculate(1,first,-4,4);
return cal.getNameFunc();}
public int getNumberCoff(int numberFunc)
{return cal.getNumberCoff(numberFunc);}
public void paint(Graphics g)
{
g.setColor(Color.black);
//draw graph
x0=coorX[0];y0=coorY[0];
for(int i=1;i<coorX.length;i++)
{
g.drawLine(x0,y0,coorX[i],coorY[i]);
if(i<coorX.length-1){x0=coorX[i];y0=coorY[i];}
else{break;}
}
//draw axis X
if(numberFunc==6)
{g.drawLine(20,axisX[2],axisX[1]+30,axisX[2]);}
else
{g.drawLine(axisX[0],axisX[2],axisX[1]+30,axisX[2]);}
g.drawLine(axisX[1]+25,axisX[2]+5,axisX[1]+30,axisX[2]);
g.drawLine(axisX[1]+25,axisX[2]-5,axisX[1]+30,axisX[2]);
g.drawString("X",axisX[1]+10,axisX[2]+15);
//draw axis Y
if(com[0]>=0)
{
g.drawLine(axisY[2],axisY[0],axisY[2],axisY[1]+axisX[2]+10);
g.drawLine(axisY[2]-5,axisY[0]+5,axisY[2],axisY[0]);
g.drawLine(axisY[2]+5,axisY[0]+5,axisY[2],axisY[0]);
g.drawString("Y",axisY[2]+7,axisY[0]+10);
}
else
{
g.drawLine(axisY[2],axisY[0]-axisX[2],axisY[2],axisY[1]);
g.drawLine(axisY[2]-5,axisY[0]-axisX[2]+5,axisY[2],
axisY[0]-axisX[2]);
g.drawLine(axisY[2]+5,axisY[0]-axisX[2]+5,axisY[2],
axisY[0]-axisX[2]);
g.drawString("Y",axisY[2]+7,axisY[0]-axisX[2]+10);
}
//draw goc
g.drawString("(0,0)",axisY[2]-30,axisX[2]-2);
//ve cac diem chia
g.drawLine(axisY[2]+(int)(cal.kx),axisX[2]-5,axisY[2]+
(int)(cal.kx),axisX[2]+5);
g.drawString("1",axisY[2]+
(int)(cal.kx)-6,axisX[2]+13);
g.drawLine(axisY[2]-5,axisX[2]-(int)(cal.ky),axisY[2]+5,axisX[2]-
(int)(cal.ky));
g.drawString("1",axisY[2]+13,axisX[2]-
(int)(cal.ky)+6);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -