怎样在JAVA中使按钮的操作可以连续

来源:百度知道 编辑:UC知道 时间:2024/07/06 18:02:39
bargainB.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent e){
double Psmax,Psmin,Psx,Psx_1,Pbx,Pbx_1,Pmin;
int n,i,k;
Psmax=500;
Psmin=100;
n=20;
Pbx_1=0;
Psx_1=500;
k=3;
i=0;
while(i<=n)
{i++;
Psx=Double.parseDouble(bpriceTF.getText());
if(Pbx_1>=Psmin)
Pmin=Pbx1_1;
else
Pmin=Psmin;
if ((Pbx-Pbx_1)>=(0.1*Psmax))
Psx=Psmax-(Math.pow(n,k))*(1/(Psmax-Pmin))*(Math.pow(i,k));
else
Psx=Pmin+(Math.pow(n,k))*(1/(Psmax-Pmin))*(Math.pow(n-i,k));
if(Psx>=Psx_1)
Psx=0.5*(Psx_1+Pbx);
if (Psx<Psmin)
Psx=Psmin;
Psx_1=Psx;
Pbx_1=Pbx;
spriceTF.setText(""+Psx);
timesTF.setText(""+(n-i));}
}

这是我编写的一个按钮的响应事件,设想中的操作是,点击一下按钮就进行一次操作,可以循环点击,后次点击与前次点击有关系的。但执行这个程序时,却发现进行不了,好象成单独点击事件了。由于才学JAVA,不知道是不是JAVA中的按钮是不能进行这样的操作啊

你能不能说一下你想干什么?每点一下做什么操作?再点一下又希望怎样?

我建议你让类继承事件接口,然后实现所有方法。
你现在的写法更适合用在for循环里
其次你要把
double Psmax,Psmin,Psx,Psx_1,Pbx,Pbx_1,Pmin;
int n,i,k;
Psmax=500;
Psmin=100;
n=20;
Pbx_1=0;
Psx_1=500;
k=3;
i=0;
这些变量都放到外面,而不是放在事件里成为局部变量。
大概的方法就是事件里只写一次完整的计算过程,然后把算好的数据放到text里,当你再次点击时重新从text中获取数值,然后做计算,再放回text中
不知道我是否说明白了?

double Psmax,Psmin,Psx,Psx_1,Pbx,Pbx_1,Pmin;
int n,i,k;
Psmax=500;
Psmin=100;
n=20;
Pbx_1=0;
Psx_1=500;
k=3;
i=0;

这些变量每次事件进来都会被赋值,所以结果都一样,需要改变的数量得从外面传进来 像 bpriceTF.getText() 一样,然后把计算过的值再传出去