Pular para o conteúdo
CrossFly é 100% open sourceSiga no GitHub
CrossFlyCrossFly
Começar

Como mostrar um Hint (toast)

Propósito. Mostrar uma mensagem curta e temporária (estilo “toast”) que aparece sobre a tela, não bloqueia a interação e desaparece sozinha após um tempo. Use para confirmações rápidas (“Salvo”, “Copiado”), avisos leves e status. Substitui o antigo conceito de Toast.

APIs usadas

  • Hint.show(String message, int delay) — mostra a toast por delay milissegundos, com fade. Método estático (não se instancia Hint).
  • Hint.show(message, delay, Window parentWindow) — mesma coisa, ancorada em uma janela específica (default: a janela topo da pilha).
  • Hint.show(message, delay, parentWindow, Relative at, Gap innerGap) — controle total de posição vertical e padding interno.
  • Hint.show(null, delay) — passar message == null oculta a toast atual imediatamente.
  • Hint.INFINITE — constante Integer.MAX_VALUE: mantém visível (com fade-in) até você ocultar manualmente.
  • Hint.INFINITE_NOANIM — constante Integer.MIN_VALUE: mantém visível sem animação.

Configuração global (campos estáticos públicos): Hint.backColor, Hint.foreColor, Hint.position (default Relative.ofScreen(0.85f), perto do rodapé), Hint.fade, Hint.font. Alterar esses campos afeta todas as toasts seguintes.

Exemplo completo (copiar, colar e rodar)

package com.exemplo;

import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;

/** Tela principal executável. Aponte o launcher (classname) e rode: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
   @Override
   public void onShow() throws Exception
   {
      super.onShow();
      setLayout(new VerticalLayout());

      // Um botão que dispara a toast ao ser tocado
      Button btn = new Button("Salvar");
      btn.onAction(origin ->
      {
         // Toast simples: aparece por 2 segundos e some com fade
         Hint.show("Registro salvo", 2000);
      });
      add(LAY_FILL, btn);
   }
}

O trecho abaixo mostra só o miolo. Para rodar, coloque-o no esqueleto MainWindow acima.

Trecho mínimo

// Toast simples: aparece por 2 segundos e some com fade
Hint.show("Registro salvo", 2000);

// Toast infinita (fica na tela até você mandar sumir)
Hint.show("Sincronizando...", Hint.INFINITE);
// ...quando terminar:
Hint.show(null, 0);   // message == null oculta a toast atual

// Posição no topo, com padding interno customizado
Hint.show("No topo", 1500, null, Relative.START, Gap.ofFont(1f, 0.5f, 1f, 0.5f));

Nota de verificação (código 2026). A assinatura real na fonte é Hint.show(String, int) e sobrecargas — não existe um método hide(); para ocultar, chame Hint.show(null, ...). A toast é renderizada por uma ToastWindow interna (subclasse de Window) mostrada na pilha do EventsProcessor, então ela aparece sobre a tela atual sem você gerenciar nada.

Aprofunde-se

Esta página foi útil?