Zoom

Este guia mostra como trabalhar com a API de Zoom.

O JxBrowser permite ampliar o conteúdo de uma página Web ou de todas as páginas Web, receber notificações quando o nível de zoom de uma página Web tiver sido alterado, substituir o nível de zoom padrão, etc.

Para trabalhar com o zoom global que será aplicado a todas as páginas da web, utilize a classe ZoomLevels. Uma instância desta classe que pode ser obtida a partir de Profile. Por exemplo:

ZoomLevels zoomLevels = profile.zoomLevels();
val zoomLevels = profile.zoomLevels()

Se você utilizar Engine.zoomLevels() então obterá a instância ZoomLevels associada ao perfil padrão.

Para controlar o zoom de uma página web carregada em uma instância do Browser utilize a classe Zoom.

Nível de Zoom Padrão

O nível de zoom padrão para todas as páginas Web é de 100%. Para alterar o nível de zoom padrão, utilize o método ZoomLevels.defaultLevel(ZoomLevel).

O código seguinte define o nível de zoom padrão para todas as páginas Web como 150%:

zoomLevels.defaultLevel(ZoomLevel.P_150);
zoomLevels.defaultLevel(ZoomLevel.P_150)

Controlando o Zoom

É possível ampliar o conteúdo de uma página web carregada no Browser programaticamente utilizando a classe Zoom ou utilizando gestos de toque em ambientes com tela tátil.

O nível de zoom é configurado separadamente para cada anfitrião. Se definir um nível de zoom para a página Web http://www.a.com, este não será alterado para a página Web http://www.b.com.

Para alterar o nível de zoom, é necessário aguardar até a página Web estar completamente carregada.

Ampliar

Para ampliar o zoom de uma página Web atualmente carregada, utilize o seguinte método:

zoom.in();
zoom.in()

Reduzir o Zoom

Para aumentar o zoom numa página Web atualmente carregada, utilize o seguinte método:

zoom.out();
zoom.out()

Definir o Nível de Zoom

O código seguinte define o nível de zoom da página Web carregada para 200%:

zoom.level(ZoomLevel.P_200);
zoom.level(ZoomLevel.P_200)

Resetando o Zoom

Para resetar o nível de zoom para o valor padrão utilize o seguinte código:

zoom.reset();
zoom.reset()

Desativar o Zoom

Você pode desabilitar o zoom para todas as páginas web carregadas em um Browser utilizando o método Zoom.disable(). Este método desativa a funcionalidade de zoom e reseta o nível de zoom no valor padrão. Depois disso, todas as tentativas de alterar o nível de zoom de forma programática através da API de zoom do JxBrowser e utilizando gestos táteis num dispositivo de tela tátil serão ignoradas.

Por exemplo:

zoom.disable();
zoom.disable()

Eventos de Zoom

Para receber notificações quando o nível de zoom de uma determinada página da Web tiver sido alterado, use o evento ZoomLevelChanged. Por exemplo:

zoomLevels.on(ZoomLevelChanged.class, event -> {
    Host host = event.host();
    ZoomLevel zoomLevel = event.level();
});
zoomLevels.on(ZoomLevelChanged::class.java) { event ->
    val host = event.host()
    val zoomLevel = event.level()
}

Pinch para Ampliar

Atualmente, o JxBrowser não suporta o zoom através de um gesto de pinch-to-zoom do trackpad no macOS.

Go Top