Quantcast
Channel: Java - GUJ
Viewing all 14696 articles
Browse latest View live

Problema ao inserir no BD - Column 'nome' cannot be null

$
0
0

@tiago93 escreveu:

Sou iniciante, e estou quebrando a cabeça com isto faz uns 3 dias:
não estou conseguindo fazer a inserção no bd, retorna que o “nome” está “nulo”, mas não vejo onde estou errando, alguem pode me ajudar?

‘’'package cadastro.entidades;

public class Cliente {
private Long id;
private String nome;
private String cpf;
private String email;
private String telefone;
private String endereco;

public Cliente() {
}

public Cliente(Long id, String nome, String cpf, String email, String telefone, String endereco) {
    this.id = id;
    this.nome = nome;
    this.cpf = cpf;
    this.email = email;
    this.telefone = telefone;
    this.endereco = endereco;
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getCpf() {
    return cpf;
}

public void setCpf(String cpf) {
    this.cpf = cpf;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

public String getEndereco() {
    return endereco;
}

public void setEndereco(String endereco) {
    this.endereco = endereco;
}

}’’’

‘’'package cadastro.dao;

import cadastro.conexao.ConnectionFactory;
import cadastro.entidades.Cliente;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class ClienteDao {

private Connection connection;

public ClienteDao(){
    this.connection = new ConnectionFactory().getConnection();
}

public void adicionar(Cliente cliente){
    
    String sql = "INSERT INTO cliente (nome, cpf, email, telefone, endereco) VALUES (?, ?, ? ,? ,?)";
    
    try{
        PreparedStatement stmt = connection.prepareStatement(sql);
        
        
        stmt.setString(1, cliente.getNome());
        stmt.setString(2, cliente.getCpf());
        stmt.setString(3, cliente.getEmail());
        stmt.setString(4, cliente.getTelefone());
        stmt.setString(5, cliente.getEndereco());
        
        stmt.execute();
        stmt.close();
       
    }
    catch(SQLException e){
        throw new RuntimeException(e);
        
    }
}

}’’’

‘’'package cadastro.telas;

import cadastro.dao.ClienteDao;
import cadastro.entidades.Cliente;

public class TelaCadastroJfrm extends javax.swing.JFrame {

public TelaCadastroJfrm() {
    initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    btnCadastrar = new javax.swing.JButton();
    lblNome = new javax.swing.JLabel();
    lblCpf = new javax.swing.JLabel();
    jScrollPane2 = new javax.swing.JScrollPane();
    txtCpf = new javax.swing.JTextPane();
    lblEmail = new javax.swing.JLabel();
    jScrollPane3 = new javax.swing.JScrollPane();
    txtEmail = new javax.swing.JTextPane();
    lblTelefone = new javax.swing.JLabel();
    jScrollPane4 = new javax.swing.JScrollPane();
    txtTelefone = new javax.swing.JTextPane();
    lblEndereco = new javax.swing.JLabel();
    jScrollPane5 = new javax.swing.JScrollPane();
    txtEndereco = new javax.swing.JTextPane();
    jScrollPane6 = new javax.swing.JScrollPane();
    txtNome = new javax.swing.JTextPane();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setMaximumSize(new java.awt.Dimension(900, 600));
    setMinimumSize(new java.awt.Dimension(900, 600));
    setPreferredSize(new java.awt.Dimension(900, 600));
    setResizable(false);

    btnCadastrar.setText("CADASTRAR");
    btnCadastrar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btnCadastrarActionPerformed(evt);
        }
    });

    lblNome.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblNome.setText("NOME");

    lblCpf.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblCpf.setText("CPF");

    jScrollPane2.setViewportView(txtCpf);

    lblEmail.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblEmail.setText("EMAIL");

    jScrollPane3.setViewportView(txtEmail);

    lblTelefone.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblTelefone.setText("TELEFONE");

    jScrollPane4.setViewportView(txtTelefone);

    lblEndereco.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblEndereco.setText("ENDERECO");

    jScrollPane5.setViewportView(txtEndereco);

    jScrollPane6.setViewportView(txtNome);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(31, 31, 31)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(lblEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 83, Short.MAX_VALUE)
                    .addComponent(btnCadastrar, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(38, 38, 38))
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(lblTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(lblEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(lblCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                    .addComponent(lblNome, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jScrollPane6)))))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addGap(137, 137, 137)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(lblNome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 27, Short.MAX_VALUE))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jScrollPane2)
                .addComponent(lblCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jScrollPane3)
                .addComponent(lblEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jScrollPane4)
                .addComponent(lblTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 19, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(btnCadastrar, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane5)
                    .addComponent(lblEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)))
            .addGap(61, 61, 61))
    );

    lblNome.getAccessibleContext().setAccessibleName("Nome");

    pack();
}// </editor-fold>                        

private void btnCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                             
    Cliente cliente = new Cliente();
			if (btnCadastrar.isSelected())
			{
		
				cliente.setNome(txtNome.getText());
				cliente.setCpf(txtCpf.getText());
				cliente.setEmail(txtEmail.getText());
				cliente.setTelefone(txtTelefone.getText());
				cliente.setEndereco(txtEndereco.getText());
                                   
			}
			new ClienteDao().adicionar(cliente);
}                                            


public static void main(String args[]) {

    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new TelaCadastroJfrm().setVisible(true);
        }
    });
}

// Variables declaration - do not modify                     
private javax.swing.JButton btnCadastrar;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JLabel lblCpf;
private javax.swing.JLabel lblEmail;
private javax.swing.JLabel lblEndereco;
private javax.swing.JLabel lblNome;
private javax.swing.JLabel lblTelefone;
private javax.swing.JTextPane txtCpf;
private javax.swing.JTextPane txtEmail;
private javax.swing.JTextPane txtEndereco;
private javax.swing.JTextPane txtNome;
private javax.swing.JTextPane txtTelefone;
// End of variables declaration                   

}’’’

o programa deve pegar os dados e gravar no banco ao clicar no btnCadastrar.

Agradeço desde já!

Mensagens: 8

Participantes: 2

Ler tópico completo


Download de arquivo de texto

$
0
0

@Leo_Alemao6492 escreveu:

Olá pessoal, estou com dificuldade no código abaixo, preciso baixar um arquivo de texto e salvar em uma pasta, porém ele esta dando erro, alguem sabe como resolver?
OBS: o link é um exemplo!
`
public class downloadArquivo {

public static void main(String[] args) {
    
    gravaArquivoDeURL("http://teste.com.br/arquivo.txt", "C:\\pasta");
}
public static File gravaArquivoDeURL(String stringUrl, String pathLocal) {
  
    try {

        URL url = new URL(stringUrl);
        String nomeArquivoLocal = url.getPath();
 
        InputStream is = url.openStream();
        FileOutputStream fos = new FileOutputStream(pathLocal + nomeArquivoLocal);
       
        int umByte = 0;
        while ((umByte = is.read()) != -1) {
            fos.write(umByte);
        } 
        is.close();
        fos.close();
    } catch (Exception ex) {
        new arquivoLog("Erro Exception: " + ex);
        System.out.println(ex);
        JOptionPane.showMessageDialog(null, "Erro ao fazer o download do arquivo!");
    }
    return null;
}

}

Erro:
java.io.IOException: Server returned HTTP response code: 403 for URL: http://teste.com.br/arquivo.txt
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1838)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
at java.net.URL.openStream(URL.java:1038)

Mensagens: 2

Participantes: 2

Ler tópico completo

Vagas em Barueri

$
0
0

@ssansone escreveu:

Bom dia pessoal! Tudo certo? Não sei se é permitido postar vagas aqui, me avisem caso contrário!

Sou Gerente de Negócios na Stefanini e temos algumas oportunidades novas!

Estou com diversas vagas para desenvolvedores JAVA aqui em Barueri, Alphaville.

Por favor, entrem em contato direto comigo caso tenha interesse: ssansone@stefanini.com

Obrigado!

Mensagens: 1

Participantes: 1

Ler tópico completo

[Resolvido]Como deixar somente duas casa apos a Virgula Double

$
0
0

@jeankarlos escreveu:

Eu estou usando o seguinte código porem ele funciona em partes quando o campo tem mais de 2 casa decimais ele diminui mais quando termina em .0 ele tira o .0 e eu quero que fique todos com duas casas decimais.

DecimalFormat df = new DecimalFormat("0.##");
String dx = df.format(o.getTempo_padrao());

Os valores estão asim:
image
E ficam asim:
image

Mensagens: 6

Participantes: 3

Ler tópico completo

Ordem dos Cursos da Alura

$
0
0

@muttley escreveu:

Pessoal , qual a ordem dos cursos de java para assistir ?

Já assistir estes:
Java I: Primeiros passos
Java parte 1: Primeiros passos
Java II: Orientação a Objetos
Java parte 2: Introdução à Orientação a Objetos
Java parte 3: Entendendo herança e interface
Java parte 4: Entendendo exceções

Fico antecipadamente agradecido

Mensagens: 2

Participantes: 2

Ler tópico completo

Vaga - Desenvolvedor JAVA Sênior - Oportunidade para Fintech BEBLUE

$
0
0

@Tatiane_Beblue escreveu:

Pessoal, Boa Tarde!
Procuro um desenvolvedor Java Sênior, para atuar em Ribeirão Preto/SP.

Responsabilidades
Desenvolvedor responsável pela evolução da plataforma PDV da Beblue. Isso envolve: decisões arquiteturais evoluindo a plataforma em resiliência e escalabilidade, programação de funcionalidades, refatorações, correções de bugs, coaching e liderança técnica dos programadores Java da equipe.

Tecnologias utilizadas:
Java 8
Ecosistema Spring: Spring Boot, Actuator, Consul Discovery, Feign, Sleuth, Spring Cloud Stream Rabbit, JDBC, JPA, Hibernate, Web, Spring Cloud AWS Autoconfigure, Liquibase
PostgreSQL
Redis
RabbitMQ
Docker
Git
Microserviços Java em containers na infraestrutura AWS

Requisitos:
*Experiência com JAVA 8, microserviços JAVA e Spring.
*Será um diferencial ter experiência com:
Continuous deployment (Bitbucket Pipelines, Jenkins, …)
*Ferramentas de monitoria como Sentry e New Relic
*Desenvolvimento de coberturas de testes automatizados
*RESIDIR NA REGIÃO DE RIBEIRÃO PRETO/SP OU TER DISPONIBILIDADE PARA MUDANÇA.

Interessados, por gentileza encaminhar CV para: tatiane.lima@beblue.com.br e mencionar no assunto do e-mail: JAVA.

Mensagens: 2

Participantes: 2

Ler tópico completo

Configuração de Dois Banco de Dados na Aplicação - ApplicationProperties

$
0
0

@josemarsabino escreveu:

Bom dia a todos.
Pessoal estou precisando saber se tem como ter duas conexões com banco de dados diferentes no mesmo projeto.

Motivo : Um banco de dados é Firebird onde eu vou gravar alguns dados, e o outro é um MySql que é onde eu faço uma consulta específica.

A conexão com o banco de dados Firebird já tenho conforme abaixo dentro do arquivo AplicationProperties. Alguém teria ideia de como fazer para configurar a outra conexão com o banco de dados Mysql ?

Conexao com Firebird :

image

Mensagens: 3

Participantes: 3

Ler tópico completo

[Resolvido]Evento quando clicar tecla TAB no jtext

$
0
0

@jeankarlos escreveu:

Eu estou usando o seguinte código mais não quer entrar no evento.

private void txt_Nome_ColaboradorKeyPressed(java.awt.event.KeyEvent evt) {                                                
        // TODO add your handling code here:
        if (evt.getKeyCode() == KeyEvent.VK_TAB) {
            System.out.println("aaaaa");
        }
    }

Mensagens: 18

Participantes: 4

Ler tópico completo


Dúvida na compilação

$
0
0

@MrGabriel15 escreveu:

package repeticaowhile;

import java.util.Scanner;

public class RepeticaoWhile {

public static void main(String[] args) {
    Scanner teclado = new Scanner(System.in);
    int contador = 0;
    
    
    System.out.print("CADASTRAR SIM = 1 NÃO = 0: ");
    contador = teclado.nextInt();
        
    while(contador!=0){
        System.out.println("NOME: ");
        String nome = teclado.nextLine();
        
        System.out.print("\nIDADE: ");
        int idade = teclado.nextInt();
        
        System.out.print("TELEFONE: ");
        int telefone = teclado.nextInt();
        
        System.out.print("\nADICIONAR MAIS UM CONTADO SIM = 1 NÃO = 0: ");
        contador = teclado.nextInt();
        
    }
}

}

bom pessoal nesse meu código, quando eu coloco ele pra rodar eu n consigo colocar o nome ele pula logo pra idade e n consigo digitar meu nome alguma solução?

obs: estou começando a pouco tempo a programar em java, estou usando o netbeans.

Mensagens: 5

Participantes: 3

Ler tópico completo

[RESOLVIDO] Extends

$
0
0

@ENGENHEIRO_DE_SOFTWA escreveu:

Tem uma aula do professor que ele utiliza “Extends JFrame”, ele estende um JFrame pelo que entendo, mas estende de uma classe que possui o JFrame existente?
Segue o código…

Em quais casos utilizo?

package pacotelogico;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class tela extends JFrame {
private JLabel lblTitulo = null;
private JLabel lblNome = null;
private JLabel lblEmail = null;
private JLabel lblSexo = null;
private JLabel lblSenha = null;
private JLabel lblEstiloLeitura = null;
private JLabel lblTimeFutebol = null;
private JTextField txtNome = null;
private JTextField txtEmail = null;

}

Mensagens: 2

Participantes: 2

Ler tópico completo

Conversão de vetores bidimensionais

$
0
0

@Renato_Lucas escreveu:

Bom, eu estou a muito tempo tentando entender porque meu código esta dando errado, vamos ao codigo:

for (int i = 0; i < fim.length; i++) {
for (int j=0;j<fim[0].length;j++){
fim[i][j]= Character.getNumericValue(par[i][j]);
}
}

Fim = uma matriz de valores inteiros 4x4 ;
par = uma matriz de valores char 4x4.

No código estou tentando converter para inteiro os valores de par, e guardando em fim. O provável motivo do erro é que par vem de outra matriz char 3x3, eu precisava expandi-la, e adicionar novos valores, então criei uma maior, em seguida tentei converter os char para inteiro.
porem o valor das bordas inferior e direita vem tudo bugado, provavelmente por causa dessa diferença de 3x3 e 4x4, não sei se fui bem claro, mas aqui vai o código inteiro pra entender melhor:

public static void main(String[] args) {
Scanner s = new Scanner(System.in);
char matriz [][] = new char [3][3];
char par [][] = new char [4][4];
int fim[][] = new int [4][4];

   String bin;
   System.out.println("digite uma sequencia de 9 digitos em binario: ");
   bin=s.next();

   //System.out.println(bin);
   
   // converte o int em String e cria um array de chars com base na String
   char[] digitos = String.valueOf( bin ).toCharArray();

   // matriz com os dados
   int cont = 0;
   for(int i = 0;i< matriz.length;i++){
       for(int j=0;j<matriz[0].length;j++){
           
           matriz[i][j] = digitos [cont];
           cont++;
       }    
   }
   
   // Só testando pra ver se a matriz ta saindo ok
   //Esta ok
    System.out.println("matriz: ");
     for (int i = 0; i < matriz.length; i++) {
         for (int j = 0; j < matriz.length; j++) {
             System.out.print(matriz[i][j]);
         }
         System.out.println(" ");
    }
    
    // Transferindo bits para uma matriz maior
    for(int i = 0;i< matriz.length;i++){
       for(int j=0;j<matriz[0].length;j++){
           
           par[i][j]=matriz[i][j];
          
       }    
   }
    //Só estanto pra ver se a par ta saindo ok
    //Esta ok
    System.out.println("Par: ");
     for (int i = 0; i < par.length; i++) {
         for (int j = 0; j < par.length; j++) {
             System.out.print(par[i][j]);
         }
         System.out.println(" ");
    }

    
    //Conversão do vetor para inteiro
    for (int i = 0; i < fim.length; i++) {
        for (int j=0;j<fim[0].length;j++){
	fim[i][j]= Character.getNumericValue(par[i][j]);
     }
    }
    //Só estanto pra ver se a fim ta saindo ok
    // ERROR
    System.out.println("fim: ");
     for (int i = 0; i < fim.length; i++) {
         for (int j = 0; j < fim.length; j++) {
             System.out.print(fim[i][j]);
         }
         System.out.println(" ");
    }

    
    // checar linhas
    for(int i=0;i<2;i++){
    // Adicionando bits de paridade
    
         if(fim[i][0] + fim[i][1] + fim[i][2] == 0)
    fim[i][3] = 1;
    else if(fim[i][0] + fim[i][1] + fim[i][2] == 1)
    fim[i][3] = 0;
    else if(fim[i][0] + fim[i][1] + fim[i][2] == 2)
    fim[i][3] = 1;
    else if(fim[i][0] + fim[i][1] + fim[i][2] == 3)
    fim[i][3] = 0;
    }
    
    // checar colunas
    for(int j=0;j<2;j++){
    // Adicionando bits de paridade
    
    if(fim[0][j] + fim[1][j] + fim[2][j] == 0)
    fim[j][3] = 1;
    else if(fim[0][j] + fim[1][j] + fim[2][j] == 1)
    fim[j][3] = 0;
    else if(fim[0][j] + fim[1][j] + fim[2][j] == 2)
    fim[j][3] = 1;
    else if(fim[0][j] + fim[1][j] + fim[2][j] == 3)
    fim[j][3] = 0;
    }

    System.out.println(imprimir(fim));

    //Impressão com bits
    //for(int i = 0;i< matriz.length;i++){
     //  for(int j=0;j<matriz[0].length;j++){
           
     //      System.out.print(par[i][j]);
          
     //  }    
     //   System.out.println(" ");
 //  }
    
}



//Teste de paridade
public static String imprimir (int x[][]){
    String saida = "";
    System.out.println();
    System.out.println("Com bits de paridade:\n");

for (int i = 0; i < x.length; i++) {
for (int j = 0; j < x[0].length; j++) {
saida = saida + x[i][j] ; //imprime caracter a caracter
}
saida = saida +"\n"; //muda de linha
}

return saida ;

}

Mensagens: 1

Participantes: 1

Ler tópico completo

MultiSpanTable

Porque frameworks Java front-end não são populares?

$
0
0

@ThiagoMuralha escreveu:

Usei alguns frameworks web front-end como Vue, e estou estudando React agora. Mas porquê os frameworks que dominam o front-end são em JavaScript?
Conheço 2 frameworks front-end Java bons, Vaadin e Wicket. Fiz um projeto com Wicket e achei interessante, mesmo não sendo processado no lado do cliente, possui um desempenho bom e fluidez na navegação e também é baseado em componentes. Vaadin possui integração com Vue Angular React e outros, componentes ricos e curva de aprendizado baixa.
Trago esta discussão para responder: porque estes frameworks estão a sombra do React, Vue e Angular?
Todos frameworks citados são robustos e atendem a maioria das necessidades web, pequeno médio e grande porte. Porque o front-end com Java é pouco popular?

OBS: Não considero apenas estrelas do github, mas projetos usando essas tecnologias e envolvimento da comunidade, que é pouco. Pesquisei antes a respeito no GUJ e encontrei perguntas similares que tinham respostas como “JSF e Vaadin estão fora de cogitação”, minha pergunta é o por quê disso. (Desconsiderem o JSF porquê este está defasado, considerem Vaadin e Apache Wicket).

Mensagens: 3

Participantes: 3

Ler tópico completo

Banco de dados para TableModel

$
0
0

@RDev escreveu:

Boa noite galera,
estou implementando um Table usando AbstractTableModel, até então tudo ok. Ele está abrindo normal.

No entanto não estou conseguindo pegar os dados da tabela do banco de dados e adicionar no TABLE.
Minha Classe clienteDao*

public ArrayList buscarClientes(){

  String sql = "select * from cliente";
  Statement stm = null;
  ResultSet rs = null;
  cliente c = new cliente();
  try {
  stm = con.createStatement();
                rs = stm.executeQuery(sql);
                
                while (rs.next())
                {
                    
                    c.setIdCliente(rs.getInt("idCliente"));
                    c.setNome(rs.getString("nome"));
                    c.setSobrenome(rs.getString("sobrenome"));
                    c.setCnpjCpf(rs.getString("cnpjCpf"));
                    c.setnInsEst(rs.getString("nInsEst"));
                    c.setnFazenda(rs.getString("nFazenda"));
                    c.setEndereco(rs.getString("endereco"));
                    c.setTelefone(rs.getString("telefone"));
                    
                    
                    listClient.add(c);
                }

                con.close();
                                 
                
            } catch (Exception e) {
}
  
      return listClient;
    
}
` private ArrayList<cliente> listClient;

Minha classe que Herda o AbstractTableModel:

public class tmCliente extends AbstractTableModel{

private ArrayList<cliente> listCliente;
private String[] colunas = {"Nome","Sobrenome","CNPJ/CPF","Insc Estadual","Fazenda","Endereço","Telefone"};

@Override
public String getColumnName(int column) {
    return colunas[column]; //To change body of generated methods, choose Tools | Templates.
}

public tmCliente() {
    listCliente = new ArrayList<>();
}

public void addCliente(ArrayList c){
    this.listCliente.addAll(c);
    fireTableDataChanged();
}

public cliente getCliente(int rowIndex){
    return listCliente.get(rowIndex);
}

@Override
public int getRowCount() {
    return listCliente.size();
}


@Override
public int getColumnCount() {
  return colunas.length;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
    
    switch (columnIndex){
        case 0:
            return listCliente.get(rowIndex).getNome();
            
        case 1:
            return listCliente.get(rowIndex).getSobrenome();
            
        case 2:
            return listCliente.get(rowIndex).getCnpjCpf();
            
        case 3:
            return listCliente.get(rowIndex).getnInsEst();
            
        case 4:
            return listCliente.get(rowIndex).getnFazenda();
            
        case 5:
            return listCliente.get(rowIndex).getEndereco();
            
        case 6:
            return listCliente.get(rowIndex).getTelefone();

        default:
            return null;
            
    }
    
}

}

Este Código eu executo na inicialização do meu JDialog que está com minha Table.

clienteDao c = new clienteDao();

ArrayList ar = c.buscarClientes();
tmClient.addCliente(ar)

Uma parte do ERRO:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.util.ArrayList.addAll(ArrayList.java:581)
at model.tmCliente.addCliente(tmCliente.java:31)
at pag.test.jdSearcCliente.consultar(jdSearcCliente.java:115)
at pag.test.jdSearcCliente.(jdSearcCliente.java:27)

Se puderem me ajudar com este erro agradeço.

Mensagens: 4

Participantes: 2

Ler tópico completo

Erro JAVAFX

$
0
0

@Gabriele_Santos escreveu:

Meu código roda, porém quando clico em “Arquivo” ele dá o seguinte erro:

CONTROLLERCADASTROAUTOR

package sample.control;

import javafx.fxml.FXML;
import javafx.scene.control.DatePicker;
import sample.model.Autor;
import javafx.scene.control.TextField;

import java.time.LocalDate;

public class ControllerJanelaCadastroAutor {

@FXML
private TextField tfAutorNome;

@FXML
private TextField tfAutorCidade;

@FXML
private DatePicker dpAutorData;

public Autor processResult(){
    String nome = tfAutorNome.getText();
    String cidade = tfAutorCidade.getText();
    LocalDate data = dpAutorData.getValue();

    Autor a = new Autor(nome,cidade,data);

    return a;
}

}

CONTROLLERJANELAPRINCIPAL

package sample.control;

import javafx.fxml.FXMLLoader;
import javafx.scene.control.ButtonType;
import javafx.fxml.FXML;
import javafx.scene.control.Dialog;
import javafx.scene.control.ListView;
import javafx.scene.text.Text;
import sample.model.Autor;
import sample.model.ControleColecao;
import java.io.IOException;
import java.util.Optional;

public class ControllerJanelaPrincipal {

@FXML
private ListView<Autor> ltvAutores;

@FXML
private Text txAutorNome;

@FXML
private Text txAutorCidade;

@FXML
private Text txAutorData;

public void initialize(){
    atualizaListaAutores();
}

private void atualizaListaAutores(){
    ltvAutores.getItems().clear();

    for(Autor a:ControleColecao.getInstance().listaAutores()){
        ltvAutores.getItems().add(a);
    }
}

@FXML
private void mostraDetalhesAutor(){
    Autor a = ltvAutores.getSelectionModel().getSelectedItem();

    if(a!=null){
        txAutorNome.setText(a.getNome());
        txAutorData.setText(a.getDataOrigem().toString());
        txAutorCidade.setText(a.getCidadeOrigem());

    }
}

@FXML
private void cadastraAutor(){
    Dialog<ButtonType> dialog = new Dialog<>();
    dialog.setTitle("Cadastro de Autor");

    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(getClass().getResource("..view/JanelaCadastroAutor.fxml"));

    try{
        dialog.getDialogPane().setContent(loader.load());
        dialog.getDialogPane().getButtonTypes().add(ButtonType.OK);
        dialog.getDialogPane().getButtonTypes().add(ButtonType.CANCEL);

        Optional<ButtonType> res = dialog.showAndWait();

        if(res.isPresent() && res.get() == ButtonType.OK){
            ControllerJanelaCadastroAutor controler = loader.getController();

            Autor a = controler.processResult();

            ControleColecao.getInstance().addAutor(a);
            atualizaListaAutores();
        }

    }catch (IOException e){
        e.printStackTrace();
    }
}

}

JANELACADASTROAUTOR

<?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.text.Text?>

<content>
    <GridPane hgap="10" vgap="10">
        <Text text="Nome"
              GridPane.columnIndex="0"
              GridPane.rowIndex="0"/>
        <TextField fx:id="tfAutorNome"
                   GridPane.columnIndex="1"
                   GridPane.rowIndex="0"/>

        <Text text="Cidade"
              GridPane.columnIndex="0"
              GridPane.rowIndex="1"/>
        <TextField fx:id="tfAutorCidade"
                   GridPane.columnIndex="1"
                   GridPane.rowIndex="1"/>

        <Text text="Data"
              GridPane.columnIndex="0"
              GridPane.rowIndex="2"/>
        <DatePicker fx:id="dpAutorData"
                    GridPane.columnIndex="1"
                    GridPane.rowIndex="2"/>

    </GridPane>
</content>

JANELAPRINCIPAL

<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.text.Text?>

<top>
    <MenuBar>
        <menus>
            <Menu text="Arquivo">
                <items>
                    <MenuItem text="Cadastra Autor"
                              onAction="#cadastraAutor"/>
                    <MenuItem text="Sair"/>
                </items>
            </Menu>
        </menus>
    </MenuBar>
</top>

<center>
    <GridPane>
        <HBox GridPane.columnIndex="0"
              GridPane.rowIndex="0">
            <ListView fx:id="ltvAutores"
                      onMouseClicked="#mostraDetalhesAutor"/>
            <VBox>
                <Text fx:id="txAutorNome" text="Nome:"/>
                <Text fx:id="txAutorCidade" text="Cidade:"/>
                <Text fx:id="txAutorData" text="Data:"/>
            </VBox>
        </HBox>
    </GridPane>
</center>

AUTOR

package sample.model;

import java.io.Serializable;
import java.time.LocalDate;

public class Autor implements Serializable {

private String nome;
private String cidadeOrigem;
private LocalDate dataOrigem;

public Autor(String nome, String cidadeOrigem, LocalDate dataOrigem) {
    this.nome = nome;
    this.cidadeOrigem = cidadeOrigem;
    this.dataOrigem = dataOrigem;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getCidadeOrigem() {
    return cidadeOrigem;
}

public void setCidadeOrigem(String cidadeOrigem) {
    this.cidadeOrigem = cidadeOrigem;
}

public LocalDate getDataOrigem() {
    return dataOrigem;
}

public void setDataOrigem(LocalDate dataOrigem) {
    this.dataOrigem = dataOrigem;
}

}

CONTROLECOLECAO

package sample.model;

import java.io.*;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

public class ControleColecao {

private static String ARQ_TXT="colecao.txt";
private static String ARQ_BIN="colecao.bin";

private ArrayList<Autor> listaAutores;

private static  ControleColecao instance;

private ControleColecao() {
    listaAutores = new ArrayList<>();
}

public static  ControleColecao getInstance(){
    if(instance == null){
        instance = new ControleColecao();
    }
    return instance;
}

public int addAutor(Autor a){
    if(buscaAutor(a.getNome())==null){
        listaAutores.add(a);
        return 1;
    }
    return -1;
}

public Autor buscaAutor(String nome){
    for(Autor a:listaAutores){
        if(a.getNome().equals(nome)){
            return a;
        }
    }
    return  null;
}

public List<Autor> listaAutores(){
    return listaAutores;
}

public void salvaTXT() throws IOException{

    File f = new File(ARQ_TXT);
    FileWriter fw = new FileWriter(f);
    BufferedWriter bw = new BufferedWriter(fw);

    bw.write("Autores:"+listaAutores.size()+"\n");
    for (Autor a:listaAutores){
        bw.write(a.getNome()+";"+a.getCidadeOrigem()+";"+a.getDataOrigem());
        bw.write("\n");
    }
    bw.close();
    fw.close();
}

public void leTXT() throws IOException{
    listaAutores.clear(); //para garantir que não aja ninguém no arraylist

    File f = new File(ARQ_TXT);
    FileReader fr = new FileReader(f);
    BufferedReader br = new BufferedReader(fr);

    String linha = br.readLine();
    int nAutores = Integer.valueOf(linha.split(":")[1]);
    while(nAutores>0){
        linha=br.readLine();
        String[] tokens=linha.split(";");

        String nome = tokens[0];
        String cidade = tokens[1];
        LocalDate origem = LocalDate.parse(tokens[2]);

        Autor a = new Autor(nome, cidade, origem);
        addAutor(a);
        nAutores--;
    }

    br.close();
    fr.close();
}

public void salvaBIN() throws IOException{
    File f = new File(ARQ_BIN);
    FileOutputStream fo = new FileOutputStream(f);
    ObjectOutputStream oos = new ObjectOutputStream(fo);

    oos.writeObject(listaAutores);

    oos.close();
    fo.close();
}

public void leBIN() throws IOException{
    File f = new File(ARQ_BIN);
    FileInputStream fi = new FileInputStream(f);
    ObjectInputStream ois = new ObjectInputStream(fi);
}

}

MAIN

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import sample.model.ControleColecao;

import java.io.IOException;

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("view/JanelaPrincipal.fxml"));
    primaryStage.setTitle("Hello World");
    primaryStage.setScene(new Scene(root, 300, 275));
    primaryStage.show();
}

@Override
public void init(){
    try{
        ControleColecao.getInstance().leBIN();
    }catch (IOException e){
        System.out.println("Arquivo não encontrado!! Primeira execução???");
    }
}

@Override
public void stop(){
    try{
        ControleColecao.getInstance().salvaBIN();
    }catch(IOException e){
        System.out.println("Problema com amarzenamento!!"+e.getMessage());
    }
}

public static void main(String[] args) {
    launch(args);
}

}

Mensagens: 6

Participantes: 3

Ler tópico completo


Criar Atalho da Aplicação via Código Java

$
0
0

@Mywork_Com escreveu:

Um probleminha mala que faz a gente que é hobbista quebrar a cabeça é a criação de atalho de nossa aplicação via código.

Como normalmente criamos pequenas aplicações e precisamos criar na unha nossos “instaladores”, muitas vezes é preciso de uma rotina que crie o atalho facilitando a vida dos usuários.

Consegui após muita pesquisa desenvolver o código a seguir:

Você vai precisar importar a biblioteca jshortcut-0.4-oberzalek.jar que está disponível no link:

[https://github.com/jimmc/jshortcut/downloads]

private void CriarAtalho() {

        //indique o caminho do arquivo executavel (.jar) onde sua aplicação está sendo instalada
        //Eu utilizei o System.getProperty pra capturar automaticamente
        String localPath = System.getProperty("user.dir" + "\\aplicacao.jar");

    String desktop = JShellLink.getDirectory("desktop");
    JShellLink shortcut = new JShellLink();
    shortcut.setPath(localPath);
    shortcut.setFolder(desktop);
        //Indique o nome para o atalho
    shortcut.setName("Nome do atalho");
        //indique um icone para o atalho. Eu utilizei um icone da pasta de instalacao
    shortcut.setIconLocation(localPath +"\\iconearma.ico");
    shortcut.setIconIndex(0);
    shortcut.save();
        JOptionPane.showMessageDialog(this, "Atalho criado com sucesso!", "Atenção!", 1);
}

Espero ter ajudado!

Paulo

Mensagens: 2

Participantes: 2

Ler tópico completo

JPA retorno ordenado do lado Many de uma entidade @OneToMany usando @OrderBy

$
0
0

@Murilo_Medeiros escreveu:

Bom dia á todos. Tenho a seguinte entidade Cliente que possui Pedidos, a relação entre clientes e pedidos está mapeada Cliente @OneToMany e Pedidos @ManyToOne. O que preciso é que a lista de Pedidos dos Clientes venha ordenada por “Pedido.id”… Apos algumas pesquisas descobri que devo usar @OrderBy, o problema é que nao estou sabendo utilizá-lo! Segue o código

@Entity
@Table
public class Cliente implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@Id
	@Email
	@NotEmpty
	private String email;
	
	@OneToMany(mappedBy ="cliente",cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
	@OrderBy("cliente.Pedido.id ASC")
	private List<Pedido> pedidos;

@Entity
@Table
public class Pedido implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id_pedido")
	private Long id;
	
	@ManyToOne(fetch = FetchType.LAZY)
	private Cliente cliente;

Visto isso, como deve ser minha anotação @OrderBy para que quando eu puxe os clientes, os pedidos venham ordenados por id?

Obrigado desde já!

Mensagens: 2

Participantes: 2

Ler tópico completo

JRadioButton não está atuando. Me ajudem por favor!

$
0
0

@PapaiLu escreveu:

Olá. Não estou conseguindo resolver 03 JRadioButtons. Cada um deles deve fazer a seleção JPanel com layouts específicos (numero de botoes). Mas não estão atuando. Eis os codigos.

public JPanel quadro01 = new JPanel();
public JPanel quadro02 = new JPanel();
public JPanel quadro03 = new JPanel();
public JPanel quadro04 = new JPanel();

public JRadioButton rd1 = new JRadioButton("08 Botões", true);     //08
public JRadioButton rd2 = new JRadioButton("16 Botões", false);;   //16
public JRadioButton rd3 = new JRadioButton("32 Botões", false);;   //32

class Evento implements ActionListener {
public void actionPerformed(ActionEvent e) {
String atuar = e.getActionCommand();
switch(atuar) {
case “rd_01”: Quadro08(); break;
case “rd_02”: Quadro16(); break;
case “rd_03”: Quadro32(); break;
} } }

Os quadros que deveriam ser mostrados a cada seleção nos rdX são semelhantes a este.

public void Quadro08() {
quadro04.setLayout(new GridLayout(2,2));
quadro04.add(botao01);
quadro04.add(botao02);
quadro04.add(botao03);
quadro04.add(botao04);
quadro04.add(botao05);
quadro04.add(botao06);
quadro04.add(botao07);
quadro04.add(botao08);
}

Obrigado.

Mensagens: 5

Participantes: 3

Ler tópico completo

If com atributos do banco

$
0
0

@Gabriel_Fernando1 escreveu:

Boa tarde ! Tenho uma aplicação em que preciso fazer um update no banco após uma ação(click no botão) .

Tenho esse atributo na classe carga

private String serie;

E um igual na classe material

private String serie;
private String status;

Ambos estão em formulário diferentes, caso a serie digitada no fomulário de carga seja igual a que está gravada na da tabela de material, preciso que o valor do status mude para “ocupado”, estou usando um DAO para fazer minhas querys, alguém me ajuda ?

também estou usando JSF E PRIMEFACES, caso os framework tenham algo que ajude nisso, me avisem por favor, tenham uma ótima tarde.

Mensagens: 4

Participantes: 2

Ler tópico completo

Hibernate envers não funciona

$
0
0

@Wilian_da_Silva_Oliv escreveu:

Estou com um problema para usar o enver, já tenho uma tabela_aud usada no antigo sistema, quando atualizei para o novo ele não está funcionando.

@Audited
@Entity
@Table( name = "USUARIO" )
@SequenceGenerator( name = "SEQ_USUARIO", sequenceName = "SEQ_USUARIO", initialValue = 1, allocationSize = 1 )
@XmlRootElement( name = "usuario" )
public class Usuario implements Serializable {

	private static final long serialVersionUID = -8589145118614631343L;

	@Id
	@GeneratedValue( generator = "SEQ_USUARIO" )
	@Column( name = "PK_ID_USUARIO" )
	@XmlElement( name = "id" )
	private Long id;

	@Column( name = "DC_CARGO" )
	@XmlElement( name = "cargo" )
	private String dcCargo;

	@Column( name = "DC_EMAIL" )
	@XmlElement( name = "email" )
	private String dcEmail;

	@Column( name = "FL_DYNAMICS" )
	private boolean flEnviarDynamics;



@Bean
@Autowired
public EntityManagerFactory entityManagerFactory( DataSource dataSource ) {
	HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
	vendorAdapter.setGenerateDdl( true );

	Properties jpaProperties = new Properties();
	jpaProperties.setProperty( "org.hibernate.envers.revision_field_name", "CD_REVISAO" );
	jpaProperties.setProperty( "org.hibernate.envers.revision_type_field_name", "CD_TIPO_REVISAO" );
	jpaProperties.setProperty( "org.hibernate.envers.audit_table_prefix", "" );


	jpaProperties.setProperty( "hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect" );
	jpaProperties.setProperty( "hibernate.show_sql", "true" );
	jpaProperties.setProperty( "hibernate.format_sql", "true" );
	jpaProperties.setProperty( "hibernate.hbm2ddl.auto", "none" );
}

Problema que ele não esta salvando no banco de dados,
Dúvida precisa ter todos os campos da tabela?
Preciso informar mais alguma coisa

Mensagens: 1

Participantes: 1

Ler tópico completo

Viewing all 14696 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>