在我的页面中,我有一个带有白色背景的Gxt ContentPanel。但是,当用户将鼠标悬停在ContentPanel的Header上时,我希望背景改变颜色。Ext GWT在mouseover上更改ContentPanel背景颜色
我尝试通过使用Gxt Component的protected addStyleOnOver方法来实现此目的,但它没有任何效果。还有什么我需要做的使用这些方法(我已经沉没了ONMOUSEOVER和ONMOUSEOUT事件),或更好的方式来改变背景?
在我的页面中,我有一个带有白色背景的Gxt ContentPanel。但是,当用户将鼠标悬停在ContentPanel的Header上时,我希望背景改变颜色。Ext GWT在mouseover上更改ContentPanel背景颜色
我尝试通过使用Gxt Component的protected addStyleOnOver方法来实现此目的,但它没有任何效果。还有什么我需要做的使用这些方法(我已经沉没了ONMOUSEOVER和ONMOUSEOUT事件),或更好的方式来改变背景?
我不知道,如果这个工程,但你可以测试它...
final ContentPanel test = new ContentPanel();
test.getHeader().addListener(Events.OnMouseOver, new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
test.getHeader().setStyleName("your_new_style");
// or test.setStyleName("your_new_style");
}
});
你可以样式简单地添加到标题,然后添加一些CSS来改变颜色。
test.getHeader().addStyleName("my_style")
# css
my_style:hover { background-color: yellow; }
这是有点麻烦,如果你想改变标题的的onMouseOver在整个的ContentPanel的BG,在这种情况下,在事件中添加鼠标在那里处理事件的增加了风格到内容面板的标题(或内容面板正文取决于你想要的),然后将适当的样式添加到你的CSS。
# css
my_style { background-color: yellow; }
您可以使用下面的代码做其工作
ContentPanel contentPanel = new ContentPanel();
contentPanel.setStyleName("background");
,并在你的CSS编写下面的代码
.background:hover .x-panel-body {background-color: red !important;}