Neste tutorial será mostrado os passos para criação de formulário em java e conexão com  o banco de dados MySQL.

TELA DE LOGIN

Ferramentas

JDK – bibliotecas java para instalação da IDE http://www.oracle.com/technetwork/java/javase/downloads/index.html
Net Beans – IDE para desenvolvimento https://netbeans.org/downloads/


Banco de Dados MySQL – Base de dados

http://dev.mysql.com/downloads/mysql/

MySQL Connectors

http://dev.mysql.com/downloads/connector/

Ferramenta para gerenciamento do banco, criação de tabelas, rotinas, etc..

MySQL Workbench

http://dev.mysql.com/downloads/workbench/

ou

MySQL front http://www.mysqlfront.de/

Após o download e instalação dos aplicativos(não tem segredo, apenas avançar nas telas e confirmar instalação), vamos iniciar pela criação da base de dados e tabela de usuário.

Abrir o MySQL front ou MySQL Workbench e criar o banco de dados (java_testes) e a tabela (adm_usuario) para armazenar os usuários do sistema.

Abaixo a estrutura criada para uso no projeto.

# Structure for table “adm_usuario”

CREATE TABLE `adm_usuario` (
`NR_SEQUENCIA` int(7) NOT NULL AUTO_INCREMENT COMMENT ‘Codigo sequencial unico’,
`DT_CADASTRO` timestamp NOT NULL COMMENT ‘data do cadastro’,
`NM_USUARIO` varchar(110) NOT NULL DEFAULT ” COMMENT ‘Nome do usuário’,
`DS_USUARIO` varchar(25) NOT NULL COMMENT ‘login do usuario’,
`DS_SENHA` varchar(200) NOT NULL COMMENT ‘senha criptografada’,
`DS_EMAIL` varchar(120) NOT NULL COMMENT ‘E-mail do usuário’,
`IE_SITUACAO` enum(‘A’,’I’,’B’) NOT NULL COMMENT ‘indica a situação/status do usuário. A-Ativo, B-Bloquead, I-Inativo’,
PRIMARY KEY (`NR_SEQUENCIA`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

#
# Data for table “adm_usuario”
#

INSERT INTO `java_testes`.`adm_usuario` (`NR_SEQUENCIA`, `DT_CADASTRO`, `NM_USUARIO`, `DS_USUARIO`, `DS_SENHA`, `DS_EMAIL`, `IE_SITUACAO`) VALUES ('1', NOW(), 'Fabiano Bento', 'admin', '123465', 'email@email.com', 'A');

java-login-1

Abrir a IDE de desenvolvimento NetBeans e criar um novo projeto.

Em meu exemplo estou criando com o nome JavaAppTestes

Na sequencia criar um JFRAME, (clique com o botão direito do mouse)

java-login-2

java-login-3

java-login-4

java-login-5

Criando um evento para fechar a janela ao clicar no botão fechar.

Clique com o botão direito do mouse sobre (Cancelar), item eventos e selecione MouseClicked

java-login-6E digite o comando System.exit(0); , conforme abaixo.

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
System.exit(0);
}

Agora vamos editar a  classe principal para fazer a chamada automática do formulário de login em tela, e testar o botão de cancelar.

Classe principal

public class JavaAppTestes {

public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formLogin().setVisible(true);
/*Criando uma chamada do formulário*/
}
});
}

}

java-login-7

Pressione F6 para executar o projeto, se tudo ocorreu bem será aberto a tela de login e senha, ao clicar em cancelar a janela será fechada devido o evento criado nas etapas anteriores.

java-login-8

Fiz algumas melhorias no visual da tela de login, disponibilizando alguns dados que em meu conceito são essenciais em grande parte das aplicações, veja com ficou;

  • Espaço para logo
  • Nome do sistema
  • Versão do sistema
  • Dados da empresa
  • Contato Suporte

java-login-9

Com a parte visual pronta vamos fazer a programação.

Vamos fazer as consistências para criticar o preenchimento dos campos Usuário e Senha.
Primeiro iremos editar os campos de usuário e senha, clicando com o botão direito sobre eles, vá em propriedades e em seguida na aba código. Altere os nomes para form_usuario(JTextField ) e form_senha para o campo de senha(JPasswordField )(imagem abaixo).

form_usuario

java-login-10

form_Senha

java-login-12

Feito os ajustes vamos criar um IF para validar o preenchimento dos campos de usuário e senha (veja abaixo.)

if ((form_usuario.getText().isEmpty()) || (form_senha.getText().isEmpty())) {
JOptionPane.showMessageDialog(null, “Preencha o campo Usuário e Senha”);
}

java-login-13

Teremos o comando IF para verificar se os campos foram preenchidos, e um ELSE para seguirmos com a validação.

Para validar o preenchimento, execute o sistema e clique no botão entrar

Arquivo do projeto até o momento

Javasapptestes-1 (Download)

Atenção: Devido a um falha no blog o restante do artigo não estava aparecendo, mas foi corrigido!

Agora vamos a etapa de configurar a conexão.

É necessário baixar e configurar o MySQL Conector Java https://dev.mysql.com/downloads/connector/j/

https://mvnrepository.com/artifact/mysql/mysql-connector-java

Nas versões mais recentes você pode adicionar a dependência, editando o arquivo pom.XML

    <dependencies>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.10</version>
</dependency>

  </dependencies>

Crie uma nova classe no projeto com o nome ConexaoBanco

Clique com botão direito do mouse no pacote principal escolha Novo >> Classe Java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class ConexaoBanco {

String urlbanco = “jdbc:mysql://127.0.0.1/java_testes”;
String usuariobanco = “root”;
String senhabanco = “”;

public static void Conectar() {

try {
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
conexao = DriverManager.getConnection(urlbanco, usuariobanco, senhabanco);

stmt = con.createStatement();

} catch (ClassNotFoundException ex) {

JOptionPane.showMessageDialog(null, “Classe não encontrada, verifique o driver/bibliotecas.”);

Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
} catch(SQLException e) {
JOptionPane.showMessageDialog(null, “Erro na conexão!”,”ERRO”,
JOptionPane.ERROR_MESSAGE, null);

}
}

}

Quando compilar a aplicação caso tenha o ERRO

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’.
The driver is automatically registered via the SPI and manual loading of
the driver class is generally unnecessary.SQLException:
The server time zone value ‘Hora oficial do Brasil’
is unrecognized or represents more than one time zone.
You must configure either the server or JDBC driver
(via the ‘serverTimezone’ configuration property) to use a
more specifc time zone value if you want to utilize time zone support.SQLState: 01S00

Para resolver acesse o link;

http://blog.fabianobento.com.br/2021/06/como-ajustar-o-fuso-horario-ou-timezone-no-mysql/

18 Thoughts on “NetBeans IDE 8.0.2 – Criação de formulário em JAVA com conexão em banco de dados MySQL

  1. Mixinge on 5 de agosto de 2016 at 07:17 said:

    Gostaria saber como criar um banco de dados no workbench sem antes usar o mysql com o netbeans.

    ex: no exercício de criação da tela de login criou-se primeiro a base de dados através do comando SQL e gostaria de saber o contrario porfavor…

  2. No workbench você tem a opção de importar um arquivo .sql

  3. Cade o resto? tem continuação?

  4. Obrigada pelo artigo, me ajudou muito! #Gratidão =)

  5. Relder on 29 de maio de 2017 at 18:46 said:

    Fabiano uma vez criado e pronto o projeto eu preciso compilar ou algo do tipo para eu poder abrir no navegador ?

  6. Como eu faria para; ao tentar inserir um novo registro no banco o sistema não permita caso já exista dados cadastrados? Exemplo: estou fazendo um planejamento de aulas e ao tentar cadastrar aquela aula naquela data o sistema permita ou não o cadastro. *o formulário está pronto. o DAO e o model estão prontos. o banco já está pronto e recebendo os dados e etc.

    • Renato, você precisa validar se o registro já não existe no banco de dados, ou seja, você poderia fazer um select na tabela verificando se já existe a aula cadastrada para a mesma data.
      Uma forma de minimizar a tentativa de inclusões pelo usuário, seria já dispor na tela do sistema os registros de aula que já estão cadastrados, e um botão(NOVO), onde a pessoa clicaria para cadastrar as próximas aulas.

  7. Luiz Carlos on 30 de novembro de 2017 at 09:47 said:

    Bom dia, Gostaria de saber onde está o resto do projeto.

  8. Kamile Campos on 8 de março de 2018 at 16:52 said:

    Eu queria saber como posso fazer para juntar HTML, Java e Mysql.
    Html para fazer a interface, Java para fazer a programação e Mysql para o banco de dados. Por favor me ajudem!!!!!!!

  9. if ((form_usuario.getText().isEmpty()) || (form_senha.getText().isEmpty())) {
    JOptionPane.showMessageDialog(null, “Preencha o campo Usuário e Senha”);
    }

    Esta parte não consegui inserir, daqui em diante não deu mais certo.

  10. Marcos Gomes Da Silva on 10 de maio de 2019 at 09:04 said:

    Olá, meu nome é Marcos, estou atualmente fazendo uma graduação em análise e desenvolvimento de sistemas, e meu mestre pediu uma tarefa onde ele pede que seja feito um formulário de cadastro com a parte que seja feito todos os dados dos alunos no preenchimento desse formulário e os dados pessoais dos professores e funções acadêmicas , tudo isso feito em Java e ligado ao banco de dados e em jframe..mais estou com bastante dificuldade na elaboração, pois não sei muito sobre o desenvolvimento Java..e não encontrei nenhum tutorial de como fazer isso no passo a passo até deixar tudo rodando.. alguém poderia me ajudar ou me auxiliar nesse trabalho?

  11. Estou encontrando erro ao criar a tabela no MySQL 8. Não sei o por que. Não testei em versões anteriores.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Post Navigation