TextField not updating dynamically

随声附和 提交于 2019-11-28 04:43:46

问题


this is a really simple code in which text on a button is copied to a TextField. The code works fine but the TextField is not updating instantly on clicking the button. It updates only after i click on the TextField or when i drag the form not on pressing the button instantly. why is this happening,this behavior is unexpected. i am testing this code on a nokia 501 emulator which supports LWUIT.

           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();
                   }

回答1:


After setting the text in the textfield repaint it. This may work

  data.setText(ab.getText());
  data.validate(); or data.repaint();



回答2:


That happen because your Code. I explain:

you call to function actionPerformed: this is lisitner that call when user make action like "after i click on the TextField..".

what you need to do is simple:

  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();
               }



回答3:


          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()); // You should not use this

                // Use this instead
                  data.setText(ab.getActionCommand());

            }

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


来源:https://stackoverflow.com/questions/17305584/textfield-not-updating-dynamically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!