wandaga1 Ответов: 1

Динамическое обновление текстового поля на живых событиях


//this method gets Telephone number from a sipserver
public void telephoneNumbs(String numbers) {
        String replace = numbers.replace("sip:", "").trim().replace(".", ""); // Incoming Call Numbers from Sip UA
        if (!replace.isEmpty()) {
           List<TelephoneObj> telephons; 
            telTextField.setText(null); //init it with null
             costumDao = new CostumersDao(); // costumers DB 
             telephons = costumDao.getOrCompareTelfone(numbers);
               for (TelephoneObj tmp : telephons) {
                   System.out.println("Test: " + tmp.getTelephoneNums); // am getting exactle what i need here from my Database
                   //or 
                   JOptionPane.showMessageDialog(null,"incoming:"+ tmp.getTelephoneNums); // it show it during incoming calls
                   
                   //here is the problem. it wouldnt show the Value on the Textfield
                    telTextField.setText(tmp.getTelephoneNums); //try to push that Value(Telephone number) to show in JFXTextfield/it cold be any other Textfields
                    
               }
             
            
        }







Что я уже пробовал:

Hi, i am at the moment developing a Softphone with javafx. and i kind of a have problem capturing incoming call to a textfield. an example of my code is here.
an incoming call is with Joptionpane successful bt i had like to have the value appear in call textfield just like telephone.
Thank you.

1 Ответов

Рейтинг:
2

wandaga1

Ооочень счастлив сегодня, когда все прошло хорошо после 2 дней размышлений о том, как решить эту несчастную жизнь, не тратя времени на размышления.
В конце концов я получил ответ, используя задачу для решения этой проблемы.

<pre>Task<Void> task = new Task<Void>() {
            {
                updateMessage("");
            }

            @Override
            public Void call() throws Exception {

                while (true) {
                    updateMessage(callee);
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException ex) {
                        break;
                    }
                }
                return null;
            }

        };

        //neuLabel.textProperty().bind(task.messageProperty());
        kdAddrTel.textProperty().bind(task.messageProperty());
        Thread th = new Thread(task);
        th.setDaemon(true);

        th.start();