0

我需要在另一个文本框中提供的一定时间(以秒为单位)后在文本字段中显示文本。请给我建议,我是这种类型要求的新手。提前致谢。

嘿,感谢您的所有回复,很抱歉应该用 javascript 完成,我做到了。感谢你..

这里z代码......在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>
4

3 回答 3

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();
            }
        });
    }
}
于 2012-12-25T08:13:58.647 回答
1

当您使用 gui 时,我假设您了解线程。

所以开始一个这样运行的线程。

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

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

于 2012-12-25T07:22:20.160 回答
0

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

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

于 2012-12-25T07:33:27.220 回答