服务是一种应用程序组件,表示应用程序希望在不与用户交互的情况下执行较长时间运行的操作,或者为其他应用程序提供使用的功能.
可以在不定义用户界面的情况下使用片段.建议使用无头碎片进行后台处理.
这有什么区别?
这是在JPanel的构造函数中,但是当我按"h"时它不会打印任何内容.如果需要更多代码,我可以提供.谢谢!
String hide = "hide";
this.getInputMap().put(KeyStroke.getKeyStroke('h'), hide);
this.getActionMap().put(hide, new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("HIDDEN");
if (isHidden){
slide.setVisible(true);
}else{
slide.setVisible(false);
}
}
});
Run Code Online (Sandbox Code Playgroud) 我正在制作一个读取字幕(.srt)文件的基本Java程序,我想将每次存储为Date对象.我真的只需要跟踪小时,分钟,秒和毫秒(到3位数).我想我能用这个存储它:
String start = "00:01:01,604";
DateFormat sdf = new SimpleDateFormat("hh:mm:ss,SSS");
Date startDate = sdf.parse(start);
Run Code Online (Sandbox Code Playgroud)
对于检索,我可以这样做:
return String.format("\nStart: %d:%d:%dText: %s\n", startDate.getHours(),startDate.getMinutes(), startDate.getSeconds(), text);
Run Code Online (Sandbox Code Playgroud)
我正在寻找一些与getMilliseconds类似的东西(如果它存在的话).非常感谢你!
我正在尝试Thread.sleep()
用java swing计时器替换,因为我听说这对于图形更好.
之前,我有这样的设置,但它干扰了图形.
while(counter < array.size){
Thread.sleep(array.get(counter).startTime);
//do first task
Thread.sleep(array.get(counter).secondTime);
//do second task
Thread.sleep(array.get(counter).thirdTime);
//do third task
counter++
}
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试Thread.sleep()
用其中一个替换每个,然后我有在此之后发生的实际事件,但它似乎根本没有等待.
int test = array.get(counter).time;
ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent evt){
}
};
Timer t = new Timer(test, taskPerformer);
t.setRepeats(false);
t.start();
Run Code Online (Sandbox Code Playgroud)
基本上,我如何确保程序等待而不给它任何代码在计时器内执行?谢谢!