5

これは、ボタン上のテキストが TextField にコピーされる非常に単純なコードです。コードは正常に動作しますが、TextField はボタンをクリックしてもすぐには更新されません。TextFieldをクリックした後、またはボタンをすぐに押さずにフォームをドラッグしたときにのみ更新されます。なぜこれが起こっているのか、この動作は予期しないものです。LWUIT をサポートする nokia 501 エミュレーターでこのコードをテストしています。

           a = new Form("CALCULATOR")
                   final TextArea data = new TextArea();
           final Button ab = new Button("Some Value");
           ab.addActionListener(new ActionListener(){

            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub

                data.setText(ab.getText());

            }

           });
           a.addComponent(ab);
           a.addComponent(data);
           a.show();
                   }
4

3 に答える 3

5

テキストフィールドにテキストを設定した後、再描画します。これはうまくいくかもしれません

  data.setText(ab.getText());
  data.validate(); or data.repaint();
于 2013-06-26T13:32:52.300 に答える
0

それはあなたのコードが原因で起こります。私は説明する:

関数actionPerformedを呼び出します。これは、ユーザーが「TextFieldをクリックした後..」などのアクションを実行したときに呼び出すリストナーです。

あなたがする必要があるのは簡単です:

  a = new Form("CALCULATOR")
               final TextArea data = new TextArea();
       final Button ab = new Button("Some Value");
       ab.addActionListener(new ActionListener(){
       data.setText(ab.getText());
       a.addComponent(ab);
       a.addComponent(data);
       a.show();
               }
于 2013-06-26T08:38:16.350 に答える