GWT - Widget ScrollPanel

Introdução

o ScrollPanel widget representa um painel simples que envolve seu conteúdo em uma área rolável.

Declaração de Classe

A seguir está a declaração para com.google.gwt.user.client.ui.ScrollPanel classe -

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

Construtores de classe

Sr. Não. Construtor e descrição
1

ScrollPanel()

Cria um painel de rolagem vazio.

2

ScrollPanel(Widget child)

Cria um novo painel de rolagem com o widget filho fornecido.

Métodos de aula

Sr. Não. Nome e descrição da função
1

HandlerRegistration addScrollHandler(ScrollHandler handler)

Adiciona um manipulador ScrollEvent.

2

void addScrollListener(ScrollListener listener)

Descontinuada. Use addScrollHandler (com.google.gwt.event.dom.client.ScrollHandler) em vez disso

3

void ensureVisible(UIObject item)

Garante que o item especificado esteja visível, ajustando a posição de rolagem do painel.

4

protected Element getContainerElement()

Substitua este método para especificar que um elemento diferente do elemento raiz seja o contêiner para o widget filho do painel.

5

int getHorizontalScrollPosition()

Obtém a posição de rolagem horizontal.

6

int getScrollPosition()

Obtém a posição de rolagem vertical.

7

void onResize()

Este método deve ser chamado sempre que o tamanho do implementador for modificado.

8

void removeScrollListener(ScrollListener listener)

Descontinuada. Use o método HandlerRegistration.removeHandler () no objeto retornado por addScrollHandler (com.google.gwt.event.dom.client.ScrollHandler) em vez disso

9

void scrollToBottom()

Role até a parte inferior deste painel.

10

void scrollToLeft()

Role até a extremidade esquerda deste painel.

11

void scrollToRight()

Role até a extremidade direita deste painel.

12

void scrollToTop()

Role até o topo deste painel.

13

void setAlwaysShowScrollBars(boolean alwaysShow)

Define se este painel sempre mostra suas barras de rolagem ou apenas quando necessário.

14

void setHeight(java.lang.String height)

Define a altura do objeto.

15

void setHorizontalScrollPosition(int position)

Define a posição de rolagem horizontal.

16

void setScrollPosition(int position)

Define a posição de rolagem vertical.

17

void setSize(java.lang.String width, java.lang.String height)

Define o tamanho do objeto.

18

void setWidth(java.lang.String width)

Define a largura do objeto.

Métodos herdados

Esta classe herda métodos das seguintes classes -

  • com.google.gwt.user.client.ui.UIObject

  • com.google.gwt.user.client.ui.Widget

  • com.google.gwt.user.client.ui.Panel

  • com.google.gwt.user.client.ui.SimplePanel

  • java.lang.Object

Exemplo de widget ScrollPanel

Este exemplo o levará por etapas simples para mostrar o uso de um widget ScrollPanel no GWT. Siga as etapas a seguir para atualizar o aplicativo GWT que criamos no GWT - capítulo Criar aplicativo -

Degrau Descrição
1 Crie um projeto com o nome HelloWorld em um pacote com.tutorialspoint conforme explicado no capítulo GWT - Criar aplicativo .
2 Modifique HelloWorld.gwt.xml , HelloWorld.css , HelloWorld.html e HelloWorld.java conforme explicado abaixo. Mantenha o resto dos arquivos inalterados.
3 Compile e execute o aplicativo para verificar o resultado da lógica implementada.

A seguir está o conteúdo do descritor do módulo modificado src/com.tutorialspoint/HelloWorld.gwt.xml.

<?xml version = "1.0" encoding = "UTF-8"?>
<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.tutorialspoint.client.HelloWorld'/>

   <!-- Specify the paths for translatable code                    -->
   <source path = 'client'/>
   <source path = 'shared'/>

</module>

A seguir está o conteúdo do arquivo de folha de estilo modificado war/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;
}

A seguir está o conteúdo do arquivo host HTML modificado war/HelloWorld.html.

<html>
   <head>
      <title>Hello World</title>
      <link rel = "stylesheet" href = "HelloWorld.css"/>
      <script language = "javascript" src = "helloworld/helloworld.nocache.js">
      </script>
   </head>

   <body>
      <h1>ScrollPanel Widget Demonstration</h1>
      <div id = "gwtContainer"></div>
   </body>
</html>

Vamos ter o seguinte conteúdo do arquivo Java src/com.tutorialspoint/HelloWorld.java que demonstrará o uso do widget ScrollPanel.

package com.tutorialspoint.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.DecoratorPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.ScrollPanel;

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

Quando você estiver pronto com todas as alterações feitas, vamos compilar e rodar o aplicativo em modo de desenvolvimento como fizemos no capítulo GWT - Criar Aplicativo . Se tudo estiver bem com sua aplicação, isso produzirá o seguinte resultado -