import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.TextArea;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import lzb.jav.zero.MyTool;
public class LuckyToU {
private JFrame frame;
private JTextField[] jtf;
private JLabel[] jlb;
private JButton start;
private JButton stop;
private MyPanel px;
private Timer t;
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
new LuckyToU().show();
}
public void show() {
frame = MyTool.createFrame(500, 400, "");
frame.setBackground(MyTool.getColor());
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
Calendar c = new GregorianCalendar();
int s = c.get(Calendar.SECOND);
int m = c.get(Calendar.MINUTE);
int hour = c.get(Calendar.HOUR_OF_DAY);
String se = s < 10 ? "0" : "";
String mi = m < 10 ? "0" : "";
String ho = hour < 10 ? "0" : "";
String sb = new String();
// 当时间为个位数时前面加零
sb = " 今天一定中!!!" + ho + hour + ":" + mi + m + ":" + se + s;
frame.setTitle(sb);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
jtf = new JTextField[7];
jlb = new JLabel[7];
for (int i = 0; i < jlb.length; i++) {
jlb[i] = new JLabel((i + 1) +"号球:");
}
// 前五位是红色
Font f = new Font("宋体", 1, 12);
for (int i = 0; i < jtf.length; i++) {
jtf[i] = new JTextField(4);
jtf[i].setFont(f);
jtf[i].setForeground(Color.RED);
}
// 第六位号是蓝色
jtf[6].setForeground(Color.BLUE);
// 设置标签与文本的位置
MyPanel p1 = new MyPanel();
p1.setBackground(MyTool.getColor());
p1.setLayout(new GridLayout(8, 1));
Panel[] p = new Panel[8];
for (int i = 0; i < p.length; i++) {
p[i] = new Panel();
}// 生成 八个面板
for (int i = 0; i < jtf.length; i++) {
p[i].add(jlb[i]);
p[i].add(jtf[i]);
p1.add(p[i]);
}
// 设置按钮
start = new JButton("开始");
p[7].add(this.start);
stop = new JButton("停止");
p[7].add(this.stop);
p1.add(p[7]);
frame.add(p1, "East");
// 填加一个文本区域 记录抽取的号
final TextArea ta = new TextArea();
// ta.setSize(width/2, height);
frame.add(ta, "West");
px=new MyPanel();
new MyPanel();
frame.add(px,"South");
start.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
t = new Timer(true);
t.schedule(new TimerTask() {
public void run() {
int[] x = getArray();
for (int i = 0; i < x.length; i++) {
jtf[i].setText(" " + (x[i]));
}
}
},10, 100);
stop.setEnabled(true);
start.setEnabled(false);
}
});
stop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
StringBuilder sb = new StringBuilder();
String s = jtf[0].getText();
String s1 = jtf[1].getText();
String s2 = jtf[2].getText();
String s3 = jtf[3].getText();
String s4 = jtf[4].getText();
String s5 = jtf[5].getText();
String s6 = jtf[6].getText();
sb.append(s + s1 + s2 + s3 + s4 + s5 + s6);
ta.append(sb.toString() + "/n");
t.cancel();
start.setEnabled(true);
stop.setEnabled(false);
}
});
frame.setDefaultCloseOperation(3);
frame.setVisible(true);
}
//随机获取七个不同整数
private int[] getArray() {
int n = 32;
int[] x = new int[n];
int[] numbers = new int[7];
for (int i = 0; i < x.length; ++i) {
x[i] = (i + 1);
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
int index = (int) (Math.random() * n);
sb.append(x[index] < 10 ? ("0" + x[index]) : ("" + x[index]));
numbers[i] = x[index];
x[index] = x[(n - 1)];
n--;
}
return numbers;
}
private class MyPanel extends JPanel
{
private static final long serialVersionUID = 1L;
public void paint(Graphics arg0)
{
super.paintComponent(arg0);
Graphics2D g = (Graphics2D)arg0;
Point2D p1 = new Point2D.Double(0.0D, 0.0D);
double w = getSize().getWidth();
Point2D p2 = new Point2D.Double(w / 4.0D, 0.0D);
GradientPaint gp = new GradientPaint(p1, MyTool.getColor(), p2,
MyTool.getColor(), true);
g.setPaint(gp);
Rectangle2D rect = new Rectangle2D.Double(p1.getX(), p1.getY(), w,
100.0D);
g.fill(rect);
}
}
}
//工具包
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class MyTool {
//创建一个窗体
public static JFrame createFrame(int wid, int hei, String title) {
JFrame frame = new JFrame(title);
Toolkit kit = Toolkit.getDefaultToolkit();
int w = kit.getScreenSize().width;
int h = kit.getScreenSize().height;//获取屏幕尺寸
frame.setLocation((w - wid) / 2, (h - hei) / 2);//窗体位置居中
frame.setSize(wid, hei);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
});
return frame;
}
public static Color getColor() {
//随机获取一种颜色
int red = (int) (Math.random() * 256);
int green = (int) (Math.random() * 256);
int blue = (int) (Math.random() * 256);
return new Color(red, green, blue);
}
}