GWT ScrollPanel组件

GWT ScrollPanel组件 介绍

ScrollPanel组件表示一个简单的面板封装在一个可滚动区域的内容。

GWT ScrollPanel组件 声明

以下是com.google.gwt.user.client.ui.ScrollPanel类的声明

public class ScrollPanel
   extends SimplePanel
      implements SourcesScrollEvents, HasScrollHandlers,
         RequiresResize, ProvidesResize

GWT ScrollPanel组件 构造方法

构造方法 描述
ScrollPanel() 构建一个新的 ScrollPanel。
ScrollPanel(Widget child) 使用给定的子小部件创建一个新的滚动面板。

GWT ScrollPanel组件 方法

方法 描述
HandlerRegistration addScrollHandler(ScrollHandler handler) 添加 ScrollEvent 处理程序。
void addScrollListener(ScrollListener listener) 已弃用。改用 addScrollHandler(com.google.gwt.event.dom.client.ScrollHandler)
void ensureVisible(UIObject item) 通过调整面板的滚动位置,确保指定的项目可见。
protected Element getContainerElement() 覆盖此方法以指定除根元素之外的元素作为面板子小部件的容器。
int getHorizontalScrollPosition() 获取水平滚动位置。
int getScrollPosition() 获取垂直滚动位置。
void onResize() 只要修改了实现者的大小,就必须调用此方法。
void removeScrollListener(ScrollListener listener) 已弃用。在 addScrollHandler(com.google.gwt.event.dom.client.ScrollHandler) 返回的对象上使用 HandlerRegistration.removeHandler() 方法代替
void scrollToBottom() 滚动到此面板的底部。
void scrollToLeft() 滚动到此面板的最左侧。
void scrollToRight() 滚动到此面板的最右侧。
void scrollToTop() 滚动到此面板的顶部。

GWT ScrollPanel组件 示例

1)修改HelloWorld.gwt.xml

<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.8.0//EN"
        "http://gwtproject.org/doctype/2.8.0/gwt-module.dtd">
<module rename-to="HelloWorld">

    <!-- Inherit the core Web Toolkit stuff.                  -->
    <inherits name='com.google.gwt.user.User'/>

    <!-- Inherit the default GWT style sheet.                       -->
    <inherits name = 'com.google.gwt.user.theme.clean.Clean'/>

    <!-- Specify the app entry point class.                   -->
    <entry-point class='com.yiidian.helloWorld.client.HelloWorld'/>


    <!-- Specify the app servlets.                   -->
    <servlet path='/HelloWorldService' class='com.yiidian.helloWorld.server.HelloWorldServiceImpl'/>

    <source path = 'client'/>
    <source path = 'shared'/>
</module>

2)修改HelloWorld.css

body {
    text-align: center;
    font-family: verdana, sans-serif;
}

h1 {
    font-size: 2em;
    font-weight: bold;
    color: #777777;
    margin: 40px 0px 70px;
    text-align: center;
}

3)修改HelloWorld.html

<html>
<head>
    <title>yiidian.com-GWT Hello World</title>
    <link type="text/css" rel="stylesheet" href="HelloWorld.css">
    <script type="text/javascript" language="javascript" src="HelloWorld/HelloWorld.nocache.js"></script>
</head>
<body>
<h1>ScrollPanel Widget Demonstration</h1>
<div id = "gwtContainer"></div>
</body>
</html>

4)HelloWorld.java

package com.yiidian.helloWorld.client;


import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.*;

/**
 * Entry point classes define <code>onModuleLoad()</code>
 */
public class HelloWorld implements EntryPoint {
    public void onModuleLoad() {
        // Create scrollable text
        HTML contents = new HTML("This is a ScrollPanel."
                +" By putting some fairly large contents in the middle"
                +" and setting its size explicitly, it becomes a scrollable area"
                +" within the page, but without requiring the use of an IFRAME."
                +" Here's quite a bit more meaningless text that will serve primarily"
                +" to make this thing scroll off the bottom of its visible area."
                +" Otherwise, you might have to make it really, really"
                +" small in order to see the nifty scroll bars!");

        //create scrollpanel with content
        ScrollPanel scrollPanel = new ScrollPanel(contents);
        scrollPanel.setSize("400px", "100px");

        DecoratorPanel decoratorPanel = new DecoratorPanel();

        decoratorPanel.add(scrollPanel);

        // Add the widgets to the root panel.
        RootPanel.get().add(decoratorPanel);
    }
}

运行应用程序,显示结果如下:

热门文章

优秀文章