2013-08-27 2 views
0

У меня есть приложение, которое использует диспетчер макетов javafx GridPane, с одной кнопкой, прикрепленной к нему. В настоящее время, когда я нажимаю кнопку, я вызываю функцию и записываю в командной строке результат.Добавление элементов в javafx GridPane на событие

Что мне интересно, а не писать в командной строке, как я мог вместо этого отправить результат вызова моей функции на саму сетку, отображая ее в текстовом поле или что у вас есть? В настоящее время это код, который создает пользовательский интерфейс

GridPane grid = new GridPane(); 
     grid.setAlignment(Pos.CENTER); 
     grid.setHgap(10); 
     grid.setVgap(10); 
     grid.setPadding(new Insets(0, 25, 0, 25)); 

Button btn = new Button(); 
     btn.setText("Get Button"); 
     btn.setOnAction(new EventHandler<ActionEvent>() { 

     @Override 
     public void handle(ActionEvent event) {     
         String result = staticClass.getData(1, "A"); 
         System.out.println(result); 
      } 
     }); 

     grid.add(btn, 0, 0; 
+0

Как насчет использования 'ListView'? – tarrsalah

+0

@tarrsalah Будет ли это работать? Прямо сейчас я за что угодно, пока я могу разместить возвращенные данные там, где я тоже хочу использовать интерфейс. – canadiancreed

+1

Добавьте метку в сетку и установите ее текст на действие кнопки. –

ответ

0

Найдены, что для выполнения того, что я после этого, вы должны использовать метод SetText, который я считаю, что Улук Бия намекали тоже в своих комментариях. Для тех, кто сталкивается с той же проблемой, что и в прошлом, вот пример кода, который поможет проиллюстрировать.

final Label textDisplayLabel = new Label(); 

     @Override 
     public void handle(ActionEvent event) {     
       textDisplayLabel.setText(calcTime.getTimestampDiff(new DateTime(1976, 9, 11, 10, 59, 0, 0), new DateTime(2012, 11, 11, 10, 59, 0, 0))); 
      } 
     }); 

затем просто поместите текстDisplayLabel туда, где вы хотите его на пользовательском интерфейсе и альта.

Смежные вопросы