Alguem tem um algoritimo de bloqueio mensal para java swing

Boa tarde a todos

Alguem tem um exemplo de algoritimo de bloqueio mensal para java desktop swing

eu uso um mas nao bate, as vezes bloqueia antes ou depois

Seja um pouco mais claro, você deseja bloquear o que?

Se colocar o algoritmo que você utiliza muito provavelmente a gente te ajuda a arrumar o problema dele.

login

if (rs.next()) {
String perfil = rs.getString(16);
if (perfil.equals(“1”)) {
PreparedStatement pstm = conexao.prepareStatement(vencimento);
rss = pstm.executeQuery();
rss.last();

	    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
	    Date hoje = new Date();
	    String dataAtual = df.format(hoje);
	    //System.out.println(hoje);
	    String dataSistema = rss.getString("datavenc");

	    int diaAt, mesAt, anoAt, diaVenc, mesVenc, anoVenc;

/*
diaAt = Integer.parseInt(dataAtual.substring(0,1));
mesAt = Integer.parseInt(dataAtual.substring(3,4));
anoAt = Integer.parseInt(dataAtual.substring(6,7)+dataAtual.substring(8,9));
//System.out.println(dataAtual);
System.out.println(diaAt);

	    diaVenc = Integer.parseInt(dataSistema.substring(0,1));
	    mesVenc = Integer.parseInt(dataSistema.substring(2,3));
	    anoVenc = Integer.parseInt(dataSistema.substring(4,5)+dataSistema.substring(6,7));		    
	    System.out.println(dataSistema);  */

	    
	    diaAt = Integer.parseInt("" + dataAtual.charAt(0) + dataAtual.charAt(1));
	    mesAt = Integer.parseInt("" + dataAtual.charAt(3) + dataAtual.charAt(4));
	    anoAt = Integer.parseInt("" + dataAtual.charAt(6) + dataAtual.charAt(7) + dataAtual.charAt(8) + dataAtual.charAt(9));
	   
	    
	    diaVenc = Integer.parseInt("" + dataSistema.charAt(0) + dataSistema.charAt(1));
	    mesVenc = Integer.parseInt("" + dataSistema.charAt(2) + dataSistema.charAt(3));
	    anoVenc = Integer.parseInt("" + dataSistema.charAt(4) + dataSistema.charAt(5) + dataSistema.charAt(6) + dataSistema.charAt(7)); 

	    //((diaAt <= diaVenc) && (mesAt <= mesVenc) && (anoAt <= anoVenc)) {
	    if ((diaAt <= diaVenc) || (mesAt <= mesVenc) && (anoAt == anoVenc)) {
		TelaInicial inicial = new TelaInicial(jtUsuario.getName());
		inicial.setVisible(true);
		UsuarioLogado.getInstance().setNome(jtUsuario.getText());
		dispose();
		TelaInicial.jMenuItemCadastroProdutos.setEnabled(true);
		TelaInicial.jMenuItemConsultaProdutos.setEnabled(true);
		TelaInicial.jMenuItemCadastroFornecedores.setEnabled(true);
		TelaInicial.jMenuItemConsultaFornecedores.setEnabled(true);
		TelaInicial.jMenuItemCadastraUsuarios.setEnabled(true);
		TelaInicial.jMenuItemConsultaUsuarios.setEnabled(true);
		TelaInicial.jMenuItemRelProdutos.setEnabled(true);
		TelaInicial.jMenuItemRelClientes.setEnabled(true);
		TelaInicial.jMenuItemRelFinanceiro.setEnabled(true);
		TelaInicial.jMenuItemRelVendas.setEnabled(true);
		TelaInicial.jButtonProduto.setEnabled(true);
		TelaInicial.jButtonUsuario.setEnabled(true);
		TelaInicial.jButton7.setEnabled(true);

		TelaInicial.jLabelUser.setText(rs.getString(12));
		TelaInicial.jLabelUser.setForeground(Color.RED);

		this.dispose();
		conexao.close();
	    } else {
		ValidaSistema valida = new ValidaSistema();
		//jdInterno.add(valida);
		valida.setVisible(true);
	    }

	} else {
	    /*
	    TelaInicial.jLabelUser.setText(rs.getString(12));
	    this.dispose();
	    conexao.close();*/

	    TelaInicial inicial = new TelaInicial(jtUsuario.getName());
	    inicial.setVisible(true);

	    TelaInicial.jLabelUser.setText(rs.getString(12));
	    UsuarioLogado.getInstance().setNome(jtUsuario.getText());
	    this.dispose();
	    conexao.close();
	}

    } else {
	JOptionPane.showMessageDialog(null, "Usuário ou senha inválidos, tente novamente.");
	jtUsuario.requestFocus();
	jtSenha.setText(null);
    }
} catch (Exception error) {
    //JOptionPane.showMessageDialog(null, "Ocorreu um grande erro ao conectar ao banco de dados - " + error);
    System.out.println("Ocorreu um grande erro ao conectar ao banco de dados - " + error);
}
}

Controle Validacao

package br.com.bloqueio;

import br.com.conexao.ConnectionFactory;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;

/**
*

  • @author DELL
    */
    public class ControleValidacao {

    ConnectionFactory conecta = new ConnectionFactory();
    PreparedStatement pstm = null;
    ResultSet rs = null;

    String vencimento = “select * from vencimento”;
    int valida;

    public void valida(String senha) {
    Connection conexao = ConnectionFactory.getConexao();
    try {
    PreparedStatement pstm = conexao.prepareStatement(vencimento);
    rs = pstm.executeQuery();
    rs.last();
    valida = Integer.parseInt(rs.getString(“datavenc”));
    int operacao = (valida + 132)/4;

     int senhaValidacao = Integer.parseInt(senha);
     if (operacao == senhaValidacao) {
     int dia, mes, ano;
     String AcertaDia, AcertaMes, ProxSenha;
    
     SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
     Date hoje = new Date();
     String data = df.format(hoje);
    
     char[] senhachar = data.toCharArray();
     dia = Integer.parseInt("" + senhachar[0] + senhachar[1]);
     mes = Integer.parseInt("" + senhachar[3] + senhachar[4]);
     ano = Integer.parseInt("" + senhachar[6] + senhachar[7] + senhachar[8] + senhachar[9]);
     //System.out.println(""+dia);
     //JOptionPane.showMessageDialog(null, "" + dia);
     //JOptionPane.showMessageDialog(null, "Validou");
    
     if (mes < 12) {
         mes++;
         if (mes < 10) {
     	AcertaMes = "0" + mes;
         } else {
     	AcertaMes = "" + mes;
         }
     } else {
         mes = 1;
         ano++;
         AcertaMes = "0" + mes;
     }
     if (dia < 10) {
         AcertaDia = "0" + dia;
     } else {
         AcertaDia = "" + dia;
     }
     ProxSenha = AcertaDia + AcertaMes + ano;
     PreparedStatement pst = conexao.prepareStatement("insert into vencimento(datavenc) values (?)");
     pst.setString(1, ProxSenha);
     pst.execute();
    
     //JOptionPane.showMessageDialog(null, "Validou");
     //JOptionPane.showMessageDialog(null, valida);
     } else {
     JOptionPane.showMessageDialog(null, "Senha errada");
     }
    

    } catch (Exception ex) {
    JOptionPane.showMessageDialog(null, " Erro ao validar! :\nERRO" + ex);
    }

    ConnectionFactory.fecharConexao();

    }
    }

existe mais códigos, de encapsulamento mas o mais importante são esses.