随机数生成器

 

package  test;
import  javax.swing. * ;
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * 
@author  我为J狂
 * 
@version  1.0
 
*/

public   class  Move  extends  Thread {
    JTextField jf;
    
public  Move(JTextField jf)  {
        
this .jf = jf;
    }

    
boolean  start = true ;
   
public   void  stopmove() {
        start
= false ;
    }

    
public   void  startmove() {
       start
= true ;
   }

    
synchronized   void  show() {
        
int  random = ( int )(Math.random() * 10 );
         jf.setText(String.valueOf(random));
    }

    
public   void  run() {
        
while (start) {
            show();
        }

    }

}

package  test;

import  java.awt. * ;

import  javax.swing. * ;
import  java.awt.event.ActionEvent;
import  java.awt.event.ActionListener;

public   class  RandomFrame  extends  JFrame  {
    JPanel contentPane;
    JTextField jTextField1 
=   new  JTextField();
    JButton jButton1 
=   new  JButton();
    Move move;
    
boolean  sign = true ;
    
public  RandomFrame()  {
        
try   {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        }
  catch  (Exception exception)  {
            exception.printStackTrace();
        }

    }


    
/**
     * Component initialization.
     *
     * 
@throws  java.lang.Exception
     
*/

    
private   void  jbInit()  throws  Exception  {
        contentPane 
=  (JPanel) getContentPane();
        contentPane.setLayout(
null );
        setSize(
new  Dimension( 400 300 ));
        setTitle(
" 产生随机数 " );
        jTextField1.setFont(
new  java.awt.Font( " Dialog " , Font.BOLD,  55 ));
        jTextField1.setHorizontalAlignment(SwingConstants.CENTER);
        jTextField1.setBounds(
new  Rectangle( 113 57 153 89 ));
        jButton1.setBounds(
new  Rectangle( 142 184 99 25 ));
        jButton1.setFont(
new  java.awt.Font( " Dialog " , Font.PLAIN,  12 ));
        jButton1.setText(
" 开始 " );
        jButton1.addActionListener(
new  RandomFrame_jButton1_actionAdapter( this ));
        contentPane.add(jTextField1);
        contentPane.add(jButton1);
        move
= new  Move(jTextField1);
        move.start();
    }


    
public   void  jButton1_actionPerformed(ActionEvent e)  {
    
if (sign)
     
{   jButton1.setText( " 开始 " );
         move.stopmove();
         sign
= false ;
     }

     
else   {
          jButton1.setText(
" 停止 " );
         sign
= true ;
         move
= new  Move(jTextField1);
         move.start();
     }

    }

}



class  RandomFrame_jButton1_actionAdapter  implements  ActionListener  {
    
private  RandomFrame adaptee;
    RandomFrame_jButton1_actionAdapter(RandomFrame adaptee) 
{
        
this .adaptee  =  adaptee;
    }


    
public   void  actionPerformed(ActionEvent e)  {
        adaptee.jButton1_actionPerformed(e);
    }

}

package  test;

import  java.awt.Toolkit;
import  javax.swing.SwingUtilities;
import  javax.swing.UIManager;
import  java.awt.Dimension;

public   class  RandomApp  {
    
boolean  packFrame  =   false ;

    
/**
     * Construct and show the application.
     
*/

    
public  RandomApp()  {
        RandomFrame frame 
=   new  RandomFrame();
        
//  Validate frames that have preset sizes
        
//  Pack frames that have useful preferred size info, e.g. from their layout
         if  (packFrame)  {
            frame.pack();
        }
  else   {
            frame.validate();
        }


        
//  Center the window
        Dimension screenSize  =  Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize 
=  frame.getSize();
        
if  (frameSize.height  >  screenSize.height)  {
            frameSize.height 
=  screenSize.height;
        }

        
if  (frameSize.width  >  screenSize.width)  {
            frameSize.width 
=  screenSize.width;
        }

        frame.setLocation((screenSize.width 
-  frameSize.width)  /   2 ,
                          (screenSize.height 
-  frameSize.height)  /   2 );
        frame.setVisible(
true );
    }


    
/**
     * Application entry point.
     *
     * 
@param  args String[]
     
*/

    
public   static   void  main(String[] args)  {
        SwingUtilities.invokeLater(
new  Runnable()  {
            
public   void  run()  {
                
try   {
                    UIManager.setLookAndFeel(UIManager.
                                             getSystemLookAndFeelClassName());
                }
  catch  (Exception exception)  {
                    exception.printStackTrace();
                }


                
new  RandomApp();
            }

        }
);
    }

}

开发工具:JBuilder2005



 



posted on 2007-02-26 14:55 我为J狂 阅读(950) 评论(0)  编辑  收藏 所属分类: Java算法


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

导航

统计

常用链接

留言簿(11)

随笔分类(48)

文章分类(29)

常去逛逛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜