使用UIBinder的GWT自定義按鈕

這是一個有關如何在GWT上使用UIBinder創建自定義按鈕的示例。
public class GwtUIBinderButton implements EntryPoint {public void onModuleLoad() {Button button = new Button();button.setText("Button");button.addClickHandler(new ClickHandler(){@Overridepublic void onClick(ClickEvent event) {Window.alert("Button clicked");}});RootPanel.get("container").add(button);}
}
public class Button extends Composite implements HasText, HasClickHandlers, ClickHandler{private static ButtonUiBinder uiBinder = GWT.create(ButtonUiBinder.class);interface ButtonUiBinder extends UiBinder<Widget, Button> {}@UiField(provided=true)FocusPanel pane = new FocusPanel();@UiField(provided=true)Label label = new Label();public Button() {pane.addClickHandler(this);initWidget(uiBinder.createAndBindUi(this));}@Overridepublic HandlerRegistration addClickHandler(ClickHandler handler) {return addHandler(handler, ClickEvent.getType());}@Overridepublic void onClick(ClickEvent event) {this.fireEvent(event);}@Overridepublic String getText() {return label.getText();}@Overridepublic void setText(String text) {label.setText(text);}}
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"xmlns:g="urn:import:com.google.gwt.user.client.ui"><ui:style>.button{background-color: #eeeeee;background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #cccccc));background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);background-image: -o-linear-gradient(top, #eeeeee, #cccccc);background-image: linear-gradient(top, #eeeeee, #cccccc);border: 1px solid #ccc;border-bottom: 1px solid #bbb;-webkit-border-radius: 3px;-moz-border-radius: 3px;-ms-border-radius: 3px;-o-border-radius: 3px;border-radius: 3px;color: #333;font: bold 11px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;line-height: 1;padding: 0px 0;text-align: center;text-shadow: 0 1px 0 #eee;width: 120px; }.button:hover{background-color: #dddddd;background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dddddd), color-stop(100%, #bbbbbb));background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);background-image: linear-gradient(top, #dddddd, #bbbbbb);border: 1px solid #bbb;border-bottom: 1px solid #999;cursor: pointer;text-shadow: 0 1px 0 #ddd;}.button:active{border: 1px solid #aaa;border-bottom: 1px solid #888;-webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;-moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; }.pane{text-align: center;}</ui:style><g:SimplePanel ui:field="pane" styleName="{style.button}"><g:Label ui:field="label"></g:Label></g:SimplePanel>
</ui:UiBinder>

添加圖像:

<g:SimplePanel ui:field="pane" styleName="{style.button}"><g:HTMLPanel><table align="center"><tr><td><g:Image styleName="{style.pane}" url="gwt-logo-42x42.png"></g:Image></td><td><g:Label ui:field="label"></g:Label></td></tr></table></g:HTMLPanel></g:SimplePanel>

點擊查看演示

參考:來自GlyphSoft博客的JCG合作伙伴 Mark Andro Silva 使用UIBinder的GWT自定義按鈕 。


翻譯自: https://www.javacodegeeks.com/2012/03/gwt-custom-button-using-uibinder.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373400.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373400.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373400.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

delete postman 傳參_PostMan 傳參boolean 類型,接口接受的值一直是false

情形&#xff1a;最近寫前臺頁面的一個按鈕&#xff0c;功能是&#xff1a;點擊后切換狀態&#xff0c;顯示是或否。字段名稱是isTest,類型是boolean 。寫完接口&#xff0c;拿postMan測試&#xff0c;傳參如下&#xff1a;但是后臺接口接受的數據 一直是false,處理&#xff1a…

前端學PHP之文件操作

前端學PHP之文件操作 前面的話 在程序運行時&#xff0c;程序本身和數據一般都存在內存中&#xff0c;當程序運行結束后&#xff0c;存放在內存中的數據被釋放。如果需要長期保存程序運行所需的原始數據&#xff0c;或程序運行產生的結果&#xff0c;就需要把數據存儲在文件或數…

騰訊云CentOS6.5下安裝mysql,并配置好遠程訪問等權限,途中遇到的問題

1.使用yum命令安裝mysql [rootbogon ~]# yum -y install mysql-server 2.設置開機啟動 [rootbogon ~]# chkconfig mysqld on 3.啟動MySQL服務 [rootbogon ~]# service mysqld start 4.設置MySQL的root用戶設置密碼 [rootbogon ~]# mysql -u root mysql> select u…

休眠性能提示:臟收集效果

在使用Hibernate作為ORM開發服務器和嵌入式應用程序8年后&#xff0c;我全力以赴地尋求提高Hibernate性能的解決方案&#xff0c;閱讀博客和參加會議&#xff0c;我決定與您分享這幾年獲得的知識。 這是更多新帖子中的第一篇&#xff1a; 去年&#xff0c;我以Devoxx的身份參加…

java runtime 異常_Java中RuntimeException和Exception

在java的異常類體系中,Error和RuntimeException是非檢查型異常&#xff0c;其他的都是檢查型異常。所有方法都可以在不聲明throws的情況下拋出RuntimeException及其子類不可以在不聲明的情況下拋出非RuntimeException簡單的說&#xff0c;非RuntimeException必要自己寫catch塊處…

BZOJ3130: [Sdoi2013]費用流[最大流 實數二分]

3130: [Sdoi2013]費用流 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 960 Solved: 505[Submit][Status][Discuss]Description Alice和Bob在圖論課程上學習了最大流和最小費用最大流的相關知識。 最大流問題&#xff1a;給定一張有向圖表示運輸網絡…

Linux Shell 003-變量

Linux Shell 003-變量 本節關鍵字&#xff1a;Linux、Shell、變量、全局變量、系統變量 相關指令&#xff1a;read、echo、unset、export 變量的含義 變量是用來臨時保存數據的&#xff0c;該數據是可以變化的數據。如果某個內容需要多次使用&#xff0c;并且在代碼中重復出現…

Java自動機實現

這篇文章將解決在Java中實現有限狀態機的問題。 如果您不知道什么是FSM或在什么地方可以使用FSM&#xff0c;您可能會熱衷于閱讀此 &#xff0c; 這個和這個 。 如果您發現自己在設計上使用FSM的情況&#xff0c;則可能已經開始為實現相同接口的每個狀態編寫類。 一個好的設計可…

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files這個文件找不到

在C:\Windows\Microsoft.NET\Framework64\v4.0.30319文件夾下面建立Temporary ASP.NET Files 文件夾&#xff08;Framework64 注意64&#xff0c;這個可能是我們用的64位系統&#xff0c;但是vs2010不分32位還是64位&#xff0c;所以在C:\Windows\Microsoft.NET\Framework\v4.0…

java電腦運行視頻演示_javaweb視頻第一天(二)

無論通過哪種方式得到的class類對象&#xff0c;是同一個。比較的是地址碼這里教會你&#xff1a;如何去使用class對象現在就知道這個&#xff1a;如何使用反射&#xff0c;并且說反射是實現了什么樣的功能。如何通過反射得到里面的相應字段&#xff0c;得到里面的相應函數等等…

模型驅動 ModelDriven

ModelDriven:模型驅動,對所有action的模型對象進行批處理. 我們在開發中&#xff0c; 在action中一般是用實體對象&#xff0c;然后給實體對象get&#xff0c;set方法。 RegAction{   User user ;   //get/set} 然后在jsp頁面中給action中的user屬性綁定值是通過如下方式 &…

本月風味– Neo4j和Heroku

Neo4j今年早些時候發起了一項挑戰&#xff0c;即“ 種子播云 ”&#xff0c;以使人們使用Neo4j附加組件在Heroku上創建模板或演示應用程序。 經過許多內部辯論之后&#xff0c;我決定進入&#xff0c;但由于缺乏想法而陷入絕望。 當我什么都沒做的時候&#xff0c;這個主意就出…

1 + 11 + 1111+ 11111+ ..... + 11111(2016個) 結果是幾位數

# -*- coding: utf-8 -*- """ Created on Mon Mar 21 20:38:06 2016author: yanjie """1 11 1111 11111 ..... 11111(2016個) 結果是幾位數 用什么數據結構 有幾個6 寫算法a []; m 0; six 0; for i in range(2016,0,-1):b (im) % 10;m (…

[回歸分析][10]--相關誤差的問題

[回歸分析][10]--相關誤差的問題這一篇文章還是來分析相關誤差的問題。 1.游程數 定義&#xff1a;游程數--殘差穿過x-軸的次數 用這個可以檢查如殘差有一塊在x軸上面&#xff0c;一塊在x軸下面的情形。 如上面這樣的殘差 下面構造兩個統計量&#xff1a; 其中 n…

Spring 3 MVC異常處理程序

我遇到的大多數Spring 3錯誤處理示例代碼似乎都提供了其用法的最簡單概述&#xff0c;但是&#xff0c;有人說&#xff0c;如何處理錯誤比正常代碼的工作方式更為重要。 前一天&#xff0c;當我在Spring&#xff08;2&#xff09;錯誤處理程序中遇到一個簡單的GOTCHA時&#xf…

java編譯找不到符號_javac編譯時找不到符號?

我是個新手&#xff0c;在linux使用java編程時&#xff0c;出現這個情況。我把要引的包放在classpath中&#xff0c;紅色部分&#xff1a;export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/hadoop-1.0.4.core.jar:${CLASSPATH}通過echo $CLASSP…

全備份、差異備份和增量備份概念詳述

全備份、差異備份和增量備份概念詳述 1、完全備份&#xff08;Full Backup&#xff09; 備份全部選中的文件夾&#xff0c;并不依賴文件的存檔屬性來確定備份那些文件。在備份過程中&#xff0c;任何現有的標記都被清除&#xff0c;每個文件都被標記為已備份。換言之&#xff0…

微信接入登錄功能access_token流程記錄

提示&#xff1a;只有認證過的訂閱號或者服務號才能獲取access_token。 1.app微信登錄第一步是&#xff0c;app調起來微信客戶端&#xff0c;通過app端的配置&#xff0c;引入一個微信類庫&#xff0c; 2.授權成功后&#xff0c;微信會返回你一個code。 將APP_ID替換成你在微信…

使用MVC模式制作游戲-教程和簡介

游戲開發中一種有用的體系結構模式是MVC&#xff08;模型視圖控制器&#xff09;模式。 它有助于分離輸入邏輯&#xff0c;游戲邏輯和UI&#xff08;渲染&#xff09;。 在任何游戲開發項目的早期階段&#xff0c;其實用性很快就會被注意到&#xff0c;因為它允許快速更改內容&…

boost

參考博客 http://www.cnblogs.com/lidabo/p/3805487.html http://www.cppblog.com/Robertxiao/archive/2013/01/06/197022.html http://www.cnblogs.com/finallyliuyu/archive/2013/05/23/3094246.html http://www.cnblogs.com/lidabo/p/3782193.html http://www.cnblogs.com/z…