2011年4月5日火曜日

GWT UiBinder で FileUpload を使う




  1. <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">  
  2. <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"  
  3.  xmlns:g="urn:import:com.google.gwt.user.client.ui">  
  4.  <ui:style>  
  5.     
  6.  </ui:style>  
  7.  <g:HTMLPanel>  
  8.    <g:VerticalPanel>  
  9.      <g:HTML><h2>Select a file:</h2></g:HTML>  
  10.      <g:FileUpload ui:field="fileUpload"></g:FileUpload>  
  11.      <g:HTML>  
  12. </g:HTML>  
  13.      <g:Button ui:field="button">Upload File</g:Button>  
  14.    </g:VerticalPanel>  
  15.  </g:HTMLPanel>  
  16. </ui:UiBinder>   


  1. package yanzm.example.hellowtgt.client;  
  2.   
  3. import com.google.gwt.core.client.GWT;  
  4. import com.google.gwt.event.dom.client.ClickEvent;  
  5. import com.google.gwt.event.dom.client.ClickHandler;  
  6. import com.google.gwt.uibinder.client.UiBinder;  
  7. import com.google.gwt.uibinder.client.UiField;  
  8. import com.google.gwt.user.client.Window;  
  9. import com.google.gwt.user.client.ui.Button;  
  10. import com.google.gwt.user.client.ui.Composite;  
  11. import com.google.gwt.user.client.ui.FileUpload;  
  12. import com.google.gwt.user.client.ui.Widget;  
  13.   
  14. public class FileUploadButton extends Composite {  
  15.   
  16.  private static FileUploadUiBinder uiBinder = GWT  
  17.    .create(FileUploadUiBinder.class);  
  18.   
  19.  interface FileUploadUiBinder extends UiBinder<Widget, FileUploadButton> {  
  20.  }  
  21.    
  22.  @UiField  
  23.  FileUpload fileUpload;  
  24.    
  25.  @UiField  
  26.  Button button;  
  27.   
  28.  public FileUploadButton() {  
  29.   initWidget(uiBinder.createAndBindUi(this));  
  30.     
  31.   button.addClickHandler(new ClickHandler() {  
  32.    @Override  
  33.    public void onClick(ClickEvent event) {  
  34.     String filename = fileUpload.getFilename();  
  35.     if(filename.length() == 0) {  
  36.      Window.alert("No file selected");  
  37.     }  
  38.     else {  
  39.      Window.alert("Start upload " + filename);  
  40.     }  
  41.    }  
  42.   });  
  43.  }  
  44. }  





■ その他
Java code による実装例 (Showcase)
com.google.gwt.user.client.ui.FileUpload



 

0 件のコメント:

コメントを投稿