Mudanças entre as edições de "RFWWindow"

De Wiki do Leitão
Ir para: navegação, pesquisa
 
Linha 41: Linha 41:
     // Crie seu componente de layout raiz e monte sua exibição
     // Crie seu componente de layout raiz e monte sua exibição
     VerticalLayout mainLayout = new VerticalLayout();
     VerticalLayout mainLayout = new VerticalLayout();
    mainLayout.setSizeFull();
     this.setContent(mainLayout); // Define o Layout principal como conteúdo da janela
     this.setContent(mainLayout); // Define o Layout principal como conteúdo da janela



Edição atual tal como às 15h50min de 31 de julho de 2023

Para o Vaadin, uma Window é uma janela flutuante na aplicação, como uma janela de Popup. Para o RFW, uma Window é uma "tela" da aplicação. Imagine uma aplicação que tenha telas de cadastro, telas de relatórios, telas de gráficos, etc.. Cada uma dessas telas é chamada de Window no RFW, e devem extender a classe RFWWindow.

Se essa tela será exibida em um popup flutuante (em uma Window do Vaadin) ou simplesmente será acoplado dentro do layout principal da aplicação, dependerá da sua aplicação.


Note 64.png
Ambos estendem Panel
Note que tanto a Window do Vaadin quando a RFWWindow estendem o mesmo componente Panel do Vaadin. Permitindo que sue conteúdo seja encaixado em qualquer parte de layout que seu sistema adote.


Métodos Abstratos

A RFWWindow tem alguns métodos abstratos que precisam ser implementados pela sua aplicação, e outros que podem ser sobrescritos. Por exemplo:


blur() e focus()

Estes métodos, como o nome sugerem podem ser chamados quando sua janela recebe ou perde o foco. Mas pode depender da sua implementação da RFWUI e RFWFrame.


getWindowIcon() e getWindowCaption() [abstract]

Este métodos foram idealizado para retornar o ícone e o título da janela para que o seu layout consiga criar "menus", "barras de tarefas" ou qualquer outro tipo de exibição sobre as janelas abertas.

Mesmo não utilizando o RFWFrame é recomendável aproveitar esses métodos para fornecer essa informação para outras partes do módulo.


Implementação

Para começar a implementação da janela, vamos começar com o seguinte código:


Java 256.png Implementação Inicial da RFWWindow
public class SuaWindow extends RFWWindow {

  public static final String CAPTION = "Sua Window";
  public static final String ICON = "icon/seuicon_24.png";

  public SuaWindow() {
    // Crie seu componente de layout raiz e monte sua exibição
    VerticalLayout mainLayout = new VerticalLayout();
    mainLayout.setSizeFull();
    this.setContent(mainLayout); // Define o Layout principal como conteúdo da janela

    // inclua o código da montagem da lógica da sua Janela aqui

  }

  @Override
  public String getWindowIcon() {
    return ICON;
  }

  @Override
  public String getWindowCaption() {
    return CAPTION;
  }
}