我有,我想,當用戶點擊我的UI東西要顯示的東西的情況下,當複製SmartGWT的懸停文本的外觀/功能(可以是一個網格,標籤,等等)。我想是要顯示一個小盒子時觸發懸停事件有什麼證明是相似的。不過,我只想通過點擊來展示它,而不是懸停。有沒有辦法做到這一點,沒有很多麻煩?我知道,我總是可以創建一個小的彈出窗口,但懸停文字正是我需要的,智能處理彈出窗口的位置(我認爲會利用窗口走好開展更多的工作)。如何做一個點擊
Q
如何做一個點擊
2
A
回答
4
我不認爲有一個簡單的方法來做到這一點。下面是我們使用智能彈出類:
public class SmartPopup extends PopupPanel {
public void show(int left, int top) {
setPopupPositionAndShow(new PositionCallback() {
@Override
public void setPosition(int offsetWidth, int offsetHeight) {
int popupLeft = left;
if ((offsetWidth + left > Window.getClientWidth())
&& (left - offsetWidth > 0)) {
popupLeft = left - offsetWidth;
}
int popupTop = top;
if ((top + offsetHeight > Window.getClientHeight())
&& (top - offsetHeight > 0)) {
popupTop = top - offsetHeight;
}
setPopupPosition(popupLeft, popupTop);
}
});
}
}
一旦你有一個這樣的類,你可以擴展它讓你的工具提示樣式,自動包含一個標籤,等等...
public class ToolTip extends SmartPopup {
public ToolTip(String message) {
addStyleName("tool-tip-css");
add(new Label(message));
}
}
,然後從那裏,你的代碼將是相當簡單:
yourButtonOrWhatever.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
ToolTip toolTip = new ToolTip("Hey, this is like a tool-tip for clicking!");
toolTip.show(event.getClientX(), event.getClientY());
}
});
我愛寫作班這麼多,我可能甚至使的ClickHandler
一個特殊的子類,所以我沒有輸入過的那些行第二一遍又一遍......
yourButtonOrWhatever.addClickHandler(new ToolTipHandler("Hey, this is like a tool-tip for clicking!"));
1
爲什麼不利用這個點擊事件處理
onClickTooltip(com.smartgwt.client.widgets.events.ClickEvent event) {
int x = event.getX();
int y = event.getY();
final Canvas w = new Canvas();
w.setRect(x,y,72,72);
w.setContents("I am Here");
w.draw();
}
相關問題
- 1. 如果一個按鈕被一個接一個地點擊 - 做...?
- 2. 第一次點擊做第一個功能,其他點擊做其他功能
- 3. 做一個點擊和Keydown動作做一個功能
- 4. 做一個按鈕點擊代碼behide
- 5. 做一個提交輸入未點擊
- 6. 做一個鏈接「進入,點擊」
- 7. 如何點擊一個JDialog?
- 8. 如何使一個點擊兩個單擊點擊?
- 9. 如何讓一個ID數組的循環做點擊操作?
- 10. 隨着水豚和硒如何做一個SHIFT +點擊
- 11. 如何做一個組合搜索點擊墨Cypabara Rspec的
- 12. 我如何做一個CSS按鈕可點擊
- 13. 我如何做一個按鈕上點擊
- 14. 如何做一個支點的LINQ
- 15. 做一個字符串點擊,在一個TextView
- 16. 做一個提交按鈕擊中進入後點擊
- 17. jquery點擊做雙擊
- 18. 如何做到這一點?
- 19. 如何做到這一點?
- 20. 如何做到這一點?
- 21. 如何在每個PHP foreach結果上做一個AJAX點擊文章
- 22. jquery mouseenter做到這一點,mouseleave做到這一點,請點擊做到這一點,並停止mouseenter/mouseleave事件
- 23. 做一個onClick事件,每隔一次點擊做一些不同的事情?
- 24. 如何從點擊中刪除顏色當點擊另一個
- 25. 如何點擊和「取消點擊」一個元素
- 26. 如何點擊一個div並不會觸發一個動作上點擊
- 27. 如何通過點擊一個按鈕
- 28. 如何通過點擊一個按鈕
- 29. 如何在點擊一個Android手機
- 30. 如何通過點擊一個按鈕
哇,這是偉大的。非常感謝。 – AHungerArtist