Java: capturar horário, idioma e resolução de tela
Aprenda a coletar dados básicos do sistema, como o horário atual, o idioma e o tamanho da tela, usando apenas ferramentas nativas do Java. O código apresentado ajuda a criar aplicações mais inteligentes que se adaptam facilmente ao perfil de cada usuário.
Resumo
- O pacote java.time garante precisão e facilidade na manipulação de datas e horas em projetos modernos.
- A classe Locale permite identificar rapidamente o idioma e a região configurados no sistema operacional.
- O uso do Toolkit e da classe Dimension fornece as dimensões exatas da tela para ajustes visuais.
- Guardar temporariamente na memória as informações de tela evita gargalos de desempenho em programas instalados no computador.
- A adoção de classes específicas para fuso horário previne falhas de sincronização em sistemas distribuídos.
Introdução
Em aplicações Java, é comum precisar do horário do sistema, do idioma/localização e da resolução de tela para adaptar a experiência do usuário. Abaixo está um resumo prático usando APIs nativas, que são as ferramentas que já vêm prontas dentro da linguagem.
1. Horário do sistema (Java 8+)
import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;LocalDateTime agora = LocalDateTime.now();DateTimeFormatter fmt = DateTimeFormatter.ofPattern('dd/MM/yyyy HH:mm:ss');System.out.println(agora.format(fmt));2. Idioma e localização
import java.util.Locale;Locale locale = Locale.getDefault();System.out.println(locale.getLanguage());System.out.println(locale.getCountry());System.out.println(locale.getDisplayName());3. Resolução de tela
import java.awt.Toolkit;import java.awt.Dimension;Toolkit toolkit = Toolkit.getDefaultToolkit();Dimension size = toolkit.getScreenSize();System.out.println(size.width + 'x' + size.height);Exemplo completo (resumo)
import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import java.util.Locale;import java.awt.Toolkit;import java.awt.Dimension;LocalDateTime agora = LocalDateTime.now();Locale locale = Locale.getDefault();Dimension size = Toolkit.getDefaultToolkit().getScreenSize();System.out.println(agora.format(DateTimeFormatter.ofPattern('dd/MM/yyyy HH:mm:ss')));System.out.println(locale.getDisplayName());System.out.println(size.width + 'x' + size.height);Boas práticas
- Use
java.timeem projetos novos. - Em apps desktop, que são programas executados diretamente no computador, cacheie, ou seja, guarde temporariamente na memória, informações de tela.
- Para fuso horário, que indica a diferença de horas entre regiões do planeta, prefira
ZonedDateTime.
Conclusão
Com poucas linhas você consegue horário, idioma e resolução. Isso ajuda a criar apps mais adaptáveis e profissionais.