小弟最近想编一个可以画二次函数图象的JAVA程序,是一个APPLET,但是碰上一点问题,以下是局部代码if(ae.getSource()==bt2){q2dlinecoreabcdrawcore=newq2dlinecoreabc();}/*以上是按钮“...
小弟最近想编一个可以画二次函数图象的JAVA程序,是一个APPLET,但是碰上一点问题,以下是局部代码
if(ae.getSource()==bt2)
{
q2dlinecoreabc drawcore=new q2dlinecoreabc();
}
/* 以上是按钮“计算“的动作监听代码,我想使这个按钮被点击以后就* 运行以下类的所有方法,但是这样只能运行类的构造方法,paint方
* 法可不可以调用过来?
*/
class q2dlinecoreabc
{
double dt1,dt2,dt3,dt4,dc1x,dc1y,dc2x,dc2y,dc3x,dc3y;
q2dlinecoreabc()
{
dt1=Double.parseDouble(tx3.getText());
dt2=Double.parseDouble(tx8.getText());
dt3=Double.parseDouble(tx9.getText());
dt4=Double.parseDouble(tx10.getText());
dc1x=0-(dt2/(2*dt1)); //这个包括以下几个都是曲线要用到的坐标值。
dc1y=(4*dt1*dt3-dt2*dt2)/(dt1*4);
dc2x=dt4*5;
dc2y=dt1*(dt4*5)*(dt4*5)+dt2*(dt4*5)+dt3;
dc3x=dc1x-Math.abs(dc2x-dc1x);
dc3y=dt1*dc3x*dc3x+dt2*dc3x+dt3;
}
/* 以上就是这个类的构造方法,主要是通过输入的几个值来计算得到
* 二次函数的几个坐标,然后由下面的paint方法画出图像。
*/
public void paint(Graphics gc)
{
Graphics2D g2dc=(Graphics2D)gc;
qccore=new QuadCurve2D.Double //这就是我要画的曲线了。(dc2x,dc2y,dc1x,dc1y,dc3x,dc3y);
g2dc.draw(qccore);//draw方法添加曲线
}
}
/* 以上就是困扰我的问题了,首先麻烦各位看一下这个二次函数曲线* 的画法有没有什么错误,然后请问,paint方法可以被其他中,
* 通过创建类对象,或者直接用类名,或者其他方法来调用嘛?或
* 者说,有什么办法可以让他执行?另外,我在之前的类中已经使用
* 过了paint方法,这是第二次使用了,但是编译没出现什么问题,
* 这是说明paint方法用两次没关系么?总之,有什么方法能让我通
* 过点击按钮来画出这个线?麻烦各位赐教了,小弟比较菜鸟,先谢* 谢了!
*/
我已经有类声明为public了,且貌似在编译中只是说不能引用方法,没说什么问题,很奇怪,paint方法不能通过对象或者类名引用么?对了,画函数图像的类是包含在继承了Applet类的类中的,并非单独出来的,这样有什么影响呢?
二楼大哥可以说一下具体怎么写么?小弟没用过这个代码,比较菜,不好意思哈...如果好的话我一定追分!
三楼大哥,这个方法我试过 ,但是编译提示找不到符号,是变量的问题吧?如果这样,能教我如何声明这个变量吗?
展开