0

別のテキストボックスで提供されている秒単位の一定時間後に、テキストフィールドにテキストを表示する必要があります。私に提案をお願いします、このタイプの要件の初心者です。前もって感謝します。

すべてのurの返信に感謝します。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

テキストのコピー元のfield1にChangeListenerを追加します。また、ChangeListnerにTimerプロパティを保持します。field1で変更があった場合は、前のタイマーがアクティブになっている場合は停止し、timeFieldから時間を取得して、タイマーを再開します。

タイマーのActionListenerは、フィールド1からフィールド2に値をコピーできます。

于 2012-12-25T07:33:27.220 に答える