标签:
package com.lky;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Calendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class closeComputer extends JFrame
{
private JPanel panel_main = new JPanel(new BorderLayout(5, 10));
private JPanel panel_subnorth = new JPanel(new FlowLayout(3));
private JPanel panel_subcenter = new JPanel(new FlowLayout(1, 5, 5));
private JButton countdown = new JButton("倒计时关机");
private JButton time = new JButton("定时关机");
private JButton cancel = new JButton("取消关机");
private JLabel tag;
String key;
public closeComputer()
{
this.getContentPane().add(panel_main);
panel_main.add(panel_subnorth, BorderLayout.NORTH);
panel_main.add(panel_subcenter, BorderLayout.CENTER);
panel_subnorth.add(tag = new JLabel("请选择关机方式:"));
panel_subcenter.add(countdown);
panel_subcenter.add(time);
panel_subcenter.add(cancel);
countdown.addActionListener(new Button1Hander());
time.addActionListener(new Button2Hander());
cancel.addActionListener(new Button3Hander());
}
public void time()
{
Calendar calendar = Calendar.getInstance();
int h = calendar.get(Calendar.HOUR);
int m = calendar.get(Calendar.MINUTE);
int s = calendar.get(Calendar.SECOND);// 获取当前系统时间
// String a = String.valueOf(h);
int hour, minute, secord;
String hourtmp, minutetmp, secordtmp;
hourtmp = JOptionPane.showInputDialog(this, "请输入关机的小时(12小时制)", "输入", 1);
minutetmp = JOptionPane.showInputDialog(this, "请输入关机的分钟", "输入", 1);
secordtmp = JOptionPane.showInputDialog(this, "请输入关机的秒钟", "输入", 1);
hour = Integer.parseInt(hourtmp);
minute = Integer.parseInt(minutetmp);
secord = Integer.parseInt(secordtmp);
long set_time = timesum(hour, minute, secord);
long currently_time = timesum(h, m, s);
long discrepancy_time = set_time - currently_time;
if (discrepancy_time < 0)
{
try
{
Runtime.getRuntime().exec("shutdown -s");
} catch (IOException e)
{
e.printStackTrace();
}
} else
{
countTimeTool.deleyTime(discrepancy_time);
JOptionPane.showMessageDialog(this, "恭喜你,设置成功!", "确认", 2);
}
}
private class Button1Hander implements ActionListener
{
@Override
public void actionPerformed(ActionEvent arg0)
{
countdown();
}
}
private class Button2Hander implements ActionListener
{
@Override
public void actionPerformed(ActionEvent arg0)
{
time();
}
}
private class Button3Hander implements ActionListener
{
@Override
public void actionPerformed(ActionEvent arg0)
{
cancel();
}
}
public void countdown()
{
key = JOptionPane.showInputDialog(this, "请输入倒计时关机的时间(秒)", "输入框", 1);
countTimeTool.deleyTime(Long.parseLong(key));
}
public int timesum(int h, int m, int s)
{
int sum = h * 3600 + m * 60 + s;
return sum;
}// 计算出时间总和,并返回
public void cancel()
{
try
{
JOptionPane.showMessageDialog(this, "你已经成功取消了关机操作!", "消息", 2);
Runtime.getRuntime().exec("shutdown -a");
} catch (IOException e)
{
}
}
public static void main(String[] args)
{
closeComputer frame = new closeComputer();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setSize(320, 120);
frame.setTitle("关机工具");
frame.setLocation(350, 350);
frame.setVisible(true);
frame.setResizable(false);
}
}
标签:
原文地址:http://www.cnblogs.com/dmir/p/4732508.html