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 pordelaymilissegundos, com fade. Método estático (não se instanciaHint).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)— passarmessage == nulloculta a toast atual imediatamente.Hint.INFINITE— constanteInteger.MAX_VALUE: mantém visível (com fade-in) até você ocultar manualmente.Hint.INFINITE_NOANIM— constanteInteger.MIN_VALUE: mantém visível sem animação.
Configuração global (campos estáticos públicos):
Hint.backColor,Hint.foreColor,Hint.position(defaultRelative.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
MainWindowacima.
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étodohide(); para ocultar, chameHint.show(null, ...). A toast é renderizada por umaToastWindowinterna (subclasse deWindow) mostrada na pilha doEventsProcessor, então ela aparece sobre a tela atual sem você gerenciar nada.
Aprofunde-se
- Página do widget: Hint · Fonte canônica: Capítulo 16
- Diálogos modais irmãos: Confirmar com Alert · Menu de ações