Skip to content

oblipix/WidgetClockAndData

Repository files navigation

⏰ Clock Widget

O Clock Widget é um widget de relógio e data moderno para Windows, desenvolvido em Java com JavaFX, projetado para oferecer uma experiência elegante e personalizável diretamente na sua área de trabalho. Com suporte a múltiplos temas, sistema de alarmes integrado e transparência ajustável, o Clock Widget proporciona uma interface amigável e recursos intuitivos para organizar seu tempo de forma eficiente.

Desenvolvido para ser leve e adaptável, o Clock Widget é ideal tanto para quem precisa de um relógio discreto na tela quanto para aqueles que desejam funcionalidades avançadas como lembretes e alarmes personalizados. Ele foi feito para ser fácil de usar, com arrastamento livre pela tela e personalização completa através de temas CSS elegantes.

Com a robustez do JavaFX, o Clock Widget garante uma aparência moderna e suave em qualquer configuração de sistema. Ele é especialmente útil para quem busca praticidade sem sacrificar o design, mantendo sempre à vista as informações essenciais: hora, data e dia da semana sincronizados com o sistema operacional.

Além disso, o Clock Widget pode ser personalizado com 7 temas visuais distintos (Preto, Azul, Verde, Roxo, Cyberpunk, Rosa e Glass), oferecendo uma solução prática e elegante para quem precisa de um widget de relógio eficiente e bonito na área de trabalho.


🎨 Prévia do Projeto

widgetclockanddata

🌐 Downloads

Versão Download
v1.0.0 - JAR ClockWidget.jar
v1.0.0 - Windows EXE ClockWidget.exe

Note

Requisitos do Sistema:

• Java 11 ou superior instalado no sistema

• Windows 7 ou superior (testado no Windows 10/11)

• 100 MB de espaço em disco (incluindo JavaFX)

• Resolução mínima: 1280x720

Para verificar sua versão do Java:

java -version

Se não tiver Java instalado, baixe em:


📚 Funcionalidades

Interface Elegante e Minimalista: Design moderno com gradientes suaves e efeitos visuais.

7 Temas Personalizáveis: Escolha entre Preto, Azul, Verde, Roxo, Cyberpunk, Rosa e Glass (vidro translúcido).

Sistema de Alarmes Integrado: Crie lembretes com data, hora e mensagem personalizada.

Sons Harmônicos: Alarmes com tons musicais suaves (acorde C5+E5) em vez de beeps irritantes.

Sincronização do Sistema: Relógio sempre sincronizado com o horário do Windows.

Transparência Ajustável: Controle de opacidade de 10% a 100% em incrementos de 10%.

Arrastar e Posicionar: Clique e arraste o widget para qualquer posição na tela.

Informações Integradas: Botão "ℹ" com créditos, instruções e link direto para o GitHub.

Persistência de Dados: Alarmes salvos automaticamente em arquivo local.

Multi-idioma: Interface em Português Brasileiro.


⚙️ Como Clonar e Executar este Projeto

Pré-requisitos:

Important

Git Logo Ter o Git instalado no seu computador. Se ainda não tiver, baixe e instale o Git.

Java Logo Ter o Java JDK 11+ instalado para compilar e executar o projeto.

JavaFX Logo O projeto inclui script de instalação automática do JavaFX SDK 22.0.2.

GitHub logo Uma conta no GitHub (opcional, mas recomendado).

Fork Icon Faça um Fork do repositório, assim nada será alterado do repositório original.

📄 Estrutura do Projeto

widgetClockAndData/
├── src/
│   └── main/
│       ├── java/com/widget/
│       │   ├── ClockWidget.java      # Aplicação principal
│       │   ├── AlarmManager.java     # Gerenciador de alarmes
│       │   ├── Alarm.java            # Modelo de alarme
│       │   ├── AlarmSound.java       # Gerador de sons
│       │   └── IconGenerator.java    # Gerador de ícones
│       └── resources/styles/
│           ├── icon/
│           │   ├── icon-256_1.ico    # Ícone principal (256x256)
│           │   └── icon-32.ico       # Ícone pequeno (32x32)
│           ├── theme-default.css     # Tema Preto (padrão)
│           ├── theme-blue.css        # Tema Azul
│           ├── theme-green.css       # Tema Verde
│           ├── theme-purple.css      # Tema Roxo
│           ├── theme-cyberpunk.css   # Tema Cyberpunk
│           ├── theme-pink.css        # Tema Rosa
│           └── theme-glass.css       # Tema Glass
├── javafx-sdk/                       # JavaFX SDK (auto-instalado)
├── bin/                              # Classes compiladas
├── build-complete.ps1                # Script de build completo
├── run-widget.ps1                    # Executar widget (PowerShell)
├── install-javafx.ps1                # Instalar JavaFX automaticamente
├── generate-icon.bat                 # Gerar ícones PNG
├── launch4j-config.xml               # Configuração Launch4j
└── ClockWidget.jar                   # JAR executável

🚀 Passos para Executar:

1. Clone o repositório:

git clone https://github.com/oblipix/widgetClockAndData.git
cd widgetClockAndData

2. Instale o JavaFX (se necessário):

powershell -ExecutionPolicy Bypass -File .\install-javafx.ps1

O script baixa e instala automaticamente o JavaFX SDK 22.0.2.

3. Execute o widget:

.\run-widget.ps1

Ou compile manualmente:

# Compilar
javac --module-path "javafx-sdk\javafx-sdk-22.0.2\lib" --add-modules javafx.controls,javafx.fxml -d bin src\main\java\com\widget\*.java

# Executar
java --module-path "javafx-sdk\javafx-sdk-22.0.2\lib" --add-modules javafx.controls,javafx.fxml -cp bin com.widget.ClockWidget

🎨 Temas Disponíveis

O Clock Widget oferece 7 temas com estilos distintos:

Tema Descrição Cores Principais
Preto (Padrão) Elegante e discreto Gradiente #18181b → #27272a
Azul Oceano profundo Gradiente #1e3a8a → #3b82f6
Verde Esmeralda vibrante Gradiente #059669 → #10b981
Roxo Místico e sofisticado Gradiente #7c3aed → #a78bfa
Cyberpunk Neon futurista Gradiente #ec4899 → #06b6d4
Rosa Vibrante e moderno Gradiente #db2777 → #f472b6
Glass Translúcido estilo vidro Transparência com blur

Para trocar de tema: Clique no botão (Configurações) → Temas → Selecione o tema desejado.


🔔 Sistema de Alarmes

Como criar um alarme:

  1. Clique no botão (Adicionar Alarme)
  2. Selecione a data no calendário
  3. Defina a hora e os minutos
  4. Digite a mensagem do lembrete
  5. Clique em Adicionar

Gerenciar alarmes:

  • Clique no botão Gerenciar Alarmes
  • Veja todos os alarmes ativos
  • Remova alarmes individualmente
  • Limpe alarmes já disparados

💾 Persistência de Dados dos Alarmes

O Clock Widget implementa um sistema automático de persistência que garante que seus alarmes nunca sejam perdidos, mesmo após fechar ou reiniciar o aplicativo.

📁 Onde os dados são armazenados?

Todos os alarmes são salvos localmente em um arquivo chamado alarms.dat, localizado na mesma pasta onde o widget está sendo executado. Por exemplo:

  • Se você executa ClockWidget.exe da pasta C:\MeusProgramas\, o arquivo ficará em C:\MeusProgramas\alarms.dat

🔄 Como funciona a persistência automática?

O sistema de persistência opera de forma completamente transparente, sem necessidade de intervenção do usuário:

Salvamento Automático acontece quando:

  • ✅ Você adiciona um novo alarme
  • ✅ Você remove um alarme
  • ✅ Um alarme dispara (é acionado)
  • ✅ O sistema limpa alarmes antigos (alarmes disparados há mais de 24 horas)

Carregamento Automático:

  • 🔃 Sempre que o widget é iniciado, todos os alarmes salvos são automaticamente restaurados
  • 🔃 Seus alarmes permanecem intactos entre execuções, mesmo após reiniciar o computador

🔒 Formato e Segurança

  • Formato: Serialização binária Java (ObjectOutputStream)
  • Confiabilidade: Sistema robusto com tratamento de erros
  • Portabilidade: O arquivo alarms.dat pode ser copiado para backup ou transferido para outro computador
  • Manutenção: Alarmes disparados há mais de 1 dia são automaticamente removidos para manter o arquivo limpo

💡 Dica

Se você quiser fazer backup dos seus alarmes, basta copiar o arquivo alarms.dat para um local seguro. Para restaurar, copie-o de volta para a pasta do widget antes de executá-lo.


🎵 Sons de Alarme

O Clock Widget utiliza sons harmônicos personalizados em vez de beeps irritantes:

  • Acorde musical: C5 + E5 (Dó e Mi em oitava alta)
  • Volume: 70% (ajustado para ser audível mas não agressivo)
  • Repetição: Loop contínuo até clicar em "OK"
  • Fallback: Beep do sistema caso o som personalizado falhe

🎯 Atalhos e Dicas

Ação Como fazer
Mover widget Clique e arraste em qualquer lugar do widget
Adicionar alarme Botão no topo direito
Trocar tema Botão → Temas
Ajustar transparência Botão → Transparência
Ver informações Botão no topo direito
Fechar widget Botão → Sair

🐛 Solução de Problemas

❌ Erro: "JavaFX runtime components are missing"

Solução: Execute install-javafx.ps1 para baixar o JavaFX SDK.

❌ Erro: "Java not found"

Solução: Instale o Java 11+ em Adoptium.net

❌ Widget não inicia / Tela preta

Solução: Verifique se a pasta javafx-sdk está presente e execute:

.\run-widget.ps1

❌ Temas não carregam

Solução: Copie os arquivos CSS manualmente:

Copy-Item src\main\resources\styles\*.css -Destination bin\styles\ -Force

❌ Alarmes não salvam

Solução: Certifique-se de que o diretório tem permissões de escrita. Execute como Administrador se necessário.


👩‍💻 Desenvolvido por

Maria Carolina

🔗 GitHub: github.com/oblipix

📧 Contato: Abra uma issue no GitHub


🤝 Contribuindo

Contribuições são bem-vindas! Para contribuir:

  1. Faça um Fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

📜 Licença

Este projeto está licenciado sob a MIT License.


⭐ Se você gostou deste projeto, deixe uma estrela!

© 2026 - Clock Widget | Desenvolvido com ❤️ em Java + JavaFX

About

Um widget de relógio e data moderno para Windows, feito em Java com JavaFX. Possui 7 temas visuais, sistema de alarmes com persistência automática, transparência ajustável, sons harmônicos e interface minimalista. Ideal para quem quer praticidade, personalização e lembretes na área de trabalho. Fácil de usar, leve e totalmente em português!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors