Oii gente, estou tentando pegar o nome escolhido do listbox, mas não estou conseguindo, poderiam me ajudar?
privateWidgetcreateNewEventPanel(){VerticalPanelcreatePanel=newVerticalPanel();createPanel.add(newLabel("Compromisso:"));createPanel.add(lb);lb.addItem("evento1");lb.addItem("evento2");lb.addItem("evento3");lb.addItem("evento4");lb.addItem("evento5");createPanel.add(newLabel("Início:"));createPanel.add(startDate);createPanel.add(newButton("Criar compromisso",newClickHandler(){@OverridepublicvoidonClick(ClickEventevent){Stringtitle=lb.getName();Datestart=startDate.getValue();GoogleCalendarUtilsourCalendar=newGoogleCalendarUtils(calendarUrl);ourCalendar.insertCalendarEvent(title,start,newCalendarEventEntryCallback(){@OverridepublicvoidonSuccess(CalendarEventEntryresult){Window.alert("O compromisso "+result.getTitle().getText()+" foi inserido no calendário");updateCalendarView();}@OverridepublicvoidonFailure(CallErrorExceptioncaught){Window.alert("Falha ao inserir compromisso");}});}}));returncreatePanel;}
Eu não consegui ver onde você declarou a variável do listbox, mas se for dentro do método, você terá que colocá-lo como final para poder acessá-lo dentro do actionlistener.
espero ter ajudado.
um abraço
Mariana.Vecci
Oii, desculpe, acabou ficando de fora, eu coloquei apenas o método que estou com problema,
a sua declaração está acima do método:
private DatePicker startDate = new DatePicker();
private ListBox lb = new ListBox();
Obrigada!
tebosoftware
de qualquer maneira, você terá que declarar antes da criação do botão uma variável do mesmo tipo com a variação final
finalListBoxlbInterno=lb;
ai dentro do método você muda para usá-la
ViniGodoy
Oi. Quando postar tópicos de interface gráfica:
Abra no fórum de interface gráfica (movi seu tópico).
Se usar algo diferente do Swing (como é o seu caso, com SWT), avise isso em algum lugar. Pode ser no título, colocando [SWT] na frente.
Mariana.Vecci
Oii, não entendi..
importjava.util.Date;importcom.google.gwt.accounts.client.AuthSubStatus;importcom.google.gwt.accounts.client.User;importcom.google.gwt.core.client.EntryPoint;importcom.google.gwt.event.dom.client.ClickEvent;importcom.google.gwt.event.dom.client.ClickHandler;importcom.google.gwt.gdata.client.GData;importcom.google.gwt.gdata.client.GDataSystemPackage;importcom.google.gwt.gdata.client.calendar.CalendarEntry;importcom.google.gwt.gdata.client.calendar.CalendarEventEntry;importcom.google.gwt.gdata.client.calendar.CalendarEventEntryCallback;importcom.google.gwt.gdata.client.calendar.CalendarEventFeed;importcom.google.gwt.gdata.client.calendar.CalendarEventFeedCallback;importcom.google.gwt.gdata.client.impl.CallErrorException;importcom.google.gwt.gdata.client.impl.Callback;importcom.google.gwt.user.client.Window;importcom.google.gwt.user.client.ui.Button;importcom.google.gwt.user.client.ui.FlexTable;importcom.google.gwt.user.client.ui.Frame;importcom.google.gwt.user.client.ui.HorizontalPanel;importcom.google.gwt.user.client.ui.Label;importcom.google.gwt.user.client.ui.ListBox;importcom.google.gwt.user.client.ui.RootPanel;importcom.google.gwt.user.client.ui.TextBox;importcom.google.gwt.user.client.ui.VerticalPanel;importcom.google.gwt.user.client.ui.Widget;importcom.google.gwt.user.datepicker.client.DatePicker;publicclassMainEntryPointimplementsEntryPoint{publicfinalstaticStringGDATA_API_KEY="ABQIAAAA3EOirlH7z7XYgtOH9YDErRQ6_UIOfPGHgVRITLRv-xRWPpAwvxQRmJALZiKCck5hlCIsDmb5MH1AmA";//é uma licença gratuita necessária pra utilizar a apiprivatestaticfinalStringCAL_PUBLIC_URL="https://www.google.com/calendar/embed?src=q3ecchnilb5mdl50hcd1uachec%40group.calendar.google.com&ctz=America/Boa_Vista";//endereço público da agendaprivateFramegoogleCalendar=newFrame(CAL_PUBLIC_URL);privatestaticStringcalendarUrl="http://www.google.com/calendar/feeds/[email removido]/private/full";//id da agenda, mas do xml publicvoidonModuleLoad(){if(!GData.isLoaded(GDataSystemPackage.CALENDAR)){GData.loadGDataApi(GDATA_API_KEY,newRunnable(){publicvoidrun(){loadModule();}},GDataSystemPackage.CALENDAR);}else{loadModule();}}privatevoiddoAuthSubLogin(){AuthSubStatusstatus=User.getStatus(calendarUrl);if(status!=AuthSubStatus.LOGGED_IN){User.login(calendarUrl);}}publicvoidstartApp(){doAuthSubLogin();}publicvoidloadModule(){doAuthSubLogin();if(User.getStatus()==AuthSubStatus.LOGGING_IN)return;HorizontalPanelcontrolsPanel=newHorizontalPanel();googleCalendar.setWidth("800px");googleCalendar.setHeight("600px");controlsPanel.add(googleCalendar);controlsPanel.add(createNewEventPanel());controlsPanel.add(createEventEditPanel());controlsPanel.setSpacing(10);VerticalPanelvp=newVerticalPanel();vp.add(controlsPanel);vp.add(eventsDisplayTable);updateCalendarView();RootPanel.get().add(vp);}privateDatePickerstartDate=newDatePicker();privateListBoxlb=newListBox();privateWidgetcreateNewEventPanel(){VerticalPanelcreatePanel=newVerticalPanel();createPanel.add(newLabel("Compromisso:"));createPanel.add(lb);lb.addItem("evento1");lb.addItem("evento2");lb.addItem("evento3");lb.addItem("evento4");lb.addItem("evento5");createPanel.add(newLabel("Início:"));createPanel.add(startDate);createPanel.add(newButton("Criar compromisso",newClickHandler(){@OverridepublicvoidonClick(ClickEventevent){Stringtitle=lb.getName();Datestart=startDate.getValue();GoogleCalendarUtilsourCalendar=newGoogleCalendarUtils(calendarUrl);ourCalendar.insertCalendarEvent(title,start,newCalendarEventEntryCallback(){@OverridepublicvoidonSuccess(CalendarEventEntryresult){Window.alert("O compromisso "+result.getTitle().getText()+" foi inserido no calendário");updateCalendarView();}@OverridepublicvoidonFailure(CallErrorExceptioncaught){Window.alert("Falha ao inserir compromisso");}});}}));returncreatePanel;}privatevoidupdateCalendarView(){googleCalendar.setUrl(googleCalendar.getUrl());getAllEvents();}privatevoidgetAllEvents(){GoogleCalendarUtilscalendar=newGoogleCalendarUtils(calendarUrl);calendar.getEvents(newCalendarEventFeedCallback(){@OverridepublicvoidonSuccess(CalendarEventFeedresult){displayCalendarEntries((CalendarEventEntry[])result.getEntries());}@OverridepublicvoidonFailure(CallErrorExceptioncaught){Window.alert("Falha ao receber compromissos");}});}privateTextBoxnewTitle=newTextBox();privateTextBoxeventUrl=newTextBox();privateWidgetcreateEventEditPanel(){VerticalPaneleditPanel=newVerticalPanel();editPanel.add(newLabel("URL do compromisso:"));editPanel.add(eventUrl);editPanel.add(newLabel("Novo compromisso:"));editPanel.add(newTitle);editPanel.add(newButton("Atualizar",newClickHandler(){@OverridepublicvoidonClick(ClickEventevent){GoogleCalendarUtilsourCalendar=newGoogleCalendarUtils(calendarUrl);ourCalendar.renameEvent(eventUrl.getText(),newTitle.getText(),newCallback<CalendarEntry>(){@OverridepublicvoidonSuccess(CalendarEntryresult){Window.alert("Compromisso atualizado");updateCalendarView();}@OverridepublicvoidonFailure(CallErrorExceptioncaught){Window.alert("Falha ao atualizar compromisso");}});}}));editPanel.add(newButton("Remover",newClickHandler(){@OverridepublicvoidonClick(ClickEventevent){GoogleCalendarUtilsourCalendar=newGoogleCalendarUtils(calendarUrl);ourCalendar.deleteEvent(eventUrl.getText(),newCallback<CalendarEntry>(){@OverridepublicvoidonSuccess(CalendarEntryresult){Window.alert("Compromisso removido");updateCalendarView();}@OverridepublicvoidonFailure(CallErrorExceptioncaught){Window.alert("Falha ao remover compromisso");}});}}));returneditPanel;}privateFlexTableeventsDisplayTable=newFlexTable();privatevoiddisplayCalendarEntries(CalendarEventEntry[]entries){eventsDisplayTable.clear();eventsDisplayTable.setText(0,0,"Nome do compromisso");eventsDisplayTable.setText(0,1,"URL do compromisso");for(introw=0;row<entries.length;row++){eventsDisplayTable.setText(row+1,0,entries[row].getTitle().getText());eventsDisplayTable.setText(row+1,1,entries[row].getEditLink().getHref());}}}