2 wqh8522 wqh8522 于 2016.03.22 11:19 提问

JAVA如何实现文本框数字等我滚动

如何用JAVA实现文本框的数字滚动,按开始即开始滚动,按停止能显示一个数字

5个回答

wqh8522
wqh8522   2016.03.22 21:17
已采纳

这代码应该怎么改,一直无法滚动

domonate
domonate   2016.03.22 12:42

感觉应该使用线程,改变文本框的位置实现滚动显示!

wqh8522
wqh8522   2016.03.22 14:52

有大神有类似的代码吗?

zhougan870822
zhougan870822   2016.03.22 20:25

启动线程更改数字的值,用个变量标记是否滚动

wqh8522
wqh8522   2016.03.22 21:17

public class MyFrame extends JFrame implements Runnable{
JTextField jt1,jt2,jt3;
JLabel jl1,jl2,jl3;
JButton jb1,jb2;
boolean boo=false;
public MyFrame(){
super("简单的抽奖程序");

jt1=new JTextField(10);
jt2=new JTextField(10);
jt3=new JTextField(10);
jl1=new JLabel("请输入号码区间:");
jl2=new JLabel("到");
jl3=new JLabel(" ");
jb1=new JButton("开始抽奖");
jb2=new JButton("停止");
setLayout(new FlowLayout());
add(jl1);add(jt1);add(jl2);add(jt2);add(jt3);add(jb1);add(jb2);add(jl3);
jb1.addActionListener(new jbAction());
jb2.addActionListener(new jb2Action());
}
class jbAction implements ActionListener{
public void actionPerformed(ActionEvent e) {
boo=true;
new Thread().start();
}
}
class jb2Action implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            boo=false;
            jl3.setText("恭喜"+jt3.getText()+"中奖!");
        }
    }
public static void main(String[] args) {
        MyFrame myFrame=new MyFrame();
        myFrame.setSize(500, 400);
        myFrame.setVisible(true);
}
@Override
public void run() {
    while (boo) {
        String str1=jt1.getText();
        int j1=Integer.parseInt(str1);
        String str2=jt2.getText();
        int j2=Integer.parseInt(str2);
        int s=(int) (j1+(Math.random()*(j2-j1+1)));
        String string=Integer.toString(s);
        jt3.setText(string);            
        try {
            Thread.sleep(200);
            } catch (InterruptedException e) {
            e.printStackTrace();
            }
    }
}

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!