GWT不帶有任何樣式的DialogBox,並且它看起來很糟糕,沒有任何樣式。是否有一些簡單的方法來獲得GWT showcase page上顯示的內容?我如何設計一個GWT對話框?
3
A
回答
5
事實證明,解決方案非常簡單。在您的主HTML文件中包含以下CSS,並將http://gwt.google.com/samples/Showcase/showcase/gwt/clean/images/hborder.png,http://gwt.google.com/samples/Showcase/showcase/gwt/clean/images/vborder.png和http://gwt.google.com/samples/Showcase/showcase/gwt/clean/images/circles.png下載到您的項目中。
.gwt-PopupPanelGlass {
background-color: #000;
opacity: 0.3;
filter: alpha(opacity=30);
}
.gwt-DialogBox .Caption {
background: #F1F1F1;
padding: 4px 8px 4px 4px;
cursor: default;
font-family: Arial Unicode MS, Arial, sans-serif;
font-weight: bold;
border-bottom: 1px solid #bbbbbb;
border-top: 1px solid #D2D2D2;
}
.gwt-DialogBox .dialogContent {
}
.gwt-DialogBox .dialogMiddleCenter {
padding: 3px;
background: white;
}
.gwt-DialogBox .dialogBottomCenter {
background: url(images/hborder.png) repeat-x 0px -2945px;
-background: url(images/hborder_ie6.png) repeat-x 0px -2144px;
}
.gwt-DialogBox .dialogMiddleLeft {
background: url(images/vborder.png) repeat-y -31px 0px;
}
.gwt-DialogBox .dialogMiddleRight {
background: url(images/vborder.png) repeat-y -32px 0px;
-background: url(images/vborder_ie6.png) repeat-y -32px 0px;
}
.gwt-DialogBox .dialogTopLeftInner {
width: 10px;
height: 8px;
zoom: 1;
}
.gwt-DialogBox .dialogTopRightInner {
width: 12px;
zoom: 1;
}
.gwt-DialogBox .dialogBottomLeftInner {
width: 10px;
height: 12px;
zoom: 1;
}
.gwt-DialogBox .dialogBottomRightInner {
width: 12px;
height: 12px;
zoom: 1;
}
.gwt-DialogBox .dialogTopLeft {
background: url(images/circles.png) no-repeat -20px 0px;
-background: url(images/circles_ie6.png) no-repeat -20px 0px;
}
.gwt-DialogBox .dialogTopRight {
background: url(images/circles.png) no-repeat -28px 0px;
-background: url(images/circles_ie6.png) no-repeat -28px 0px;
}
.gwt-DialogBox .dialogBottomLeft {
background: url(images/circles.png) no-repeat 0px -36px;
-background: url(images/circles_ie6.png) no-repeat 0px -36px;
}
.gwt-DialogBox .dialogBottomRight {
background: url(images/circles.png) no-repeat -8px -36px;
-background: url(images/circles_ie6.png) no-repeat -8px -36px;
}
* html .gwt-DialogBox .dialogTopLeftInner {
width: 10px;
overflow: hidden;
}
* html .gwt-DialogBox .dialogTopRightInner {
width: 12px;
overflow: hidden;
}
* html .gwt-DialogBox .dialogBottomLeftInner {
width: 10px;
height: 12px;
overflow: hidden;
}
* html .gwt-DialogBox .dialogBottomRightInner {
width: 12px;
height: 12px;
overflow: hidden;
}
2
另一種方法是在UiBinder中擴展DialogBox類和樣式。它避免了改變甚至是具有全球風格。
您可以使用@external
關鍵字導入預定義的樣式(否則由於混淆而被隱藏)。
DialogBox Javadoc解釋哪個樣式元素對應於DialogBox的每個部分。
<ui:style>
@external .gwt-DialogBox .Caption;
.gwt-DialogBox .Caption {
font-weight: bold;
text-align: center;
}
</ui:style>
<g:HTMLPanel>
<g:SimplePanel ui:field="mainPanel"></g:SimplePanel>
<g:Button ui:field="okButton">OK</g:Button>
</g:HTMLPanel>
作爲一個例子,對應的類將是:
public class MyDialogBox extends DialogBox {
@UiField SimplePanel mainPanel;
@UiField Button okButton;
interface Binder extends UiBinder<Widget, MyDialogBox> {}
public MyDialogBox() {
super.setWidget(GWT.<Binder> create(Binder.class).createAndBindUi(this));
}
@UiHandler("okButton")
void onDismiss(ClickEvent e) {
hide();
}
@Override
public void setWidget(Widget widget) {
mainPanel.setWidget(widget);
}
@Override
public void center() {
super.center();
okButton.setFocus(true);
}
}
然後,可以實例化並使用MyDialogBox像任何其他部件。
相關問題
- 1. 我如何設計Monotouch對話框?
- 2. 如何設計下面的對話框
- 3. 如何設計單選對話框?
- 4. 設計一個像對話框一樣的對話框來自android
- 5. 如何構建GWT加載對話框?
- 6. Android -alert對話框設計
- 7. GWT設計一個按鈕
- 8. 如何爲對話框對話框片段設置一個長標題?
- 9. 我如何設計一個gwt 2.1 CellTables頭文件?
- 10. GWT確認對話框
- 11. 對話框中的gwt tabindex
- 12. 在GWT中連接兩個對話框
- 13. 如何從另一個對話框調用對話框
- 14. 如何結束對話框並啓動另一個對話框?
- 15. 計有一個jsp在對話框
- 16. 計算innerwidth一個jQuery對話框
- 17. 設計一個帶iframe的extlib對話框
- 18. Qt4設計器用QTableWidget創建一個對話框
- 19. 在Prism中設計一個簡單的保存對話框
- 20. 如何將消息從一個對話框發送到另一個對話框?
- 21. 如何設計一個通用的jQuery UI對話框視圖(backbonejs)
- 22. 如何設計一個居中浮動確認對話框的CSS?
- 23. 爲什麼我無法從一個對話框創建另一個對話框?
- 24. 如何從另一個對話框
- 25. 如何把一個EditText的對話框?
- 26. 如何製作一個sington對話框
- 27. 如何打開一個jQuery對話框
- 28. 如何運行一個jQuery對話框
- 29. 如何定製一個對話框
- 30. 如何使用對話框片段設置全屏對話框