/ / कार्य में देरी के लिए स्विंग टाइमर का उपयोग करना - जावा, स्विंग, टाइमर

काम में देरी करने के लिए स्विंग टाइमर का उपयोग - जावा, स्विंग, टाइमर

मैं समय की एक विशिष्ट अवधि के लिए अपने कार्य में देरी के लिए स्विंग टाइमर का उपयोग कर रहा हूं। यह समय अंतराल उपयोगकर्ता द्वारा तय किया जाता है।

मेरे GUI में, मेरे पास एक स्पिनरडेटमेटल है, जिसमें उस समय को स्वीकार करना है जिस पर कार्य करना है।

SpinnerDateModel date = new SpinnerDateModel();
JSpinner spinner = new JSpinner(date);
frame.getContentPane().add(spinner);
Date futureDate = date.getDate();

अब, तिमिर में तर्क हैं Timer(int delay, ActionListener task)

ActionListener task = new ActionListener(){

@Override
public void actionPerformed(ActionEvent arg0) {

//send function
}

};
Timer timer = new Timer(delay, task);
timer.setRepeats(false);
timer.start();

मैं उपयोगकर्ता द्वारा निर्दिष्ट समय के लिए यह विलंब कैसे निर्धारित करूं?

उत्तर:

उत्तर № 1 के लिए 1

नकारात्मक देरी को रोकने के लिए कुछ जाँच के साथ, कुछ इस प्रकार है:

delay=Math.max(0,futureDate.getTime()-System.currentTimeMillis());
delay=Math.min(delay,Integer.MAX_VALUE);
// or:
//   if(delay>Integer.MAX_VALUE) { throw new exception-of-some-sort }
Timer timer=new Timer((int)delay,task);

चाल करना चाहिए

यह उपयोगकर्ता द्वारा चयनित अब तक (अनुमानित भविष्य) तिथि तक मिलीसेकंड की संख्या के आधार पर देरी की गणना करेगा।