在cominfo中定义了若干静态变量静态方法如:
package com;
public class comInfo
{
static int deadlineTime=0;
public static void setDeadlineTime(int num)
{
deadlineTime=num;
}
public static int getDeadlineTime()
{
return deadlineTime;
}
}
}
在buyer中调用可以成功
public class buyer extends JFrame implements ActionListener
{
public buyer(int buyerport)
{
this.deadlineTime=com.comInfo.getDeadlineTime();
}
public void actionPerformed(ActionEvent e)
{
else if(e.getSource()==timer)
{
deadlineTime--;
if(deadlineTime>=0)
{
txtDeadlineTime.setText(""+deadlineTime);
}
else
{
timer.stop();
btnbid.setEnabled(false);
}
}
}
}
上面的操作能成功,但在另外一类df中操作却不能成功public class df extends JFrame implements ActionListener
{
int deadlintTime;
Timer timer;
ServerSocket serverSocket;
Socket sock;
DataOutputStream out;
DataInputStream in;
oneRequest[] rq;
public df(int deadlineTime)
{
rq=new oneRequest[10];
this.deadlintTime=deadlineTime;
}
public void service()
{
while(true)
{
try
{
//接收客户连接,只要客户进行了连接,就会触发accept();从而建立连接
sock=serverSocket.accept();
executorService.execute(new Handler(sock,this));
} catch (Exception e)
{
e.printStackTrace();
break;
}
}
}
public void actionPerformed(ActionEvent e)
{
else if(e.getSource()==timer)
{
if(deadlintTime>0)
{
deadlintTime=deadlintTime-1;
this.txtDeadlineTime.setText(""+deadlintTime);
com.comInfo.setDeadlineTime(deadlintTime);
}
else
{
timer.stop();
}
}
}
public static void main(String args[])
{
new df(com.comInfo.getDeadlineTime()).service();
}
}
package com;
public class comInfo
{
static int deadlineTime=0;
public static void setDeadlineTime(int num)
{
deadlineTime=num;
}
public static int getDeadlineTime()
{
return deadlineTime;
}
}
}
在buyer中调用可以成功
public class buyer extends JFrame implements ActionListener
{
public buyer(int buyerport)
{
this.deadlineTime=com.comInfo.getDeadlineTime();
}
public void actionPerformed(ActionEvent e)
{
else if(e.getSource()==timer)
{
deadlineTime--;
if(deadlineTime>=0)
{
txtDeadlineTime.setText(""+deadlineTime);
}
else
{
timer.stop();
btnbid.setEnabled(false);
}
}
}
}
上面的操作能成功,但在另外一类df中操作却不能成功public class df extends JFrame implements ActionListener
{
int deadlintTime;
Timer timer;
ServerSocket serverSocket;
Socket sock;
DataOutputStream out;
DataInputStream in;
oneRequest[] rq;
public df(int deadlineTime)
{
rq=new oneRequest[10];
this.deadlintTime=deadlineTime;
}
public void service()
{
while(true)
{
try
{
//接收客户连接,只要客户进行了连接,就会触发accept();从而建立连接
sock=serverSocket.accept();
executorService.execute(new Handler(sock,this));
} catch (Exception e)
{
e.printStackTrace();
break;
}
}
}
public void actionPerformed(ActionEvent e)
{
else if(e.getSource()==timer)
{
if(deadlintTime>0)
{
deadlintTime=deadlintTime-1;
this.txtDeadlineTime.setText(""+deadlintTime);
com.comInfo.setDeadlineTime(deadlintTime);
}
else
{
timer.stop();
}
}
}
public static void main(String args[])
{
new df(com.comInfo.getDeadlineTime()).service();
}
}
public static void setDeadlineTime(int num)
{
deadlineTime=num;
}
或者被调用了之后没有用com.comInfo.getDeadlineTime()再次取值public static void setDeadlineTime(int num)
{
deadlineTime=num;
System.out.println(" setDeadlineTime :"+deadlineTime);
}
public static int getDeadlineTime()
{
return deadlineTime;
System.out.println(" getDeadlineTime :"+deadlineTime);
}
{
deadlintTime=deadlintTime-1;
this.txtDeadlineTime.setText(""+deadlintTime);
com.comInfo.setDeadlineTime(deadlintTime);
}我从你的代码里找不到 deadlintTime会有大于0的情况