Você está aqui: Java ::: Classes e Componentes ::: JFormattedTextField

Validando uma entrada de data no formato 23/02/2006 usando JFormattedTextField e InputVerifier

Quantidade de visualizações: 9189 vezes
/*
 Este exemplo mostra como criar um 
 JFormattedTextField para a entrada de datas
 no formato 23/02/2006. Lembre-se de que, se
 a data não for válida, o formato de entrada
 passará na validação, enquanto o valor do
 campo voltará à data atual.
*/

import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
import java.util.*;
import java.text.*;

public class Estudos extends JFrame{
  JFormattedTextField data;  

  public Estudos(){
    super("Estudos Swing");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    DateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    DateFormatter df = new DateFormatter(formato);
    data = new JFormattedTextField(df);
    data.setValue(new Date());
    data.setInputVerifier(new MeuVerifier());
	
    // cria um botão
    JButton btn = new JButton("OK");		

    // Adiciona os controles à janela
    c.add(data);
    c.add(btn); 

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

// classe personalizada que permite verificar se
// a entrada é válida
class MeuVerifier extends InputVerifier{
  public boolean verify(JComponent input){
    if(input instanceof JFormattedTextField){
      JFormattedTextField ftf = (JFormattedTextField)input;
      JFormattedTextField.AbstractFormatter formatter = 
          ftf.getFormatter();
      if(formatter != null){
        String texto = ftf.getText();
        try{
          formatter.stringToValue(texto);
          JOptionPane.showMessageDialog(null, 
            "Formato válido. Parabéns!"); 
          return true;
        }
        catch(ParseException pe){
          JOptionPane.showMessageDialog(null, 
            "Formato inválido. Tente novamente.");
          ftf.setText("");
          ftf.requestFocus();
          return false;
        }
      }
    }
    return true;
  }
  
  public boolean shouldYieldFocus(JComponent input){
    return verify(input);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Tratamento de Erros ::: Erros de Tempo de Execução

Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do Java

Quantidade de visualizações: 16783 vezes
A exceção ClassCastException é um erro de tempo de execução que ocorre quando tentamos fazer um cast (coerção - conversão explícita) de uma classe para outra classe diferente desta ou que não seja uma superclasse desta. Em outras palavras, casts válidos para classes e interfaces devem seguir as regras abaixo:

1) Se NovoTipo é uma classe, a classe da expressão sendo convertida deve ser do tipo NovoTipo ou herdar de NovoTipo.
2) Se NovoTipo é uma interface, a classe da expressão sendo convertida deve implementar NovoTipo.

Considere 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[]){
    Object x = new Integer(0);
    System.out.println((String)x);
  }
}

Este código compila normalmente. Porém, ao ser executado, a seguinte mensagem de erro é exibida:

Exception in thread "main" 
java.lang.ClassCastException: java.lang.Integer 
cannot be cast to java.lang.String
  at Estudos.main(Estudos.java:4)


Esta mensagem nos informa que a classe Integer não pode sofrer um cast para String, uma vez que Integer não é e nem herda de String. Veja agora a nova versã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[]){
    Object x = new Integer(0);
    System.out.println((Integer)x);
  }
}

Veja que agora nós estamos fazendo o cast de uma referência Object para Integer. Embora Object não seja e nem herde de Integer, o sistema de tempo de execução sabe que x guarda atualmente uma referência a um Integer:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Object x = new Integer(0);



Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como verificar se um diretório já existe em Java usando o método exists() da classe File

Quantidade de visualizações: 14817 vezes
Em algumas situações nós precisamos verificar se um determinado diretório existe antes de efetuarmos alguma tarefa, talvez gravar um novo arquivo ou listar os arquivos contidos em um diretório. Para isso nós podemos o método exists() da classe File da linguagem Java. A classe File faz parte do pacote java.io.

A função exists() da classe File retorna um valor true se o diretório existir, e false em caso contrário. Veja um exemplo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;
 
import java.io.File;

public class Estudos{
  public static void main(String args[]){
    // Este exemplo mostra como verificar a existência de um
    // diretório usando Java
    File diretorio = new File("c:\\java");
        
    // vamos checar se o diretório existe
    if(diretorio.exists()){
      System.out.println("Diretorio ja existe no sistema");
    }
    else{
      System.out.println("Diretorio ainda nao existe no sistema");
    }
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

O diretório já existe no sistema.


Java ::: Dicas & Truques ::: Data e Hora

Como retornar a diferença de dias entre duas datas em Java - Datas e horas em Java

Quantidade de visualizações: 10054 vezes
Algumas vezes precisamos obter a diferença de dias entre duas datas em Java. Esta dica mostra como isso pode ser feito usando dois objetos da classe Date. Veja que usamos o método parse() da classe SimpleDateFormat para construir as duas datas e o método getTime() da classe Date para obter a quantidade de milisegundos desde 1º de janeiro de 1970 GMT armazenada em cada um dos objetos Date. O resto é um cálculo matemático bem simples:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import java.util.*;
import java.text.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    try{
      // constrói a primeira data
      DateFormat fm = new 
        SimpleDateFormat("dd/MM/yyyy");
      Date data1 = (Date)fm.parse("20/12/2019");
 
      // constrói a segunda data
      fm = new SimpleDateFormat("dd/MM/yyyy");
      Date data2 = (Date)fm.parse("25/01/2020");
 
      // vamos obter a diferença em dias
      long diff = data2.getTime() - 
        data1.getTime();
 
      // exibe o resultado
      System.out.println("Primeira data: " + data1.toString());
      System.out.println("Segunda data: " + data2.toString());
      System.out.println("Diferença em dias = "
        + diff / (1000 * 60 * 60 * 24));
    }
    catch(ParseException e){
      System.out.println("Erro: " + e.getMessage());
    }
  } 
}

Ao executarmos este código Java nós teremos o seguinte resultado:

Primeira data: Fri Dec 20 00:00:00 BRST 2019
Segunda data: Sat Jan 25 00:00:00 BRST 2020
Diferença em dias = 36


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 89 usuários muito felizes estudando em nosso site.