GWT-HTML小部件-setEnabled
有没有办法使GWT-HTML小部件-setEnabled,gwt,Gwt,有没有办法使com.google.gwt.user.client.ui.HTML小部件启用或未启用?我尝试过,但似乎没有设置启用(布尔)方法:请分享您的经验 谢谢我不知道你说的启用是什么意思,但我想试试看 我想你的意思是可见或不可见 HTMLPanel=newhtmlpanel(); 面板。设置可见(假);//残废 panel.setVisible(true);//启用 希望这就是您想要的。只有少数HTML元素可以启用或禁用,比如输入。GWT为可以获得焦点的元素启用了setEnabled():
com.google.gwt.user.client.ui.HTML
小部件启用或未启用?我尝试过,但似乎没有设置启用(布尔)方法:请分享您的经验
谢谢我不知道你说的启用是什么意思,但我想试试看 我想你的意思是可见或不可见
HTMLPanel=newhtmlpanel();
面板。设置可见(假);//残废
panel.setVisible(true);//启用
希望这就是您想要的。只有少数HTML元素可以启用或禁用,比如输入。GWT为可以获得焦点的元素启用了setEnabled(): 只能禁用某些表单元素(输入、选项) 要禁用:
widget.getElement().setAttribute("disabled","disabled");
要再次启用:
widget.getElement().removeAttribute("disabled");
对于其他小部件,您需要将其样式设置为模仿“禁用”。(例如,将颜色设置为灰色)以显示小部件中未继承的启用和禁用功能。
您需要重写样式和事件处理实现。在MyHTMLPanel扩展HTMLPanel
中保留一个enableFl
步骤1-提供启用和禁用样式。使用不透明度css打开/关闭灰色排序的着色。根据enableFl的状态打开/关闭启用/禁用功能
步骤2-通过覆盖onBrowserEvent
并使其执行取决于您自己的enableFl状态来禁用/启用小部件上的事件处理
步骤3-递归禁用HTMLPanel内部的所有小部件
如果您的用例很简单,您可能会选择使用com.google.gwt.user.client.ui.HTML而不是com.google.gwt.user.client.ui.HTMLPanel,不幸的是,小部件中没有这样的方法 但是有一点空间可以实现。我是在谷歌集团的帮助下实现的
public void setEnabled (boolean e)
{
Iterator<Widget> itr = grd.iterator (); // grd is a FlexTable which
contains my form controls
while (itr.hasNext ())
{
Widget w = itr.next ();
if (w instanceof TextBox)
{
TextBox t = (TextBox) w;
t.setEnabled (e);
}
if (w instanceof PasswordTextBox)
{
PasswordTextBox t = (PasswordTextBox) w;
t.setEnabled (e);
}
...
}
public void setEnabled(布尔值e)
{
迭代器itr=grd.Iterator();//grd是一个FlexTable,它
包含我的窗体控件
while(itr.hasNext())
{
Widget w=itr.next();
if(带instanceof文本框)
{
文本框t=(文本框)w;
t、 设置启用(e);
}
if(带密码文本框的实例)
{
密码文本框t=(密码文本框)w;
t、 设置启用(e);
}
...
}
启用是什么意思?可见?否,“启用真/假”表示可以/不能单击或按下鼠标等(小部件事件支持)你还没有找到一个有用的答案吗!!!不,我的意思是“为颜色启用真/假”,但要为鼠标事件启用,例如ETC,它会改变小部件的颜色,使其看起来像按钮按下时一样真的“禁用”。setEnabled(false)?@user592704是的。如果你只是想禁用事件,你只需要执行unsinkEvents
,但有没有办法恢复激发的事件?我的意思是激发事件并再次添加它们不是最佳选择否,我的意思是不是“可见/不可见”,而是“启用”意味着“如果设置为启用,则无法像按钮小部件一样单击”(false)“好吧,在Widget中没有其他人说过的那样的方法。你必须自己实现它。我知道没有这样的方法:)我不太确定如何使它支持这种方法?也许你知道这方面的一些代码示例,因为我自己找不到:谢谢。这很有趣,但你能告诉我吗?”有多少代码片段?我不太清楚你的意思。问题是关于HTML小部件…问题是当你调用Button.setEnabled(false)方法时,要使HTML小部件像Button小部件一样禁用。例如,我找不到任何有用的HTML小部件代码示例,所以可能我遗漏了一些东西?