Desenvolvedor e Analista de Sistemas | IFPA

quarta-feira, 20 de agosto de 2014

Adicionando uma Máscara na sua JFormattedTextField - JAVA

com 0 Comentário
Exemplo de como adicionar uma Máscara no JFormattedTextField:

Formatted Masked Input: new MaskFormatter(###-##-####)


  1. import java.awt.FlowLayout;  
  2. import java.text.ParseException;  
  3.   
  4. import javax.swing.BoxLayout;  
  5. import javax.swing.JFormattedTextField;  
  6. import javax.swing.JFrame;  
  7. import javax.swing.JLabel;  
  8. import javax.swing.JPanel;  
  9. import javax.swing.text.MaskFormatter;  
  10.   
  11. public class MaskInputSample {  
  12.   public static void main(String args[]) {  
  13.   
  14.     JFrame frame = new JFrame("Mask Input");  
  15.     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  16.     JLabel label;  
  17.     JFormattedTextField input;  
  18.     JPanel panel;  
  19.     MaskFormatter formatter;  
  20.   
  21.     BoxLayout layout = new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS);  
  22.     frame.setLayout(layout);  
  23.   
  24.     try {  
  25.       label = new JLabel("SSN");  
  26.       formatter = new MaskFormatter("###'-##'-####");  
  27.       input = new JFormattedTextField(formatter);  
  28.       input.setValue("123-45-6789");  
  29.       input.setColumns(20);  
  30.       panel = new JPanel();  
  31.       panel.add(label);  
  32.       panel.add(input);  
  33.       frame.add(panel);  
  34.     } catch (ParseException e) {  
  35.       System.err.println("Unable to add SSN");  
  36.     }  
  37.     frame.pack();  
  38.     frame.setVisible(true);  
  39.   }  
Mais informações »

domingo, 17 de agosto de 2014

Filtro de busca no JTable - JAVA

com 0 Comentário
Nesse post vou mostrar como filtrar as linhas de uma JTable utilizando o TableRowSorter. Como exemplo, criei um model com duas colunas e algumas linhas para a minha JTable. OBS: Utilizei o DefaultTableModel para economizar codigo, mas não use-o
em seus projetos, pois é uma bosta deixa o código muito confuso e difícil de manter (veja mais motivos) ou seja Crie o seu próprio TableModel!

Abaixo segue o exemplo:


Exemplo do Filtro:

  1. TableRowSorter sorter = null;  
  2. DefaultTableModel model = (DefaultTableModel) jTable1.getModel();  
  3. sorter = new TableRowSorter<TableModel>(model);  
  4. jTable1.setRowSorter(sorter); 

 No evento KeyRelease ou outro:

  1. String text = jTextField1.getText();  
  2. if (text.length() == 0) {  
  3.           sorter.setRowFilter(null);  
  4. else {  
  5.           sorter.setRowFilter(RowFilter.regexFilter(text));  
  6. }  



Mais informações »

sábado, 16 de agosto de 2014

Tutorial C# - Inserção de dados em MySQL

com 0 Comentário
Na sequência de tutoriais anteriores, em que demonstrei como efetuar ligações entre o C# e bases de dados, hoje irei mostrar como inserir dados numa base de dados MySQL. Apesar de a ligação C# – MySQL não ser a mais utilizada, visto o C# ser uma linguagem mais orientada para o ambiente Windows, e o MySQL orientado para a Web, irão poder verificar que não existe nenhum “segredo”, e é até bastante simples a inserção de dados.

Antes de começar a ler este tutorial, é muito importante que tenha compreendido o anterior tutorial relacionado com este tema (Tutorial C# – Ligação a Base de Dados MySQL), visto que os primeiros passos são iguais.
Primeiro criamos uma base de dados no phpMyAdmin. Neste caso criei a base de dados com o nome pplware_bd.
Esta base de dados, terá uma tabela com o nome tabela_dados, com três campos:
  • id (INT (5), AUTO_INCREMENT, Chave Primária)
  • titulo (VARCHAR(25))
  • descricao (VARCHAR(100))
Para que seja possível inserir dados numa base de dados MySql em C#, é necessário adicionar a referência MySql.Data. Para isso é necessário efetuar o download do mysql-connector-net-6.2.3. Depois é só correr o setup. (No fim é necessário reiniciar o Visual Studio)
Para adicionar uma referência:
  • Clicar com o botão direito em Referência e fazer “Add Reference”.

  • Selecionar na lista MySql.Data no separador .NET

  • Como a referência já está adicionada, temos de a inserir no código.
using MySql.Data.MySqlClient;
Agora vamos ao código
1º – Temos de adicionar um MySqlConnection, MySqlDataAdapter e um DataSet.
private MySqlConnection mConn;  private MySqlDataAdapter mAdapter;  private DataSet mDataSet;
MySqlConnectionMySqlDataAdapter e o DataSet, são necessários para a conexão e leitura da base de dados.
2º – Criar o “layout” da mini aplicação.

3º – Código do botão “Gravar”
private void bt_Gravar_Click(object sender, EventArgs e)  {   // Início da Conexão com indicação de qual o servidor, nome de base de dados e utilizar      /* É aconselhável criar um utilizador com password. Para acrescentar a password é somente   necessário acrescentar o seguinte código a seguir ao uid=root;password=xxxxx*/      mConn = new MySqlConnection("Persist Security Info=False; server=localhost;database=pplware_bd;uid=root");      // Abre a conexão   mConn.Open();      //Query SQL   MySqlCommand command = new MySqlCommand("INSERT INTO tabela_dados (titulo,descricao)"+   "VALUES('" + tb_titulo.Text + "','" + tb_descricao.Text + "')", mConn);      //Executa a Query SQL   command.ExecuteNonQuery();      // Fecha a conexão   mConn.Close();      //Mensagem de Sucesso   MessageBox.Show("Gravado com Sucesso!","Informação",MessageBoxButtons.OK,MessageBoxIcon.Information);      // Método criado para que quando o registo é gravado, automaticamente a dataGridView efectue um "Refresh"   mostraResultados();  }
4º – Código do método de visualização de dados
private void mostraResultados()  {   mDataSet = new DataSet();   mConn = new MySqlConnection("Persist Security Info=False; server=localhost;database=pplware_bd;uid=root");      mConn.Open();         //cria um adapter utilizando a instrução SQL para aceder à tabela      mAdapter = new MySqlDataAdapter("SELECT * FROM tabela_dados ORDER BY id", mConn);         //preenche o dataset através do adapter      mAdapter.Fill(mDataSet, "tabela_dados");         //atribui o resultado à propriedade DataSource da dataGridView      dataGridView1.DataSource = mDataSet;      dataGridView1.DataMember = "tabela_dados";  }
Este método será “chamado” no botão Visualizar, como exemplificado na imagem abaixo.
private void bt_visualizar_Click(object sender, EventArgs e)  {   mostraResultados();  }
E o resultado será:


E assim finalizamos este tutorial.
Como certamente verificaram, é extremamente simples fazer uma ligação e inserção com MySQL utilizando C#.
Espero que tenham gostado.
Download: Mysql Connector Net (6.2.3)
 Homepage: MySql 
Mais informações »

Tutorial C# - Ligação a uma Base de Dados Access 2007 e 2003

com 0 Comentário
Na semana passada tive a oportunidade de demonstrar como se efetua a ligação a uma base de dados MySQL através do C#. Esta semana e como prometido, demonstro como se efetua uma ligação a uma base de dados Access 2007 e 2003, já que existe uma pequena diferença na connection string. Como poderão verificar as diferenças são poucas, e como em tudo, esta é apenas uma das maneiras de escrever o código.

Primeiro criamos a base de dados no Access (2007). Neste caso criei três campos idnome numero.

Depois de criada a estrutura da base de dados, passamos ao código.
Tal como o MySQL, é necessário adicionar uma referência, mas no caso do Access é somente no código.

Agora vamos ao código
No botão “Ver Resultados” inserimos o seguinte código.
1ª Parte do código (Definição das connection strings 2003 e 2007)

2ª Parte do código

E o resultado será:

E desta forma temos uma ligação C# ao Access efetuada. Como podem verificar, as ligações às bases de dados são bastante simples.
Mais informações »

Tutorial C# - Ligação a Base de dados MySql

com 0 Comentário
Como prometido, esta semana começamos uma série de posts dedicados às ligações a base de dados em C#. Neste tutorial será abordada a conexão e como mostrar dados provenientes de base de dados MySql. No próximo tutorial irei demonstrar uma ligação a uma base de dados Access. Será também explicado posteriormente como manipular os dados (Inserir, Editar, Remover).



Primeiro criamos uma base de dados no phpMyAdmin. Neste caso criei a base de dados com o nome teste e com os campos idnome numero.
Para que seja possível visualizar dados de uma base de dados MySql num programa em C#, é necessário adicionar a referência MySql. Para isso é necessário efetuar o download do mysql-connector-net-6.2.3. Depois é só correr o setup.
Para adicionar uma referência:
  • Clicar com o botão direito em Referência e fazer “Add Reference”.

  • Seleccionar na lista MySql.Data (Pode ser necessário reiniciar o Visual Studio)

Agora que temos a referência adicionada, temos de a adicionar no código.


Agora vamos ao código

Temos de adicionar um MySqlConnectionMySqlDataAdapter e um DataSet.

Vou criar uma pequena aplicação, com apenas um botão e uma DataGridView.

No botão “Ver Resultados” inserimos o seguinte código.


O resultado será:

E desta forma temos uma ligação C# + MySql efetuada. Como disse no início, o próximo tutorial será de ligação do C# a uma base de dados Access.
Espero que tenham gostado.
 Homepage: MySql 
Download: Mysql Connector Net (6.2.3)
Mais informações »

Tutorial C# – Enviar e-mail a partir de uma Windows Forms

com 0 Comentário
Este tutorial serve para demonstrar como se pode enviar um e-mail utilizando uma Windows Form em C#. Será um formulário muito simples, mas com possibilidade de se tornar extremamente completo. Como já anteriormente se tinha sucedido com o tutorial ”como imprimir o conteúdo de uma datagridview”, este tutorial surgiu da necessidade de criar algo simples, mas que acima de tudo, funcione!

Após várias horas de pesquisa, muitos sites vistos, algumas dezenas de exemplos complicados ou que nem sequer funcionavam, e quase sem esperança de encontrar uma ajuda na Internet, juntei vários exemplos e no fim tinha o que eu queria.
Mãos à obra.
Primeiro criamos um novo projeto, e definimos os campos que queremos que sejam utilizados. Neste caso usei cinco campos: Para; CC; Anexo; Assunto; Mensagem.

Agora vamos ao código.
Primeira parte do Código:
Apesar de não ser totalmente necessário, criei um método void para o envio do e-mail.

Neste início de código podem facilmente identificar o modo de como inserir os campos e associar a uma TextBox ou a um email previamente definido.
É importante realçar que foi utilizado o namespace System.Net.Mail.
Sem este namespace seria impossível utilizar ou chamar as funcionalidades referentes ao email. Normalmente estes namespace são utilizados logo no início, juntamento com os:
using System;  using System.Collections.Generic;  using System.ComponentModel;  using System.Data;  using System.Drawing;  using System.Linq;  using System.Text;  using System.Windows.Forms;
Mas neste caso utilizei directamento no código.
Segunda parte do Código:

Terceira parte do Código:
Nesta terceira parte do código entramos na área mais técnica.

Para terminar, vamos adicionar código ao botão que irá anexar algo.
Antes de adicionar o código, é necessário adicionar o openFileDialog, que nos permitirá selecionar o ficheiro a anexar.
Para isso basta “arrastar” o openFileDialog da Toolbox para a “Form”.

Quarta parte do Código:
Esta última parte do código serve para adicionar o método SendEmail() no botão que enviará o e-mail, e também inserir o código no botão que irá anexar algum ficheiro.
No botão que servirá para anexar um ficheiro o código será:

No botão que enviará o e-mail, o código será:

E assim acabamos o Código.
Exemplo:

E aqui está o resultado do envio:

Como em tudo na vida, é possível personalizar ao máximo estes envios, como também fazer validações (por exemplo caso o campo CC não esteja preenchido. Mas isso já depende dos gostos pessoais.
Mais informações »

Tutorial C# - Imprimir Conteúdo da DataGridView

com 0 Comentário
Este tutorial vem da necessidade que eu tive em imprimir o conteúdo de uma DataGridView num programa que desenvolvi. Após muitas horas, alguns dias, muitos exemplos (que não funcionaram e muito complicados), encontrei uma solução que funciona muito bem, pelo menos resolveu o meu “problema”. Como penso que devemos partilhar conhecimentos, decidi elaborar este tutorial.



Objectivo: Apresentar dados numa DataGridView obtidos através de dados gravados numa base de dados.
1º – Crie um novo projecto
csharp001
2º – Adicione um botão (botão imprimir) e uma dataGridView
csharp002
Nota: é necessário indicar que vai usar uma base de dados OleDb (Access), para isso tem de adicionar o seguinte código que está em destaque.
csharp003
3º – No Form Load vamos introduzir o código que irá trazer a informação dos dados na base de dados.
csharp004
Podem verificar que foi introduzido o “try” e “catch”.
Para quem não está familiarizado com este código, uma pequena explicação que posso dar é que serve para verificar se existe algum erro na ligação (try), e se encontrar, mostra esse erro numa MessageBox (catch).
Nesta altura já podem verificar que ao iniciar o programa, já aparecem dados na DataGridView.
csharp005
4º – No botão imprimir irá introduzir o seguinte código
csharp010
Como podem verificar, existe uma parte do código sublinhada, essa parte refere-se a uma classe que vamos criar mais à frente. Certamente este código seria somente introduzido quando essa mesma classe estivesse criada, mas assim evitamos andar a “saltar” de form para form.
5º – Agora vamos criar um novo Form que será das “opções de impressão”.
csharp006
Este novo Form vai permitir que possamos escolher quais os campos que queremos imprimir, como também escrever qual o título da impressão.
É necessário inserir os seguintes Items:
- 2 Botões
- 1 CheckedListBox
- 1 TextBox
csharp007
6º – Os botões “OK” e “Cancel” servem exclusivamente para abrir “caixas de diálogo”
csharp008
O restante código da form “printOptions” é o seguinte:
csharp009
7º – Agora vamos criar uma nova classe e atribuir o nome printDGV.
csharp011
csharp012
Como o código da classe é extenso, colocarei o mesmo aqui, e os comentários estão no próprio código.
csharp013
csharp014
csharp015
csharp016

csharp017
csharp018
csharp019
csharp020
csharp021
Como devem reparar o código é bastante extenso, por isso disponibilizo-o para download, e assim não têm de escrever estas linhas todas de código.
Agora que o código está todo escrito. Vamos experimentar o programa.
Ao iniciar a “Form” irão aparecer os dados que estão na base de dados.
csharp022
Ao clicar no botão imprimir irá abrir o Form das opções de impressão.
csharp023
Neste “Form” pode seleccionar as colunas da tabela da base de dados que quer imprimir, e escrever o título para imprimir.
Ao clicar em “OK” poderá visualizar o “print preview” .
csharp024
E aqui está, acabou de imprimir o conteúdo da base de dados que pretende. Claro que poderá efectuar inúmeras alterações ao código e aos resultados que quer visualizar, mas isso já só depende de si.
O código da classe é extenso, mas se copiar a classe, o restante código é bastante simples.
Espero que tenham gostado…
Fonte: Afrasiab Cheraghi (code project)
Download: Código Imprimir DataGridView [62.72KB]
Mais informações »

Total de visualizações