Java+swing 定时关机 附代码

 
 
package main;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Main
{
	private static Integer[] fun(int size)
	{
		Integer[] arr = new Integer[size];
		for (int i = 0; i < arr.length; i++)
		{
			arr[i] = i;

		}
		return arr;
	}

	public static void main(String[] args)
	{
		JFrame frame = new JFrame("定时关机");
		frame.setBounds(700, 200, 400, 300);
		frame.setLayout(null);
		frame.setFocusable(true);

		Integer[] hour = fun(12);
		Integer[] minute = fun(60);

		JComboBox<Integer> cbHour = new JComboBox<>(hour);
		cbHour.setBounds(70, 50, 80, 30);
		frame.add(cbHour);

		JComboBox<Integer> cbMinute = new JComboBox<>(minute);
		cbMinute.setBounds(160, 50, 80, 30);
		frame.add(cbMinute);

		JButton jb = new JButton("开始");
		jb.setBounds(250, 50, 80, 30);
		frame.add(jb);

		JLabel jl = new JLabel("", JLabel.CENTER);
		jl.setBounds(70, 100, 260, 80);
		jl.setFont(new Font("微软雅黑", 0, 60));
		jl.setBorder(BorderFactory.createLineBorder(Color.gray));
		frame.add(jl);

		jb.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				new Thread()
				{
					@Override
					public void run()
					{
						cbHour.setVisible(false);
						cbMinute.setVisible(false);
						jb.setVisible(false);
						int hour = (int) cbHour.getSelectedItem();
						int minute = (int) cbMinute.getSelectedItem();
						minute--;
						while (hour >= 0)
						{
							while (minute >= 0)
							{
								for (int i = 59; i >= 0; i--)
								{
									String text = String.format("%02d:%02d:%02d", hour, minute, i);
									jl.setText(text);
									try
									{
										Thread.sleep(1000);
									} catch (InterruptedException e)
									{
										e.printStackTrace();
									}
								}
								minute--;
							}
							hour--;
						}
						try
						{
							Runtime.getRuntime().exec("shutdown /s /t " + 0);
						} catch (IOException e)
						{
							e.printStackTrace();
						}
					}
				}.start();
			}
		});

		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);

	}
}

猜你喜欢

转载自blog.csdn.net/kyaa111/article/details/80560569
今日推荐