📄 幸运抽奖.java
字号:
import javax.swing.*;import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
class MyFrame extends JFrame
{
Container con;
C_Panel c_Panel;
N_Panel n_Panel;
S_Panel s_Panel;
// Image myimage;
Box S_boxbase,baseBox;
// Imagecanvas image;
MyFrame()
{
super("太平洋幸运抽奖");
// image=new Imagecanvas();
baseBox=Box.createVerticalBox();
con=getContentPane();
s_Panel=new S_Panel();// 主窗口上方面板
c_Panel=new C_Panel();//主窗口中间面板
n_Panel=new N_Panel();//主窗口下方面板
s_Panel.setOpaque(false);
baseBox.add(n_Panel);
baseBox.add(c_Panel);
baseBox.add(s_Panel);
con.add(baseBox,BorderLayout.CENTER);
// con.add(image,BorderLayout.CENTER);
pack();
setVisible(true);
setBounds(100,100,500,300);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);
}
});
}
}
/*class Imagecanvas extends JPanel
{
Toolkit tool;Image myimage;
public void paintComponent(Graphics g)
{
super.paintComponent(g);
setSize(500,350);
g.setColor(Color.red);
tool=getToolkit();
myimage=tool.getImage("boat.jpg");
g.drawImage(myimage,0,0,500,350,this);
}
}*/
class N_Panel extends JPanel implements ActionListener,Runnable
{
JLabel N_Label;
JButton button;
JTextField N_TextField;
Font f=new Font("隶书",Font.BOLD,32);
int count,temp;
int p1,p2,p3,p4,t1,t2,t3,t4;
Box N_basebox;
Thread thread=null;
N_Panel()
{
N_basebox=Box.createHorizontalBox();
button=new JButton("确定");
N_Label=new JLabel("请输入最大人数:");
N_Label.setFont(f);
// N_Label.setForeground(Color.blue);
N_TextField=new JTextField(5);
N_basebox.add(N_Label);
N_basebox.add(Box.createHorizontalStrut(5));
N_basebox.add(N_TextField);
N_basebox.add(Box.createHorizontalStrut(5));
N_basebox.add(button);
add(N_basebox);
// setBackground(Color.red);
thread=new Thread(this);
button.addActionListener(this);
N_TextField.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button||e.getSource()==N_TextField)
{
if(!(thread.isAlive())) thread=new Thread(this);
count=Integer.parseInt(N_TextField.getText());
temp=count;
p1=count/1000; count=count%1000;
p2=count/100; count=count%100;
p3=count/10;
p4=count%10;
// N_TextField.setText("");
thread.start();
}
}
public void run()
{
while(true)
{
if(S_Panel.stop==1){
S_Panel.stop=0;
JOptionPane.showMessageDialog(this,"中奖号码:"+t1+t2+t3+t4,"太平洋电脑学校欢迎你!",
JOptionPane.INFORMATION_MESSAGE
);
break;
}
t1=(int)(Math.random()*(p1+1));
t2=(int)(Math.random()*(p2+1));
t3=(int)(Math.random()*(p3+1));
t4=(int)(Math.random()*(p4+1));
if(temp>=1000&&t1==0){
t2=t2+(int)(Math.random()*(10-p2));
t3=t3+(int)(Math.random()*(10-p3));
t4=t4+(int)(Math.random()*(10-p4));
}
else if(temp<1000&&temp>=100&&t2==0)
{
t3=t3+(int)(Math.random()*(10-p3));
t4=t4+(int)(Math.random()*(10-p4));
}
else if(temp<100&&temp>=10&&t3==0)
{
t4=t4+(int)(Math.random()*(10-p4));
}
C_Panel.label1.setText(String.valueOf(t1));
C_Panel.label2.setText(String.valueOf(t2));
C_Panel.label3.setText(String.valueOf(t3));
C_Panel.label4.setText(String.valueOf(t4));
try{
thread.sleep(50);
}catch(InterruptedException e){}
}
}
}
class C_Panel extends JPanel
{
JPanel panel;
N_Panel n_Panel_1;
Box baseBox,boxH;
static JLabel label1,label2,label3,label4;
JLabel label;
int t1,t2,t3,t4;
Font f_c=new Font("隶书",Font.BOLD,32);
C_Panel()
{
label1=new JLabel("0");
label2=new JLabel("0");
label3=new JLabel("0");
label4=new JLabel("0");
panel= new JPanel();
label=new JLabel("中奖号码:");
// label.setForeground(Color.blue);
n_Panel_1=new N_Panel();
label1.setFont(f_c);
label2.setFont(f_c);
label3.setFont(f_c);
label4.setFont(f_c);
t1=n_Panel_1.p1;
t2=n_Panel_1.p2;
t3=n_Panel_1.p3;
t4=n_Panel_1.p4;
label4.setText(String.valueOf(t4));
boxH=Box.createHorizontalBox();
boxH.add(label);
boxH.add(Box.createHorizontalStrut(10));
boxH.add(label1);
boxH.add(Box.createHorizontalStrut(10));
boxH.add(label2);
boxH.add(Box.createHorizontalStrut(10));
boxH.add(label3);
boxH.add(Box.createHorizontalStrut(10));
boxH.add(label4);
panel.add(boxH);
add(panel);
}
}
class S_Panel extends JPanel implements ActionListener
{
Box S_boxbase,S_boxbase_2,S_boxbase_1;
N_Panel n_Panel_1;
static int stop;//控制线程
JButton buttonQuit,buttonStop;
JPanel southpane;
JLabel S_boxbase_1_label;
S_Panel()
{
southpane=new JPanel();
S_boxbase_2=Box.createHorizontalBox();
S_boxbase_1=Box.createHorizontalBox();
S_boxbase=Box.createVerticalBox();
buttonQuit=new JButton("关闭(C)");
buttonStop=new JButton("停止(S)");
n_Panel_1=new N_Panel();
S_boxbase_1_label=new JLabel("太平洋软件长期班承制!");
buttonStop.setMnemonic(KeyEvent.VK_S);
buttonQuit.setMnemonic(KeyEvent.VK_C);
S_boxbase_1.add(S_boxbase_1_label);
S_boxbase_1.add(Box.createHorizontalGlue());
S_boxbase_2.add(buttonQuit);
S_boxbase_2.add(Box.createHorizontalStrut(50));
S_boxbase_2.add(buttonStop);
S_boxbase.add(S_boxbase_2);
S_boxbase.add(Box.createVerticalStrut(50));
S_boxbase.add(S_boxbase_1);
southpane.add(S_boxbase);
add(southpane);
buttonQuit.addActionListener(this);
buttonStop.addActionListener(this);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==buttonStop){
stop=1;
}
else if(e.getSource()==buttonQuit)
{
System.exit(0);
}
}
}
public class 幸运抽奖
{
public static void main(String args[])
{
MyFrame frame=new MyFrame();
// frame.setSize(500,350);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -