天天看點

用Java編寫的雙色球搖獎系統

第一步:這個是我們的雙色球主類,包括界面設計等!

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

<code>package</code> <code>ball;</code>

<code>import</code> <code>java.awt.BorderLayout;</code>

<code>import</code> <code>java.awt.Color;</code>

<code>import</code> <code>java.awt.Font;</code>

<code>import</code> <code>java.awt.Image;</code>

<code>import</code> <code>java.awt.Toolkit;</code>

<code>import</code> <code>java.awt.event.ActionEvent;</code>

<code>import</code> <code>java.awt.event.ActionListener;</code>

<code>import</code> <code>java.net.URL;</code>

<code>import</code> <code>javax.swing.JButton;</code>

<code>import</code> <code>javax.swing.JFrame;</code>

<code>import</code> <code>javax.swing.JLabel;</code>

<code>import</code> <code>javax.swing.JOptionPane;</code>

<code>import</code> <code>javax.swing.JPanel;</code>

<code>import</code> <code>javax.swing.JTextField;</code>

<code>/**</code>

<code> </code><code>*</code>

<code> </code><code>*@author huyongjian Oracle(Compus Solution Group)</code>

<code> </code><code>* @Date  2013-7-18</code>

<code> </code><code>* @version 2.0</code>

<code> </code><code>* @since JDK1.6(建議)</code>

<code>   </code><code>Copy Right Information    COMPUS SOLUTION GROUP</code>

<code>   </code><code>IDE:Eclipse</code>

<code>   </code><code>class:Ball 雙色球</code>

<code> </code><code>*/</code>

<code>public</code> <code>class</code> <code>Ball </code><code>extends</code> <code>JFrame </code><code>implements</code> <code>ActionListener{</code>

<code>    </code><code>JPanel pn1,pn2,pn3;</code><code>//窗體上有三個面闆</code>

<code>    </code><code>JTextField tf1,tf2;</code><code>//兩個文本框</code>

<code>    </code><code>JLabel lb1,lb2,lb3;</code><code>//</code>

<code>    </code><code>JButton btn1,btn2,btn3;</code><code>//三個按鈕</code>

<code>    </code><code>boolean</code> <code>flag = </code><code>false</code><code>;</code><code>//定義一個标記</code>

<code>    </code><code>Ball(){</code>

<code>        </code><code>pn1 = </code><code>new</code> <code>JPanel();</code>

<code>        </code><code>pn2 = </code><code>new</code> <code>JPanel();</code>

<code>        </code><code>pn3 = </code><code>new</code> <code>JPanel();</code>

<code>        </code><code>tf1 = </code><code>new</code> <code>JTextField(</code><code>"紅色球"</code><code>,</code><code>20</code><code>);</code><code>//長度20</code>

<code>        </code><code>tf2 = </code><code>new</code> <code>JTextField(</code><code>"藍色球"</code><code>,</code><code>8</code><code>);</code><code>//長度8</code>

<code>        </code><code>btn1 = </code><code>new</code> <code>JButton(</code><code>"開始"</code><code>);</code>

<code>        </code><code>btn2 = </code><code>new</code> <code>JButton(</code><code>"停止"</code><code>);</code>

<code>        </code><code>btn3 = </code><code>new</code> <code>JButton(</code><code>"關于"</code><code>);</code>

<code>        </code><code>this</code><code>.setLayout(</code><code>new</code> <code>BorderLayout());</code>

<code>        </code><code>this</code><code>.add(pn1,BorderLayout.NORTH);</code><code>//窗體邊框布局,預設情況下是CENTER</code>

<code>        </code><code>this</code><code>.add(pn2,BorderLayout.CENTER);</code>

<code>        </code><code>this</code><code>.add(pn3,BorderLayout.SOUTH);</code>

<code>        </code><code>lb2 = </code><code>new</code> <code>JLabel(</code><code>"紅色球從1到33中選擇六個球"</code><code>);</code>

<code>        </code><code>lb2.setForeground(Color.black);</code>

<code>        </code><code>lb3 = </code><code>new</code> <code>JLabel(</code><code>"藍色球從1到16中選擇一個球"</code><code>);</code>

<code>        </code><code>lb3.setForeground(Color.black);</code>

<code>//      FlowLayout flow = new FlowLayout();</code>

<code>//      pn1.setLayout(flow);</code>

<code>        </code><code>Font font1=</code><code>new</code> <code>Font(</code><code>"黑體"</code><code>,Font.BOLD,</code><code>12</code><code>);</code>

<code>        </code><code>pn1.add(lb2);</code>

<code>        </code><code>pn1.add(tf1);</code>

<code>        </code><code>tf1.setForeground(Color.red);</code>

<code>        </code><code>tf1.setFont(font1);</code>

<code>        </code><code>pn1.add(lb3);</code>

<code>        </code><code>pn1.add(tf2);</code>

<code>        </code><code>tf2.setForeground(Color.blue);</code>

<code>        </code><code>tf2.setFont(font1);</code>

<code>        </code><code>Font fnt = </code><code>new</code> <code>Font(</code><code>"華文隸書"</code><code>,Font.BOLD,</code><code>20</code><code>);</code>

<code>        </code><code>lb1 = </code><code>new</code> <code>JLabel(</code><code>"雙色球獎池已達到458398235元,祝你好運!!!"</code><code>);</code>

<code>        </code><code>lb1.setFont(fnt);</code>

<code>        </code><code>lb1.setForeground(Color.red);</code>

<code>        </code><code>pn2.add(lb1);</code>

<code>        </code><code>pn3.add(btn1);</code>

<code>        </code><code>pn3.add(btn2);</code>

<code>        </code><code>pn3.add(btn3);</code>

<code>        </code><code>btn1.addActionListener(</code><code>this</code><code>);</code>

<code>        </code><code>btn2.addActionListener(</code><code>this</code><code>);</code>

<code>        </code><code>btn3.addActionListener(</code><code>this</code><code>);</code>

<code>        </code><code>this</code><code>.setSize(</code><code>600</code><code>,</code><code>150</code><code>);</code><code>//窗體大小</code>

<code>        </code><code>//顯示位置居中</code>

<code>        </code><code>this</code><code>.setLocationRelativeTo(</code><code>null</code><code>);</code><code>//顯示位置居中</code>

<code>         </code><code>//修改java左上角的圖示</code>

<code>        </code><code>URL url = </code><code>this</code><code>.getClass().getResource(</code><code>"ball.png"</code><code>);</code>

<code>        </code><code>Image img = Toolkit.getDefaultToolkit().getImage(url);</code>

<code>        </code><code>this</code><code>.setIconImage(img);</code>

<code>        </code><code>this</code><code>.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</code><code>//程式關閉時結束javaw.exe的運作</code>

<code>        </code><code>this</code><code>.setTitle(</code><code>"雙色球自動抽獎機"</code><code>);</code>

<code>        </code><code>this</code><code>.setVisible(</code><code>true</code><code>);</code>

<code>        </code><code>this</code><code>.setResizable(</code><code>false</code><code>);</code>

<code>        </code><code>start();</code>

<code>    </code><code>}</code>

<code>    </code><code>@Override</code>

<code>    </code><code>public</code> <code>void</code> <code>actionPerformed(ActionEvent e) {</code>

<code>        </code><code>// TODO Auto-generated method stub</code>

<code>        </code><code>if</code><code>(e.getSource() == btn1){</code>

<code>            </code><code>btn1.setEnabled(</code><code>false</code><code>);</code>

<code>            </code><code>btn2.setEnabled(</code><code>true</code><code>);</code>

<code>            </code><code>flag = </code><code>true</code><code>;</code>

<code>        </code><code>}</code>

<code>                                                                                                         </code> 

<code>        </code><code>if</code><code>(e.getSource() == btn2){</code>

<code>            </code><code>btn2.setEnabled(</code><code>false</code><code>);</code>

<code>            </code><code>btn1.setEnabled(</code><code>true</code><code>);</code>

<code>            </code><code>flag = </code><code>false</code><code>;</code>

<code>        </code><code>if</code><code>(e.getSource()==btn3){</code>

<code>            </code><code>JOptionPane.showMessageDialog(</code><code>null</code><code>, </code><code>"&lt;html&gt;&lt;body&gt;程式參與人員 :&lt;br&gt;技 術 總 監&amp;nbsp; : &amp;nbsp;&amp;nbsp;楊強&lt;br&gt;分 析 設 計&amp;nbsp; :&amp;nbsp;&amp;nbsp;小夜的傳說&lt;br&gt;代 碼 編 寫&amp;nbsp; :&amp;nbsp;&amp;nbsp;小夜的傳說&lt;br&gt;E-mail&amp;nbsp; :&amp;nbsp;&amp;nbsp;[email protected]&lt;body&gt;&lt;/html&gt;"</code><code>);</code>

<code>                                                                                                             </code> 

<code>    </code><code>public</code> <code>void</code> <code>start(){</code>

<code>        </code><code>String str1 = </code><code>""</code><code>;</code>

<code>        </code><code>String str2 = </code><code>""</code><code>;</code>

<code>        </code><code>while</code><code>(</code><code>true</code><code>){</code>

<code>            </code><code>if</code><code>(flag){</code>

<code>                </code><code>str1 = </code><code>""</code><code>;</code>

<code>                </code><code>for</code><code>(</code><code>int</code> <code>i = </code><code>0</code><code>; i &lt; </code><code>6</code><code>; i++){</code>

<code>                    </code><code>int</code> <code>m = (</code><code>int</code><code>)(Math.random() * </code><code>32</code> <code>+ </code><code>1</code><code>);</code>

<code>                    </code><code>if</code> <code>(m &lt; </code><code>10</code><code>){</code>

<code>                        </code><code>str1 = str1 + </code><code>" 0"</code> <code>+ m;</code>

<code>                    </code><code>}</code>

<code>                    </code><code>else</code><code>{</code>

<code>                        </code><code>str1 = str1 + </code><code>" "</code> <code>+ m;</code>

<code>                </code><code>}</code>

<code>                </code><code>str2 = </code><code>""</code><code>;</code>

<code>                </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i&lt;</code><code>2</code><code>;i++){</code>

<code>                </code><code>int</code> <code>n = (</code><code>int</code><code>)(Math.random() * </code><code>16</code> <code>+ </code><code>1</code><code>);</code>

<code>                                                                                                                 </code> 

<code>                </code><code>if</code><code>(n&lt;</code><code>10</code><code>){</code>

<code>                    </code><code>str2=str2+</code><code>" 0"</code><code>+n;</code>

<code>                </code><code>else</code><code>{</code>

<code>                    </code><code>str2=str2+</code><code>" "</code><code>+n;</code>

<code>            </code><code>}</code>

<code>            </code><code>try</code><code>{</code>

<code>                </code><code>Thread.sleep(</code><code>10</code><code>);</code>

<code>            </code><code>catch</code><code>(InterruptedException e){</code>

<code>                </code><code>e.printStackTrace();</code>

<code>            </code><code>tf1.setText(str1);</code>

<code>            </code><code>tf2.setText(str2);</code>

<code>}</code>

第二步是:下是我們的主函數類調用我們寫的Ball()方法!

<code>   </code><code>class:BallTest 測試</code>

<code>public</code> <code>class</code> <code>BallTest {</code>

<code>public</code> <code>static</code> <code>void</code> <code>main(String[] args) {</code>

<code>    </code><code>new</code> <code>Ball();</code>

更多Java編寫的源碼請進群:160243674--Java程式猿聯盟!

效果展示:

<a target="_blank" href="http://blog.51cto.com/attachment/201308/130632372.png"></a>

<a href="http://down.51cto.com/data/2363265" target="_blank">附件:http://down.51cto.com/data/2363265</a>

本文轉自 小夜的傳說 51CTO部落格,原文連結:http://blog.51cto.com/1936625305/1263390,如需轉載請自行聯系原作者