Desenvolvedor e Analista de Sistemas | IFPA

Mostrando postagens com marcador JAVA. Mostrar todas as postagens
Mostrando postagens com marcador JAVA. Mostrar todas as postagens

quarta-feira, 15 de julho de 2015

JTable com alturas de linhas de acordo como tamanho do texto/conteúdo | JAVA

com 7 Comentários
Configurando a linha da JTable para ficar semelhante a quebra de texto do EXCEL, aumentando o tamanho da linha de acordo com o tamanho do texto:

Exemplo de Tabela 


  1. public class TextAreaCellRenderer extends JTextArea implements TableCellRenderer {  
  2.   
  3.         public TextAreaCellRenderer() {  
  4.   
  5.             setLineWrap(true);  
  6.             setWrapStyleWord(true);  
  7.             setFont(new java.awt.Font("Tahoma"011)); // NOI18N  
  8.             setMargin(new java.awt.Insets(5555));  
  9.         }  
  10.   
  11.         @Override  
  12.         public Component getTableCellRendererComponent(  
  13.                 JTable table, Object value, boolean isSelected, boolean hasFocus, introw, int column) {  
  14.   
  15.             // set color & border here                
  16.             this.setText(value.toString());  
  17.   
  18.             setText((value == null) ? "" : value.toString());  
  19.             setSize(table.getColumnModel().getColumn(column).getWidth(),  
  20.                     getPreferredSize().height);  
  21.   
  22.             if (table.getRowHeight(row) < getPreferredSize().height) {  
  23.                 table.setRowHeight(row, getPreferredSize().height );  
  24.             }  
  25.   
  26.             return this;  
  27.         }  
  28.     }  

Para adicionar na tabela utilize o seguinte código:
  1. for (int i = 0; i < jTable.getColumnCount(); i++) {  
  2.             col = jTable.getColumnModel().getColumn(i);  
  3.             col.setCellRenderer(new TextAreaCellRenderer());  
  4.         }  

Mais informações »

domingo, 24 de maio de 2015

Como passar a consulta dinamicamente para o JasperReports / iReport

com 0 Comentário
Defina um parâmetro do tipo String que receberá a consulta vinda da aplicação java:


Parâmetros do Relatório

Observe que temos dois parâmetros definidos por mim: Filtro – servirá para receber uma descrição textual do filtro que o usuário aplicou na geração do relatório e consulta – receberá a consulta a ser executada no banco de dados pelo JasperReports.
Configurar a consulta do relatório como sendo o parâmetro recebido:



Consulta do Relatório


A consulta do relatório será exatamento o parâmetro consulta. Observe o símbolo de exclamação depois da letra P. Sem ele o iReport dá erro no momento de efetuar a compilação do relatório.
Passar a consulta para o relatório através da aplicação Java:

  1. private String geraRelatorioEmPdfConsulta(String consulta, String jasper, String nomeRelatorio) {  
  2.     // Seto a variável saida como nulo  
  3.     saida = null;  
  4.   
  5.     try {  
  6.         JasperPrint print = JasperFillManager.fillReport(jasper, getMapComFiltroEConsulta(filtroAplicado, consulta), getNovaConexao());  
  7.         saida = RelatorioUtil.getDiretorioReal("/relatorios/relatorio.pdf");  
  8.         JasperExportManager.exportReportToPdfFile(print, saida);  
  9.         saida = RelatorioUtil.getContextPath() + "/relatorios/relatorio.pdf";  
  10.     } catch (Exception e) {  
  11.         addErrorMessage("Formulario""erro.geracao.relatorio", nomeRelatorio);  
  12.         e.printStackTrace();  
  13.     } finally {  
  14.         fechaConexao();  
  15.     }  
  16.   
  17.     // mostro o erro ou o relatório na janela que abre  
  18.     return "geraRelatorio";  
  19. }  
  20.   
  21. /* 
  22. * Esse método retorna o map com o filtro e a consulta que o usuário gerou. 
  23. */  
  24. public Map<String, String> getMapComFiltroEConsulta(String filtroAplicado, String consulta) {  
  25.     Map<String, String> map = new HashMap<String, String>();  
  26.   
  27.     // Se o usuário não aplicou nada no filtro, retorno nulo para o relatório  
  28.     if (filtroAplicado == null)  
  29.         filtroAplicado = "";  
  30.     else  
  31.         filtroAplicado = "Você aplicou o seguinte filtro no relatório:\n" + filtroAplicado;  
  32.   
  33.     map.put("Filtro", filtroAplicado);  
  34.     map.put("consulta", consulta);  
  35.   
  36.     return map;  

Observe, pelo código acima, que eu passo a consulta e o filtro que foram gerados para o relatório dentro de um HashMap, como o JasperReports exige. No final, o relatório com um campo do filtro fornecido ficou assim.

Relatório Gerado

O campo marcado em vermelho foi o filtro aplicado pelo usuário que eu mandei para o relatório como um parâmetro chamado Filtro e que na verdade é apenas uma descrição textual.

Obs.: cada coluna retornada pela minha consulta deve ter o mesmo nome do field no relatório. Caso isso não ocorra, haverá um erro na geração.
Mais informações »

domingo, 17 de maio de 2015

Artigo - Diferença entre java.sql.Time, java.sql.Timestamp e java.sql.Date | JAVA

com 0 Comentário
Neste artigo iremos mostrar as principais diferenças entre  java.sql.Time, java.sql.Timestamp e java.sql.Date. Vale a pena conferir:

Primeiro 

Diferença em java.sql.Time, java.sql.Timestamp e java.sql.Date é sobre a informação que eles representam:
JDBC TIME ou java.sql.Time representam apenas informações de tempo por exemplo, horas , minutos e segundos , sem qualquer informação da data .
JDBC DATA ou java.sql.Date representam apenas informações atualizadas por exemplo ano , mês e dia , sem qualquer informação de tempo .
JDBC TIMESTAMP ou java.sql.Timestamp selo representam tanto informações de data e hora , incluindo detalhes nanossegundos.

Segundo

O java.sql.Time e java.sql.Timestamp selo estende java.util.Date classe, mas java.sql.Date é independente.

Terceiro

As informações de Tempo do java.sql.Date e Data informações de java.sql.Time é normalizada e pode definir a zero, a fim de confirmar ANSI SQL DATA e HORA tipos.


Então diferença entre Time, Timestamp e Data de pacote SQL é clara em termos do que eles representam. Em contrário java.util.Date também representam informações de data e hora, mas sem detalhes nanossegundos e é por isso que muitas pessoas preferem data store contanto valor (milissegundo passou da época 01 de janeiro de 1970 00: 00: 00.000 GMT). Se você comparar a java.sql.Time selo com método equals () retornará false como valor de nanossegundo é desconhecida.

Isso é tudo na diferença entre java.sql.Date , java.sql.Time e java.sql.Timestamp. Todas as diferenças encontra-se sobre o que exatamente a representar. Este tipo de questões valem a pena olhar antes de ir para qualquer entrevista JDBC como hora e data são parte integrante de qualquer entrevista JDBC

Leia mais em: http://javarevisited.blogspot.com/2012/10/difference-between-javasqltime-date-timestamp-jdbc-interview-question.html#ixzz3aQZNZ5pw
Mais informações »

Tutorial - JTable com seleção única | JAVA

com 0 Comentário

Nesse tutorial iremos mostrar como fazer a seleção de uma JTable, de forma única, ou seja, apenas uma seleção. É um método simples, mas que faz muita diferença. Confira no exemplo do código JAVA abaixo:

  1. jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  //seleção única

Para mais informações, não esqueça de dá uma olhada na API do JAVA
https://docs.oracle.com/javase/8/docs/api/javax/swing/JTable.html
Mais informações »

Tutorial - Break e Continue | JAVA

com 0 Comentário
Break e Continue são dois comandos de controle de estruturas largamente utilizados em loops (repetições) como for e while.

Break

O comando break serve para determinar uma quebra de estrutura, ou seja, ele faz com que, por exemplo, um loop (repetição) pare. No comando switch, por exemplo, ele determina que não pode ser executado o case seguinte, e assim por diante.

No exemplo abaixo, temos uma repetição que se inicia em 1 e deve terminar em mil (1.000), mas dentro desta estrutura há uma condição: se a variável for igual a 10 saia da estrutura de repetição. Vejamos:

  1. public class ExemploBreak {  
  2.   
  3.         public static void main(String args[]) {  
  4.             for (int contador = 1; contador <= 1000; contador++) {  
  5.                 System.out.println("Esta é a repetição nr: " + contador);  
  6.                 if (contador == 10) {  
  7.                     break;  
  8.                 }  
  9.             }  
  10.         }  
  11.     }  

Como podemos observar, mesmo a estrutura de repetição for determinando que a repetição deve ir até 1000, ao executarmos esse código, apenas conseguimos chegar até a repetição número 10. Isso ocorre porque quando if for verdadeiro ele executa o break. Dessa forma, conseguimos sair do loop sem ele ter terminado.

Continue

Continue também é muito utilizado em estruturas e repetição e sua função é ignorar o código, e não sair como acontece com o break.

Exemplificando, faremos um código contendo uma estrutura de repetição que irá contar de 1 a 100, mas sempre que o número não for múltiplo de 5 o código para apresentar o número na tela será ignorado e a repetição continuará com o número seguinte.

  1. public class ExemploContinue {  
  2.   
  3.         public static void main(String args[]) {  
  4.   
  5.             for (int contador = 1; contador <= 100; contador++) {  
  6.   
  7.                 if (contador % 5 != 0) {  
  8.                     continue;  
  9.                 }  
  10.                 /* Se o contador não for múltiplo de 5 
  11.                  * Todo o código abaixo será ignorado 
  12.                  * e o loop continua com o próximo nr */  
  13.                 System.out.println("Contador: " + contador);  
  14.             }  
  15.         }  
  16.     } 

Ou seja, desta forma, apenas os múltiplos de 5 entre 1 e 100 aparecem na tela.
Mais informações »

quarta-feira, 13 de maio de 2015

Tutorial - Remover todas as linhas de um jTable - JAVA

com 0 Comentário
Neste tutorial veremos como deletar/apagar todas as linhas de uma jTable.


Através de uma laço de repetição while, iremo remover todas as linhas existentes na tabela.
Utilize DefaultTableModel para remover as linhas
  1. while (jTable1.getModel().getRowCount() > 0) {  
  2.            ((DefaultTableModel) jTable1.getModel()).removeRow(0);  
  3.        } 
Mais informações »

Total de visualizações