在指定时间后在文本字段中显示文本

时间:2012-12-25 07:00:00

标签: java swing timer jtextfield

我需要在文本字段中显示一个文本,经过一段时间后,在另一个文本框中提供。 请给我建议,是这种类型要求的新手。 提前谢谢。

嘿,谢谢所有你的回复,很抱歉它应该在javascript中完成,我做到了。 谢谢你..

这里是javascript中的代码......

<script type="text/javascript" >

            function timer(){
             var textbox3 = document.getElementById('t2');
             var temp=textbox3.value*1000;
             alert(temp);
     setTimeout('myMethod()',temp);

     }
     function myMethod()
     {

     var textbox1 = document.getElementById('t1');
     var textbox3 = document.getElementById('t3');
     textbox3.value=textbox1.value;
    //alert("hi");
     }


</script>
<form >
<input type='text' name='txt1' id="t1"></input>
<input type='text' name='txt2' id="t2"></input>
<input type='text' name='txt3'id="t3"></input>
<input type="button" name="btn" value="schedule" onclick="timer()"></input>
</form>

3 个答案:

答案 0 :(得分:4)

检查

public class TimerExample extends JFrame {

    private JTextField textField1;
    private JTextField textField2;
    private JTextField textField3;
    private JButton btnSubmit ;
    private Timer timer;
    public TimerExample() {
        super("List");
    }

    public void createAndShowGUI() {

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        textField1 = new JTextField(20) ; 
        textField2 = new JTextField(2) ; 
        textField3 = new JTextField(20) ; 
        btnSubmit = new JButton("Submit");
        add(textField1);
        add(textField2);
        add(btnSubmit);
        add(textField3);

        btnSubmit.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                int sec = Integer.parseInt(textField2.getText());
                 timer = new Timer(sec*1000, new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        textField3.setText(textField1.getText());
                        timer.stop();
                    }
                });
                timer.start();
            }
        });
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                TimerExample gui = new TimerExample();
                gui.createAndShowGUI();
            }
        });
    }
}

答案 1 :(得分:1)

当你和gui一起工作的时候,我假设你对线程感到惊讶。

所以启动一个像这样运行的线程。

..run(){
..while(true){
..textbox1.setText(textbox2.getText());
..Thread.sleep(time interval);
..}
..}

时间间隔以毫秒为单位。 1秒写1000.(删除开始点)

答案 2 :(得分:0)

ChangeListener添加到要从中复制文本的field1。还要在ChangeListner中保留Timer属性。对于field1中的任何更改,如果它处于活动状态,则停止先前的计时器,从timeField获取时间并重新启动计时器。

计时器的ActionListener可以将值从field1复制到field2。