📄 main.java
字号:
package ui;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import action.CtrWDS;
import base.util.DateTransform;
import base.util.StringTransform;
@SuppressWarnings("serial")
public class Main extends IconFormMe {
private JComboBox cbxMinute;
private JComboBox cbxDay;
private JComboBox cbxAction;
private JComboBox cbxHour;
private static JLabel lblCount;
private JButton btnStart;
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
Main frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the frame
*/
public Main() {
super();
addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
}
});
setTitle("网上下的定时关机程序都收费,所以自己写个用");
getContentPane().setLayout(null);
setBounds(100, 100, 416, 234);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
setResizable(false);
btnStart = new JButton();
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String day=cbxDay.getSelectedItem().toString();
int hour=Integer.parseInt(cbxHour.getSelectedItem().toString());
int minute=Integer.parseInt(cbxMinute.getSelectedItem().toString());
Calendar rightNow = Calendar.getInstance();
if(day.equals("明天")){
rightNow.set(Calendar.DATE,rightNow.get(Calendar.DATE)+1);
}
rightNow.set(Calendar.HOUR_OF_DAY, hour);
rightNow.set(Calendar.MINUTE, minute);
rightNow.set(Calendar.SECOND, 0);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String targetTime=df.format(rightNow.getTime());
String curTime=DateTransform.getStandardTime();
long interval = DateTransform.getDateInterval(curTime,targetTime)/1000;
if(interval<=0){
javax.swing.JOptionPane.showMessageDialog(null,"您选择的时间不在当前时间之后!");
return;
}
CtrWDS.parsec=interval;
CtrWDS.action=cbxAction.getSelectedItem().toString();
javax.swing.JOptionPane.showMessageDialog(null,"程序已启动,您可以放心睡大觉了!");
new Thread(CtrWDS.getInstance()).start();
setEnabled();
}
});
btnStart.setText("开始执行");
btnStart.setBounds(192, 169, 88, 23);
getContentPane().add(btnStart);
final JButton btnExit = new JButton();
btnExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
btnExit.setText("退出");
btnExit.setBounds(289, 169, 88, 23);
getContentPane().add(btnExit);
final JLabel label = new JLabel();
label.setFont(new Font("", Font.PLAIN, 15));
label.setText("Java定时关机程序 作者:钟城 QQ:26074159");
label.setBounds(0, 0, 518, 44);
getContentPane().add(label);
cbxHour = new JComboBox();
cbxHour.setBounds(117, 62, 43, 21);
getContentPane().add(cbxHour);
cbxAction = new JComboBox();
cbxAction.setBounds(269, 62, 52, 21);
getContentPane().add(cbxAction);
final JLabel label_1 = new JLabel();
label_1.setText("我要在");
label_1.setBounds(10, 65, 43, 15);
getContentPane().add(label_1);
final JLabel label_2 = new JLabel();
label_2.setText("点");
label_2.setBounds(170, 65, 30, 15);
getContentPane().add(label_2);
final JLabel label_3 = new JLabel();
label_3.setText("计算机。");
label_3.setBounds(327, 65, 60, 15);
getContentPane().add(label_3);
cbxDay = new JComboBox();
cbxDay.setBounds(59, 62, 52, 21);
getContentPane().add(cbxDay);
cbxMinute = new JComboBox();
cbxMinute.setBounds(192, 62, 43, 21);
getContentPane().add(cbxMinute);
final JLabel label_4 = new JLabel();
label_4.setText("分");
label_4.setBounds(241, 65, 22, 15);
getContentPane().add(label_4);
//
init2();
final JButton btnHide = new JButton();
btnHide.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
}
});
btnHide.setText("隐藏窗口");
btnHide.setBounds(10, 169, 99, 23);
getContentPane().add(btnHide);
lblCount = new JLabel();
lblCount.setFont(new Font("", Font.BOLD, 18));
lblCount.setText("倒计时:*** 秒");
lblCount.setBounds(106, 102, 174, 44);
getContentPane().add(lblCount);
}
@SuppressWarnings("deprecation")
public static void setLblText(){
lblCount.setText("倒计时:"+CtrWDS.parsec+" 秒");
}
@SuppressWarnings("deprecation")
private void init2(){
Date date=Calendar.getInstance().getTime();
cbxDay.addItem("今天");
cbxDay.addItem("明天");
for(int i=0;i<24;i++){
cbxHour.addItem(StringTransform.format(String.valueOf(i),2,"0"));
}
cbxHour.setSelectedItem(StringTransform.format(String.valueOf(date.getHours()),2,"0"));
for(int i=0;i<60;i++){
cbxMinute.addItem(StringTransform.format(String.valueOf(i),2,"0"));
}
cbxMinute.setSelectedItem(StringTransform.format(String.valueOf(date.getMinutes()+1),2,"0"));
cbxAction.addItem("关闭");
cbxAction.addItem("重启");
cbxAction.addItem("注销");
}
private void setEnabled(){
cbxDay.setEnabled(false);
cbxHour.setEnabled(false);
cbxMinute.setEnabled(false);
cbxAction.setEnabled(false);
btnStart.setEnabled(false);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -