Você está aqui: Java ::: Dicas & Truques ::: Timers |
Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabelQuantidade de visualizações: 16967 vezes |
Este exemplo mostra como criar uma janela JFrame contendo dois botões JButton, um label JLabel e um timer (java.awt.Timer). Quando o timer dispara, o texto da label é atualizado para refletir a hora atual. Veja o resultado na imagem abaixo: E aqui está o código Java Swing completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Calendar; import java.text.DecimalFormat; public class Estudos extends JFrame{ JLabel hora; Timer timer; DecimalFormat formato; public Estudos() { super("Usando timers em Java"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); formato = new DecimalFormat("00"); // Cria o timer timer = new Timer(1000, new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ atualizarHoras(); } }); // Cria um botão com o texto "Iniciar" JButton iniciar = new JButton("Iniciar"); iniciar.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ timer.start(); // inicia o timer } } ); // Cria um botão com o texto "Parar" JButton parar = new JButton("Parar"); parar.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ timer.stop(); // pára o timer } } ); // JLabel que exibirá a hora atual hora = new JLabel("00:00:00"); // Adiciona os botões à janela c.add(iniciar); c.add(parar); // adiciona o label à janela c.add(hora); setSize(350, 250); setVisible(true); } private void atualizarHoras(){ // Cria uma instância de Calendar Calendar agora = Calendar.getInstance(); // horas, minutos e segundos int horas = agora.get(Calendar.HOUR); int minutos = agora.get(Calendar.MINUTE); int segundos = agora.get(Calendar.SECOND); hora.setText(formato.format(horas) + ":" + formato.format(minutos) + ":" + formato.format(segundos)); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando a linguagem Java - Fórmula de juros compostos em Java - RevisadoQuantidade de visualizações: 20643 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e, portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Assim, após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código Java para a resolução: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ double principal = 2000.00; double taxa = 0.03; int meses = 3; double montante = principal * Math.pow((1 + taxa), meses); double juros = montante - principal; System.out.println("O total de juros a ser pago é: " + juros); System.out.println("O montante a ser pago é: " + montante); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: O total de juros a ser pago é: 185.45400000000018 O montante a ser pago é: 2185.454 É claro que uma formatação para moeda deixaria os valores mais bonitos. Uma outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ double principal = 2000.00; double taxa = 0.03; int meses = 3; double anterior = 0.0; for(int i = 1; i <= meses; i++){ double montante = principal * Math.pow((1 + taxa), i); double juros = montante - principal - anterior; anterior += juros; System.out.println("Mês: " + i + " - Montante: " + montante + " - Juros: " + juros); } System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Mês: 1 - Montante: 2060.0 - Juros: 60.0 Mês: 2 - Montante: 2121.7999999999997 - Juros: 61.79999999999973 Mês: 3 - Montante: 2185.454 - Juros: 63.65400000000045 Esta dica foi revisada e testada no Java 8. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posiçãoQuantidade de visualizações: 422 vezes |
Pergunta/Tarefa: Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posição do maior número inteiro. Você deverá informar tanto a linha quanto a coluna que o maior valor é encontrado. Uma matriz bidimensional 2 x 4 quer dizer que a matriz possui 2 linhas e 4 colunas. Seu programa Java deverá exibir uma saída parecida com: Valor da linha 1 e coluna 1: 6 Valor da linha 1 e coluna 2: 9 Valor da linha 1 e coluna 3: 11 Valor da linha 1 e coluna 4: 5 Valor da linha 2 e coluna 1: 20 Valor da linha 2 e coluna 2: 63 Valor da linha 2 e coluna 3: 31 Valor da linha 2 e coluna 4: 7 Valores na matriz 6 9 11 5 20 63 31 7 O maior valor é 63 Ele foi encontrado na linha 2 e coluna 2 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // variaveis usdas na resolução do problema int matriz[][] = new int[2][4]; int maior_valor, linha, coluna; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler os valores e colocar na matriz for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.print("Valor da linha " + (i + 1) + " e coluna " + (j + 1) + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } System.out.println(); } // vamos mostrar a matriz da forma que ela foi informada System.out.println("\nValores na matriz\n"); for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.printf("%5d", matriz[i][j]); } // passa para a próxima linha da matriz System.out.println(); } // agora vamos localizar o maior valor na matriz linha = 0; coluna = 0; maior_valor = matriz[linha][coluna]; for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas if(matriz[i][j] > maior_valor){ maior_valor = matriz[i][j]; linha = i + 1; coluna = j + 1; } } } // vamos mostrar o resultado System.out.println("\nO maior valor é " + maior_valor); System.out.println("Ele foi encontrado na linha " + linha + " e coluna " + coluna); } } |
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como obter o caractere da tecla pressionada usando o método getKeyChar() da classe KeyEvent do JavaQuantidade de visualizações: 3000 vezes |
Em algumas situações nós precisamos obter o caractere da tecla pressionada em nossas aplicações Java Swing. Para isso podemos usar o método getKeyChar() da classe KeyEvent. Veja sua assinatura:public char getKeyChar() O retorno do método é um char representando o caractere associado à tecla "digitada" (pressionada e liberada). Veja um trecho de código no qual temos uma janela JFrame que implementa a interface KeyListener e reage ao evento keyTyped() mostrando a letra digitada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Janela extends JFrame implements KeyListener{ public Janela(){ super("Eventos do Teclado"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); // vamos adicionar o objeto listener addKeyListener(this); setSize(350, 250); setVisible(true); } @Override public void keyPressed(KeyEvent e){ // sem implementação } @Override public void keyReleased(KeyEvent e){ // sem implementação } @Override public void keyTyped(KeyEvent e){ // vamos obter o caractere que foi digitado char letra = e.getKeyChar(); // mostra o caractere digitado JOptionPane.showMessageDialog(null, "O caractere pressionado foi: " + letra); } public static void main(String args[]){ Janela j = new Janela(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } É importante observar que o valor retornado pelo método getKeyChar() só possui sentido quando usado com eventos KEY_TYPED, uma vez que o caractere não é exibido quando o método é usado com os eventos KEY_PRESSED e KEY_RELEASED. Note ainda que a tecla Shift pode ser usada durante este evento. Assim, se combinarmos Shift + "s", o retorno será "S". Este método retorna o valor da constante KeyEvent.CHAR_UNDEFINED se um caractere Unicode válido não existir para o evento de "digitação" da tecla. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |