重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
java间隔指定时间后运行代码可取消
创新互联-专业网站定制、快速模板网站建设、高性价比永和网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永和网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永和地区。费用合理售后完善,十载实体公司更值得信赖。
java间隔指定时间后运行代码可取消定时任务
使用java.util.Timer类来实现定时任务,它可以定期执行任务,也可以在指定的时间点执行任务。
示例代码:
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
public static void main(String[] args) {
// 创建一个定时器
Timer timer = new Timer();
// 创建一个定时任务
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("定时任务开始执行");
}
};
// 使用定时器安排定时任务在2秒后开始执行,每隔2秒重复执行
timer.schedule(task, 2000, 2000);
// 取消定时任务
timer.cancel();
}
}
首先你还是弄一个新的panel 来将“确定”“取消”两个按钮重新排布好吧,由于只有两个按钮这么简单我下面的程序用GirdLayout了,
例如:JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1,2));
panel.add(bw);
panel.add(bc);
然后再在你的Frame jp 里面加入这个panel,就可以了。按照你的设定就是用BorderLayout把它加到中间去吧? 北面的就是你原来做好的那些部分..(虽然不是很优化,不过先不管了...)
例如:fr.getContentPane().add("North",jp);
fr.getContentPane().add("Center",panel);
整条程序就是:(注意我改了包的名字和类的名字,你要改回来, 这里的参数也改了一下,符合我自己的审美观 : 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);
}
}
运行结果:
这样的排版你觉得还可以吧?
还有你的按钮bw和bc还没有加到.addActionListener(new ActionListener()); 里,这样的话按钮就算按下去都没反应...不过你稍后应该会加的了吧,我想就不用另行说了....
按照你的要求编写的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, "跳往另一页面?", "跳转警告",JOptionPane.WARNING_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
if(n==0){
FL fl=new FL();//创建新页面
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);
}
}
运行结果
FIle file = new File("/image/123.jpg");
if (file.exists()){
file.delete();
}
使用File对象操作删除,会判断是否存在,如存在就删了。
如果想找路径,使用File类的getAbsolutePath()方/法就能得到/绝/对/路/径/的字符串表示。
例如上面的对、象file,使用
String str = file.getAbsolutePath();
System.out.println(str);
你在/控/制/台co/ns/ole/窗口就能看到了。