做了一个抽奖器,功能没有问题,是用NetBeans做的,但是怎么样才能够让我文本框中的学号,不断的滚动呢。我也试过设置一个布尔变量,但是不好使。
我的主要代码如下:
在程序开始的时候:Random a=new Random();
int b=40506226+a.nextInt(42);
String c=String.valueOf(b);
this.jTextField1.setText(c);
就是不知道怎样才可以实现滚动,希望各位高手帮忙指点一下,小弟在此多谢了!
我的主要代码如下:
在程序开始的时候:Random a=new Random();
int b=40506226+a.nextInt(42);
String c=String.valueOf(b);
this.jTextField1.setText(c);
就是不知道怎样才可以实现滚动,希望各位高手帮忙指点一下,小弟在此多谢了!
书上的一个代码应该能满足你的要求:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class GoodLucky extends JFrame implements ActionListener{
JTextField tf = new JTextField();
JButton b1 = new JButton("开始");
JButton b2 = new JButton("停止");
boolean isGo = false;
public GoodLucky(){
b1.setActionCommand("start");
JPanel p = new JPanel();
p.add(b1);
p.add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
b2.setEnabled(false);
this.getContentPane().add(tf,"North");
this.getContentPane().add(p,"South");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300,200);
this.setLocation(300,300);
Cursor cu = new Cursor(Cursor.HAND_CURSOR);
this.setCursor(cu);
this.setVisible(true);
tf.setText("welcome you! ");
this.go();
}
public void go(){
while(true){
if(isGo == true){
String s = "";
for(int j = 1; j <= 7;j++){
int i = (int)(Math.random() * 36) + 1;
if(i < 10){
s = s + " 0" + i;
}else{
s = s + " " + i;
}
}
tf.setText(s);
}
try{
Thread.sleep(10);
}catch(java.lang.InterruptedException e){
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent e){
String s = e.getActionCommand();
if(s.equals("start")){
isGo = true;
b1.setEnabled(false);
b2.setEnabled(true);
}else{
isGo = false;
b2.setEnabled(false);
b1.setEnabled(true);
}
}
public static void main(String[] args){
new GoodLucky();
}
}