java間隔指定時(shí)間后運(yùn)行代碼可取消
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比永和網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式永和網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋永和地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
java間隔指定時(shí)間后運(yùn)行代碼可取消定時(shí)任務(wù)
使用java.util.Timer類來實(shí)現(xiàn)定時(shí)任務(wù),它可以定期執(zhí)行任務(wù),也可以在指定的時(shí)間點(diǎn)執(zhí)行任務(wù)。
示例代碼:
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
public static void main(String[] args) {
// 創(chuàng)建一個(gè)定時(shí)器
Timer timer = new Timer();
// 創(chuàng)建一個(gè)定時(shí)任務(wù)
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("定時(shí)任務(wù)開始執(zhí)行");
}
};
// 使用定時(shí)器安排定時(shí)任務(wù)在2秒后開始執(zhí)行,每隔2秒重復(fù)執(zhí)行
timer.schedule(task, 2000, 2000);
// 取消定時(shí)任務(wù)
timer.cancel();
}
}
首先你還是弄一個(gè)新的panel 來將“確定”“取消”兩個(gè)按鈕重新排布好吧,由于只有兩個(gè)按鈕這么簡單我下面的程序用GirdLayout了,
例如:JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1,2));
panel.add(bw);
panel.add(bc);
然后再在你的Frame jp 里面加入這個(gè)panel,就可以了。按照你的設(shè)定就是用BorderLayout把它加到中間去吧? 北面的就是你原來做好的那些部分..(雖然不是很優(yōu)化,不過先不管了...)
例如:fr.getContentPane().add("North",jp);
fr.getContentPane().add("Center",panel);
整條程序就是:(注意我改了包的名字和類的名字,你要改回來, 這里的參數(shù)也改了一下,符合我自己的審美觀 : fr.setSize(450, 200); )
package src;
/**
* @author Raven Denesis
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import java.util.Map;
import javax.swing.*;
public class Jpassword {
private JFrame fr = new JFrame("登陸界面");
private JTextField user = new JTextField(20);
private JPasswordField pwd = new JPasswordField(10);
private JTextArea ta = new JTextArea(5,10);
private JButton bw = new JButton("確定");
private JButton bc = new JButton("取消");
Font ft = new Font ("serf",Font.BOLD,28);
JPanel jp = new JPanel (new GridLayout(2,3,10,10));
public static void main(String[] args){
Jpassword than = new Jpassword();
than.go();
}
void go(){
fr.getContentPane().setLayout(new BorderLayout(0,10));
JLabel u1 =new JLabel("用戶名: ",JLabel.LEFT);
jp.add(u1);
jp.add(user);
JLabel pl = new JLabel("用戶密碼: ",JLabel.LEFT);
jp.add(pl);
jp.add(pwd);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1,2));
panel.add(bw);
panel.add(bc);
fr.getContentPane().add("North",jp);
fr.getContentPane().add("Center",panel);
u1.setFont(ft);
pl.setFont(ft);
user.setFont(ft);
pwd.setFont(ft);
//user.addActionListener(new ActionListener());
//pwd.addActionListener(new TextHandler());
fr.setSize(450, 250);
fr.setVisible(true);
fr.setLocation(200, 200);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
abstract class TextHandler implements ActionListener
{
int sel;
TextHandler(int sel)
{
this.sel = sel;
}
}
public void actionPerformed(ActionEvent e)
{
String uname,upass;
uname = user.getText();
upass = new String(pwd.getPassword());
ta.setText("用戶名: "+"\n"+"密碼: "+upass);
}
}
運(yùn)行結(jié)果:
這樣的排版你覺得還可以吧?
還有你的按鈕bw和bc還沒有加到.addActionListener(new ActionListener()); 里,這樣的話按鈕就算按下去都沒反應(yīng)...不過你稍后應(yīng)該會(huì)加的了吧,我想就不用另行說了....
按照你的要求編寫的Java的帶取消的警告信息框的完整程序如下
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
public?class?F?extends?JFrame?implements?ActionListener{
JButton?jb=new?JButton("確定");
JPanel?jp=new?JPanel();
F(){
jb.addActionListener(this);
jp.add(jb);
add(jp);
setSize(200,?200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public?static?void?main(String[]?args)?{
new?F();
}
@Override
public?void?actionPerformed(ActionEvent?ae)?{
if(ae.getSource()==jb){
int?n=JOptionPane.showConfirmDialog(this,?"跳往另一頁面?",?"跳轉(zhuǎn)警告",JOptionPane.WARNING_MESSAGE,?JOptionPane.OK_CANCEL_OPTION);
if(n==0){
FL?fl=new?FL();//創(chuàng)建新頁面
this.dispose();//銷毀舊頁面
}
}
}
}
class?FL?extends?JFrame{
JLabel?jl=new?JLabel("另一頁面");
JPanel?jp=new?JPanel();
FL(){
jp.add(jl);
add(jp);
setSize(200,?100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
}
運(yùn)行結(jié)果
FIle file = new File("/image/123.jpg");
if (file.exists()){
file.delete();
}
使用File對象操作刪除,會(huì)判斷是否存在,如存在就刪了。
如果想找路徑,使用File類的getAbsolutePath()方/法就能得到/絕/對/路/徑/的字符串表示。
例如上面的對、象file,使用
String str = file.getAbsolutePath();
System.out.println(str);
你在/控/制/臺(tái)co/ns/ole/窗口就能看到了。