帮我检查一下程序,出现什么问题?

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:20:54
所要达到的效果:显示一条直线,当参数改变时,直线也会随参数的改变而改变;Y=kx+b(直线的公式) 二个参数分明是 k和b,用文本框输入这二个数据..
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

public class DrawLine extends Applet implements ActionListener
{
Label l1,l2;
TextField tfd1,tfd2;
Button btn;
int k,b;

public void init()
{
l1=new Label("请输入k的值:");
tfd1=new TextField(6);
l2=new Label("请输入b的值:");
tfd2=new TextField(6);
btn=new Button("确定");
add(l1);
add(tfd1);
add(l2);
add(tfd2);
add(btn);
tfd1.addActionListener(this);
tfd2.addActionListener(this);
btn.addActionListener(this);
}

public void paint(Graphics g)
{
g.drawLine(0,b,1,k+b);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btn)
{
k=Integer.parseI

是因为你监听的时候错了
k=Integer.parseInt(l1.getText());
b=Integer.parseInt(l2.getText());

l1,l2能取getText()么? 应该是:

k = Integer.parseInt(tfd1.getText());
b = Integer.parseInt(tfd2.getText());

一开始我也以为显示不出来呢,后来发现是直线太短了,因为画直线是以像素为单位的,所以你给值的时候要大一点,比如300,300.。。