2013-04-23 2 views
0

Я пытаюсь добавить новые ярлыки на панель, и это когда нажата кнопка, ведь количество ярлыков неизвестно, потому что мое приложение состоит в извлечении некоторой информации из файла и затем отображать каждую информацию в ярлыке, поэтому я должен загрузить файл, а затем извлечь информацию, я создал файл загрузки, и я могу извлечь информацию, но у меня возникли проблемы с отображением каждой информации в ее ярлыке, я не могу создать много меток, а затем с помощью label.settext() сделать каждую информацию на своем ярлыке beacuase, чтобы количество ярлыков/информации было переменной.Добавить новые ярлыки на прослушиватель кнопок GWT

Так вы можете посоветовать/помогите мне, чтобы я мог сделать это.

С уважением.

+0

Определенно вам поможет .. покажите свой код. Ваше описание несколько подозрительное. –

ответ

1

Если вы получите результат от Array, например, вы можете сделать так:

String[] data; //You can add you data here 

addButton.addClickHandler(new ClickHandler() { 

     @Override 
     public void onClick(ClickEvent event) { 
      for (String s : data) { 
         RootPanel.get().add(new Label(s)); 
      } 
     } 
    }); 

Таким образом, вы можете добавить столько ярлыков, как вы хотите

+0

Благодарим вас за ответ, но я хочу добавить (новую метку) в прослушиватель кнопки, чтобы сразу нажать кнопку информация извлекается и отображается –

+1

Я уже изменил это так, что добавление будет сделано, когда вы нажмете addButton –

+1

. Если это то, что вы хотели, вы можете принять/подтвердить вопрос. Иначе вы могли бы спросить нас, не так ли, что вы хотели –

1

Вы можете создать переменное число меток с LinkedList.

  int count = x ; //Quantity of labels you need; 
    LinkedList<Label> labelList = new LinkedList<Label>(); 
    for (int i = 0; i < count ;i++) 
    { 
     Label tmpLabel = new Label(); 
     tmpLabel.setText(STUFF) //Here you have to set your content 
     labelList.add(tmpLabel); 
    } 
      // Now we add the Labels to the Panel 
      for (int ind = 0; ind < labelList.size() ;ind++) 
    { 
     panel.add(labelList.get(ind)); //panel is the panel you show 
    } 

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

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