class pingAutoMake extends TimerTask
{
public void run()
{
System.out.println("ping命令探测IP:" + pingIp);
String str = new SystemCommand().getSystemCommand(pingIp);
System.out.println(str);
}
}
因为变量pingIp是不固定的,同时这个类是一会定时执行类调用,所以需要传入一个不同的值,要如何写这个类呢?谢谢。

解决方案 »

  1.   

    public class TGlobal{
      static String pingIp = "";
      .....
    }
    ...
    对TGlobal.pingIp 赋值.
    ....class pingAutoMake extends TimerTask
    {
    public void run()
    {
    System.out.println("ping命令探测IP:" + TGlobal.pingIp);
    String str = new SystemCommand().getSystemCommand(TGlobal.pingIp);
    System.out.println(str);
    }
    }
      

  2.   

    修改一下:
    public class TGlobal{
      public static String pingIp = "";
      .....
    }
      

  3.   

    这种方式好象不行,调用这个类是在一个事件里:
    Timer pingTimer = new Timer();

    if(pingInside1.isSelected())
    {
    pingIp = "ping " + pingInsideIp1.getText();
    System.out.println(pingIp);
    pingTimer.schedule(new pingAutoMake(),0,30000);
    }
    if(pingInside2.isSelected())
    {
    pingIp = "ping " + pingInsideIp2.getText();
    System.out.println(pingIp);
    pingTimer.schedule(new pingAutoMake(),0,30000);
    }还是只有最后一个值,而第一个值没有。