Ext GWT在鼠标悬停时更改ContentPanel背景颜色

时间:2010-07-28 21:08:31

标签: gwt background mouseover gxt

在我的页面中,我有一个白色背景的Gxt ContentPanel。但是,当用户将鼠标悬停在ContentPanel的标题上时,我希望背景能够改变颜色。

我尝试使用Gxt Component的受保护的addStyleOnOver方法实现此目的,但它没有任何效果。我还需要做些什么来使用这些方法(我已经沉没了ONMOUSEOVER和ONMOUSEOUT事件),还是更好的方法来改变背景?

3 个答案:

答案 0 :(得分:2)

您可以使用以下代码执行此操作

    ContentPanel contentPanel = new ContentPanel();
    contentPanel.setStyleName("background");

并在css中写下以下代码

   .background:hover .x-panel-body {background-color: red !important;}

答案 1 :(得分:0)

我不确定这是否有效,但你可以测试一下......

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");
    }
});

答案 2 :(得分:0)

你可以简单地在标题中添加一个样式,然后添加一些css来改变颜色。

test.getHeader().addStyleName("my_style")

# css
my_style:hover { background-color: yellow; }

如果你想在标题的onMouseOver期间更改整个ContentPanel的bg,这有点棘手,在这种情况下,将鼠标悬停在标题上,其中handle事件将样式添加到内容面板(或内容面板)身体取决于你想要的,然后添加适当的样式给你css。

# css
my_style { background-color: yellow; }