SWING – Controle de permissões com JTree

Posted Junho 3, 2009 by Mauro F S
Categories: Java

Este post aborda uma forma simples de preencher um JTree a partir do banco de dados, afim de fazer controle de permissões de usuario de acordo com a tela do sistema ou módulo.

Primeiro de tudo a estrutura do banco de dados (PostgreSQL)

CREATE TABLE interface(

  int_codigo integer NOT NULL,
  int_descricao character varying(40),
  int_tipo character(1),
  int_codigopai integer,
  CONSTRAINT interface_pkey PRIMARY KEY (int_codigo)
)
WITH (OIDS=FALSE);
ALTER TABLE interface OWNER TO postgres;
 

Classe Interface:

public class Interface {

    private String descricao;
    private int codInterface;
    private String tipo;

    gets e Sets ….

Rotina Recursiva que adiciona os Itens ao JTree:

    public void preencheTree(DefaultMutableTreeNode node, int pai) {
 
         DefaultMutableTreeNode aux;
         ResultSet r1 = null;
         ResultSet r2 = null;
         Interface inf;
        try {
              
            r1 = ag.RunSqlQuery(“select * from interface where int_codigopai = ” + pai + ” order by int_descricao”);

            while (r1.next()) {
                 
                if(node == null){
                    aux = new DefaultMutableTreeNode(new Interface(r1.getString(“int_descricao”), r1.getInt(“int_codigo”), r1.getString(“int_tipo”))   );
                    root.add(aux);            
                }else{
                    aux = new DefaultMutableTreeNode(new Interface(r1.getString(“int_descricao”),  r1.getInt(“int_codigo”), r1.getString(“int_tipo”))   );
                    node.add(aux);        
                }
                
                r2 = ag.RunSqlQuery(“select count(*) as filhos from interface where int_codigopai = ” + r1.getInt(“int_codigo”));
                if(r2.first()){
                   
                   if(r2.getInt(“filhos”) > 0){
                       preencheTree(aux, r1.getInt(“int_codigo”));
                   }                   
                }                
            }          
        } catch (Exception e) {
            System.err.print(e.getMessage());
        }
    }

 

Observãções: a função RunSQLQuery recebe o sql e retorna um ResultSet preenchido. se alguem quiser o fonte é só deichar o email

(cade os [/code] ? :( )

Curso de inglês Pimsleur

Posted Dezembro 31, 2007 by Mauro F S
Categories: Geral

Hoje mesmo estava estava pensando sobre mercado de trabalho, a importancia do inglês, a procura de métodos de aprendizado achei um que me chamou atenção, o Pimsleur, com mais de 40 liçoes de meia hora cada (em mp3), o conteúdo nao é ”atropelado”, é uma boa para aprender falar o básico.

 a quem interessar, o link para download do curso: http://downlivre.blogspot.com/2007/10/pimsleur-curso-de-ingls.html

do jeitinho brasileiro  :$ hehe..  aliás passou um debate hoje na mtv sobre isso hiaihahiia

desculpe a ausencia, a quem pediu código fonte dos exemplos, os códigos são gerados pelo NetBeans , é só seguir passo a passo que nao tem erro :)

[]`s  a todos

Swing + JPA + MySql + NetBeans (Simplificado) creio eu :s

Posted Outubro 2, 2007 by Mauro F S
Categories: Java

Um simples cadastro de Clientes utilizando  Java Persistence com Toplink , para quem anda perdido em como programar.. é uma boa forma :D (creio eu também rs..)

Começando ..

 vamos criar um banco simples no Mysql.

 CREATE TABLE `clientes` (                  
            `Cli_ID` int(4) NOT NULL auto_increment, 
            `Cli_Nome` varchar(50) default NULL,     
            `Cli_Endereco` varchar(50) default NULL, 
            `Cli_Fone` varchar(20) default NULL,     
            `Cli_Email` varchar(50) default NULL,    
            PRIMARY KEY  (`Cli_ID`)                  
          ) ENGINE=InnoDB DEFAULT CHARSET=latin1     

banco criado agora vamos para o NetBeans…

New Project > Java Desktop Application > Basic Application

Nome do Projeto: Exemplo

Botao direito no package exemplo >  ”New Entity Classes from Database”

em database Connection criamos uma conexão.

21.JPG

caso vc ainda nao adicionou o Driver clique em New Driver  e adicione o jar do Mysql.
nesse exemplo usei o mysql-connector-java-5.0.7-bin

após a criação da conexão com o banco de dados. automaticamente aparecerão as tabelas, no nosso caso selecionamos a tabela clientes e adicionamos.

32.JPG

na próxima tela criaremos a unidade de Persistencia. de um Create Persistence Unit e finalize

41.JPG

automaticamente foi criado um Bean Clientes, mesmo nome da tabela no banco de dados

No código fonte da tela (ExemploView.java) botão direito Persistence > Use Entity Manager.

beleza a estrutura ja está criada!!

 Agora vamos a parte Visual

Adicione 4 jTextFields e um jButton

na Action do jButton inserimos o seguinte código:

        Clientes c = new Clientes();
        c.setCliNome(jTextField1.getText());     
        c.setCliEmail(jTextField2.getText());
        c.setCliFone(jTextField3.getText());
        c.setCliEmail(jTextField4.getText());
       
        persist(c); 

 

mas antes de rodar vá em Libraries e adicione o jar do Mysql :)

42.JPG

Temos ai um cadastrinho simples e rápido.duvidas? reclamações? erros ? só comentar :D

Iniciando no Netbeans 6 :D

Posted Outubro 1, 2007 by Mauro F S
Categories: Java

Para quem tem pavor de implementar JTable e DB no java , (Eu) eis um exemplo de uma aplicação Desktop com Netbeans, fazendo o Binding (Sincronização) automático, e inserção de dados.

 File > New Project > Java Desktop Application>

2.JPG

Selecionamos Database Apllication como na inagem acima.

Automaticamente aparacerá a tela para criar/selecionar conexões com o banco de dados

3.JPG

nesse caso usei o banco sample do derby (user e senha “app”), automaticamente ele mostrará as tabelas existentes no banco de dados e os campos, selecionamos alguns campos e Next.

4.JPG
(Gerado automaticamente)

5.JPG
(Gerado automaticamente)

Tá ai, inserção, deleção, e Pesquisa de dados :D

Abraço’s