Escolar Documentos
Profissional Documentos
Cultura Documentos
-
Criando um aplicativo de banco de dados de área de trabalho Java personalizado
Este tutorial o guia pela criação de um aplicativo de banco de dados de área de trabalho completo que permite que o usuário
Training
procure e edite registros de clientes e adquira históricos. O aplicativo resultante inclui os principais recursos a seguir:
Uma visualização principal que permite aos usuários procurar registros e compras de clientes. Java Programming Language
Developing Applications for the
Um campo de pesquisa para os registros dos clientes.
Java EE Platform
Caixas de diálogo separadas para o ingresso de novos registros ou a modificação de registros existentes.
Nota: Você pode fazer download do projeto de trabalho final criado nesse tutorial sempre que necessário e abri-lo no IDE Sample Applications
para visualizar as classes. Se deseja executar o projeto obtido por download, certifique-se de limpá-lo e construí-lo antes da Demos and Screencasts
execução.
More
Introdução
FAQs
Esse aplicativo utiliza as seguintes tecnologias:
Contribute Documentation!
API de persistência Java (JPA, Java Persistence API), que o ajuda a interagir com um banco de dados usando código Java. Docs for Earlier Releases
O Swing Application Framework, que simplifica funções básicas do aplicativo, como persistindo com informações de sessão,
lidando com ações e administrando recursos.
O tutorial usa assistentes do IDE e outros recursos de geração de código para oferecer a maior parte do código repetitivo, além de
mostrar como personalizar o código gerado e codificar manualmente outras partes do aplicativo.
Esse tutorial dura aproximadamente 2 horas para ser finalizado. Para obter um tutorial que exiba a criação de uma interface de
usuário menos personalizada, consulte Construindo um aplicativo de banco de dados de área de trabalho Java.
Veja abaixo uma captura de tela do aplicativo de trabalho que você terá ao finalizar esse tutorial.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
As instruções nesse tutorial baseiam-se no uso de um banco de dados MySQL que você cria com o script SQL.
Nota: Você pode usar outros softwares de gerencimento de banco de dados, mas isso pode exigir alguns ajustes no script
SQL. Também será necessário criar um banco de dados fora do IDE.
Para configurar o IDE para que funcione com banco de dados MySQL, consulte a página Conectando-se a um banco de dados
MySQL.
1. Na janela Serviços, clique com o botão direito do mouse no nó MySQL Server e escolha Iniciar.
2. Clique com o botão direito do mouse no nó MySQL Server e escolha Criar banco de dados.
Se o item Criar banco de dados não estiver ativado, escolha Conectar. Talvez seja necessário inserir uma senha. O item
Criar banco de dados deve ser, então, ativado.
5. Se a caixa de diálogo Conectar aparecer, digite a senha definida para o servidor do banco de dados.
6. Se a guia Avançado da caixa de diálogo aparecer, clique em OK para fechar a caixa de diálogo. -->
9. Copie o conteúdo do script SQL MyBusinessRecords e cole-o na guia Comando SQL 1 do Editor de código-fonte.
10. Clique no botão Executar SQL ( ) na barra de ferramentas do Editor de código-fonte para executar o script.
A saída do script deve aparecer na janela Saída.
11. Clique com o botão direito do mouse no nó de conexão novamente e escolha Atualizar.
A estrutura do banco de dados foi projetada pensando-se na normalização e na integridade. Aqui, algumas observações sobre a
estrutura:
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
O script SQL especifica o mecanismo de armazenamento InnoDB para que seja possível lidar com chaves estrangeiras
nesse banco de dados. O mecanismo de armazenamento padrão do MySQL, MyISAM, não funcionará com esse tutorial.
Os dados são divididos entre diversas tabelas para reduzir a duplicidade, assim como a possibilidade de inconsistências.
Algumas tabelas conectam-se entre si por meio de chaves estrangeiras.
Todas as tabelas usam o atributo AUTO_INCREMENT de MySQL para que haja um único identificador para cada fila nessas
tabelas. Esse identificador é criado pelo software de gerenciamento do banco de dados para que, dessa maneira, seu
aplicativo e/ou o usuário de seu aplicativo não precise criá-lo. (Se o AUTO_INCREMENT for usado corretamente no
aplicativo, o IDE adicionará a anotação @GeneratedValue(strategy=GenerationType.IDENTITY para essa coluna na classe de
entidade da tabela. Isso garante que o aplicativo não tente enviar um valor para essa coluna quando se cria um novo
registro.)
A chave estrangeira na tabela PEDIDOS serve para vincular cada registro de pedidos a um cliente. Na interface de usuário
do aplicativo, os registros PEDIDO são somente exibidos para o CLIENTE selecionado.
O atributo EXCLUIR EM CASCADA, da chave estrangeira para a classe CLIENTES, garante que os pedidos de um cliente
sejam também excluídos quando se exclui um cliente.
A chave estrangeira na tabela CLIENTES aponta a uma tabela PAÍSES. Você usará essa relação no aplicativo para permitir
que o usuário selecione o país de um cliente de uma caixa de combinação.
A tabela PEDIDOS tem uma chave estrangeira que se vincula à tabela PRODUTOS. Ao adicionar o registro de um novo
pedido, o usuário poderá escolher um produto de uma caixa de combinação.
As tabelas PAÍSES e PRODUTOS são previamente preenchidas com dados para que você possa escolher entre essas tabelas
quando o usuário do aplicativo adicionar registros de clientes e de pedidos.
Embora este tutorial não aborde isso, talvez você considere útil criar aplicativos separados para preencher as tabelas
PAÍSES e PRODUTOS. Tais aplicativos podem ser criados com o modelo de projeto do Aplicativo de área de trabalho Java e
não exigiem criação manual de códigos adicionais.
Uma estrutura de aplicativo principal que contém tabelas para os detalhes e pedidos dos clientes.
Uma classe de aplicativo principal que lida com as funções básicas do ciclo de vida do aplicativo, incluindo persistência do
estado da janela entre sessões e inserção de recursos.
Para algumas estruturas de banco de dados, é possível obter um aplicativo de trabalho assim que se sai do assistente. No
entanto, serão usados nesse tutorial algumas construções para as quais será necessário personalizar o código gerado, como as
relações AUTO-INCREMENT e uma-para-várias.
2. Selecione a categoria Java e o modelo do Aplicativo de área de trabalho Java. Em seguida, clique em Próximo.
3. Clique em Próximo.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
Clique em Próximo.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
As classes de entidade Clientes e Pedidos, que representam os dados das tabelas do banco de dados CLIENTES e PEDIDOS.
O formulário principal com dois componentes JTable que fornecem uma visualização mestre/detalhe das tabelas do banco
de dados CLIENTES e PEDIDOS. A visualização também contém botões conectados às ações de criar, excluir e salvar
registros.
A tabela mestre está vinculada a uma lista de objetos dos clientes. Essa lista de objetos representa todas as filas da tabela
do banco de dados CLIENTES.
A tabela de detalhes está vinculada a uma coleção de objetos de PEDIDOS. Essa coleção representa todas as filas na tabela
do banco de dados PEDIDOS que estão vinculadas ao cliente atualmente selecionado na tabela mestre.
A esta altura, você pode escolher Executar > Executar projeto principal para exibir a janela principal do aplicativo. No entanto, o
aplicativo ainda não funciona corretamente porque o banco de dados apresenta alguns atributos para os quais o assistente não
gerou o código necessário. Você adicionará esse código na próxima sessão do tutorial.
Personalizar a classe de entidade Clientes para que faça referência à classe de entidade Países.
Personalizar a classe de entidade Pedidos para que faça referência à classe de entidade Produtos.
Atualizar o código de vinculação para as tabelas mestre e de detalhes no formulário principal para que, dessa maneira, as
classes de entidade Países e Produtos sejam usadas.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
1. Crie classes de entidade para as tabelas Países e Produtos ao clicar com o botão direito do mouse no pacote
customerrecords e escolher Novo > Classes de entidade no banco de dados.
4. Clique em Próximo.
@Column(name = "COUNTRY_ID")
private Integer countryId;
pelo código:
@Basic(optional = false)
@Column(name = "PRODUCT_ID")
private int productId;
pelo código:
3. No construtor de pedidos (Integer id, Products productId, int quantity) público, modifique o tipo do argumento
productId de int para Produtos .
5. No método setProductId() , modifique os tipos dos parâmetros productId e a variável oldProductId de int para Produtos.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
de entidade para a tabela PAÍSES. Se você não fizer uma modificação aqui, será lançada uma ClassCastException quando o
aplicativo for executado.)
2. Na visualização de desenho da classe, clique com o botão direito do mouse na primeira tabela e escolha Conteúdo da
tabela.
5. Na caixa de combinação Expressão, digite ${countryId.country} ou gere essa expressão selecionando countryId > país na
lista suspensa.
A propriedade do país é a parte dos objetos Países que contêm o nome do país atual. O uso dessa expressão garante que
a coluna exiba nomes de países em vez de um número de identificação de país ou o valor do método toString() do objeto
Países.
6. Modifique o Título de ID do país para País. Isso afeta o cabeçalho da coluna do aplicativo em execução.
Na tabela de produtos, há uma coluna productId, que se baseia na coluna PRODUCT_ID da tabela PEDIDOS. Você deve apenas
modificar o vínculo para exibir o modelo de produtos e evitar uma ClassCastException . No entanto, seria útil exibir os dados
correspondentes ao produto nas colunas adicionais.
1. Na visualização de desenho da classe CustomerRecordsView, clique com o botão direito do mouse na tabela inferior e
escolha Conteúdo da tabela.
4. Modifique a Expressão para ${productId.brand} . Após fazer isso, o tipo também deve ser modificado para String.
Nesse momento, o aplicativo está parcialmente funcional. Você pode executar o aplicativo e adicionar, editar, excluir e salvar
registros. No entanto, você ainda não pode modificar campos baseados nas classes de entidade Países e Produtos. Além disso,
também é necessário realizar outras tarefas para fazer com que o campo Data do pedido funcione de maneira mais fácil.
Você pode fazer alguns ajustes às colunas País e Modelo para usar as caixas de combinação vinculadas às respectivas tabelas. Isto
permite que o usuário selecione esses campos sem ter que inseri-los manualmente. Em vez disso, você usará caixas de diálogo
como mecanismos de entrada de dados para essas tabelas a fim de dificultar a exclusão acidental de dados pelo usuário durante a
busca.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
Criará caixas de diálogo para editar dados para cada tabela no formulário principal.
Criará beans intermediários para carregar os dados entre as caixas de diálogo e os formulários.
1. Descompacte o zip do arquivo das classes de utilitários, descompactando seu conteúdo no sistema.
2. No sistema, copie todos os arquivos do zip e cole-os na pasta que contém a pasta customerrecords do projeto.
3. Se suas classes estiverem em um pacote diferente da pasta customerreccords , ajuste a instrução do pacote em cada um
dos arquivos recentemente adicionados ao projeto.
2. Clique com o botão direito do mouse no primeiro Novo botão e selecione Definir ação.
3. Na caixa de diálogo Definir ação, modifique a propriedade do texto para Novo cliente .
5. Clique em OK.
6. Clique com o botão direito do mouse no segundo Novo botão e selecione Definir ação.
7. Na caixa de diálogo Definir ação, modifique a propriedade do texto para Inserir pedido .
8. Modifique o campo Dica da ferramenta para Criar registro de pedido de um novo cliente .
9. Clique em OK.
1. Clique com o botão direito do mouse no pacote que contém suas classes e escolha Novo > Outros. Selecione o modelo
Swing GUI Forms > Formulários JDialog e nomeie-o CustomerEditor .
2. Na janela Paleta, arraste, solte e organize componentes para os detalhes pessoais do cliente.
Adicione etiquetas para cada um dos seguintes campos: nome, sobrenome, endereço, cidade, estado, código postal, país e
número de telefone.
Adicione campos de texto para todos os campos mencionados acima, com exceção do campo País.
Para país, adicione uma caixa de combinação.
5. (Opcional) Renomeie todos os componentes adicionados com nomes mais memoráveis, como firstNameLabel . Você pode
fazer isso diretamente na janela Inspetor.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
Nota: Para obter um guia detalhado para usar os recursos de layout do GUI Editor, consulte Fazendo o desenho de uma
Swing GUI no NetBeans IDE.
1. Na parte superior da área de desenho do formulário CustomerEditor, clique na guia Código-fonte. Clique em qualquer lugar
da classe, como na linha abaixo do construtor.
2. Pressione Alt-Insert (ou clique com o botão direito do mouse e escolha Inserir código) e escolha Adicionar propriedades.
3. Na caixa de diálogo Adicionar propriedades, nomeie a propriedade currentRecord , atribua-lhe o tipo Clientes , selecione
Gerar Getter e Setter; e selecione Gerar suporte a alteração de propriedades.
Agora você precisa personalizar o método setCurrentRecord gerado para lançar uma notificação de alteração de propriedade.
Agora é necessário adicionar código para abrir a caixa de diálogo do editor de clientes quando o usuário clicar no botão Novo
cliente. Além disso, você precisará de códigos para limpar a propriedade currentRecord .
Agora você pode continuar com a vinculação dos campos da caixa de diálogo. Você vinculará a propriedade do texto de cada
campo de à propriedade correspondente do objeto Clientes , representado por currentRecord . Da mesma maneira, você vinculará
a propriedade selectedItem da caixa de combinação à propriedade countryId de currentRecord . Você vinculará a propriedade dos
elementos da caixa de combinação a uma lista de entidades de países.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
5. Na caixa de diálogo Vincular, selecione Formulário como a Origem da vinculação. (Observe que Formulário está quase no
final da lista suspensa.)
1. Clique com o botão direito do mouse na caixa de combinação e escolha Vincular > elementos.
2. Clique em Importar dados para formulário, selecione a conexão de banco de dados, assim como a tabela Países.
countriesList deve aparecer como a origem da vinculação. Clique em OK.
3. Clique com o botão direito do mouse na caixa de combinação novamente e escolha Vincular > selectedItem.
4. Selecione Formulário como a origem da vinculação e currentRecord > countryId como a expressão. Clique em OK.
A caixa de combinação está quase pronta para funcionar corretamente na caixa de diálogo. Ela está configurada para extrair seus
valores da tabela do banco de dados PAÍSES; e o item que o usuário seleciona é logo aplicado ao campo de país no registro atual.
No entanto, você ainda precisa personalizar a renderização da caixa de combinação, já que os valores vinculados à caixa de
combinação são objetos de países e não nomes comuns. Você fará isso ao especificar um renderizador de célula personalizado.
(Para JTables e JLists, a biblioteca de vinculação dos beans permite que você especifique expressões de exibição, evitando que
seja necessário criar um renderizador personalizado. No entanto, esse recurso ainda não existe para caixas de combinação.)
1. Na janela do projeto, clique com o botão direito do mouse em CountryListCellRenderer e escolha Compilar arquivo. A
compilação do arquivo permite que você o trate como um bean que pode ser adicionado ao formulário, arrastando-o e
soltando-o do construtor de GUI do IDE.
3. Arraste a classe da janela Projetos para o espaço em branco ao redor do formulário, como mostrado na captura de tela
abaixo.
A execução dessa ação adiciona o renderizador no seu formulário como um bean; da mesma maneira que arrastar um
componente da Paleta adiciona tal componente a seu formulário.
Agora você poderá executar o aplicativo, pressionar o primeiro Novo botão e inserir dados na caixa de diálogo. Também será
possível selecionar um país na caixa de combinação País. Os botões Salvar e Cancelar na caixa de diálogo ainda não realizam
ações, mas você pode salvar os registros da estrutura principal. Você codificará esses botões mais tarde.
1. Clique com o botão direito do mouse no pacote customerrecords e escolha Novo > Formulário JDialog.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
Um rótulo para exibir o formato da data que necessita ser inserida. Atribua este texto ao rótulo (MMM DD, AAAA -
por exemplo, Abr 17, 2008) . Se planeja usar um formato de data diferente, adicione texto que corresponda ao
formato desejado.
Agora que o Editor de pedidos possui desenho visual, será necessário fazer o seguinte:
Criar um bean intermediário para carregar os valores do registro de volta para o formulário principal.
3. Pressione Alt-Insert (ou clique com o botão direito do mouse e escolha Inserir código) e escolha Adicionar propriedades.
4. Na caixa de diálogo Adicionar propriedade, nomeie a propriedade currentOrderRecord , atribua-lhe o tipo Pedidos , selecione
Gerar Getter e Setter; e selecione Gerar suporte a alteração de propriedades.
Agora é necessário adicionar um código para abrir a caixa de diálogo do Editor de pedidos quando o usuário clicar no botão Inserir
pedido. Além disso, você precisará de códigos para limpar a propriedade currentOrderRecord.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
Tutorial do Java.
5. Na caixa de diálogo Vincular, selecione Formulário como a origem da vinculação e currentOrderRecord > orderDate como a
expressão de vinculação.
6. Selecione a caixa de combinação para o produto e clique no botão de reticências (...) para a propriedade dos elementos.
10. Clique no botão de reticências (...) para a propriedade selectedItem da caixa de combinação.
11. Selecione Formulário como a origem da vinculação e currentOrderRecord > productId como a expressão de vinculação.
14. Selecione Formulário como a origem da vinculação e currentOrderRecord > quantidade como a expressão de vinculação.
4. No editor de propriedades formatterFactory, selecione data na coluna Categoria. Em seguida, selecione Padrão na coluna
Formato.
7. Na janela Propriedade, limpe a propriedade editável . (Você não deseja que os usuários editem esse campo. O valor desse
campo será derivado da propriedade do preço do item selecionado na caixa de combinação do produto.)
8. No Editor de propriedades formatterFactory, selecione moeda na coluna Categoria. Em seguida, selecione Padrão na coluna
Formato.
Agora, quando você executar o aplicativo e selecionar um item, os campos preço e moeda deverão aparecer como moedas.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
de diálogo Novo cliente, você precisará usar um renderizador de célula personalizado. Nesse renderizador de célula, você
combinará informações de diversas propriedades para que o usuário possa ver o tipo, a marca e o modelo enumerados para cada
item.
1. Clique com o botão direito do mouse na classe ProductListCellRenderer e escolha Compilar arquivo.
3. Arraste a classe da janela Projetos para o espaço em branco ao redor do formulário, da mesma maneira que foi feita para
o CountryListCellRenderer.
5. Na janela Propriedades, role até a propriedade do renderizador e escolha productListCellRenderer1, na lsita suspensa dessa
propriedade.
Da mesma maneira, você deveria modificar o valor padrão para quantidade, já que 0 é um valor inválido. Você pode criar um
validador aqui; porém, por enquanto, é mais fácil e prático definir simplesmente um valor padrão razoável.
Para preencher previamente os campos de data e quantidade na caixa de diálogo do Editor de pedidos:
o.setOrderDate(new java.util.Date());
o.setQuantity(1);
Agora, quando você executar o aplicativo, a data atual deverá aparecer no campo Data quando a caixa de diálogo for aberta; e a
quantidade padrão deve ser 1.
Você definirá o valor dessa propriedade no código de manipulação de eventos para os botões.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
6. Com o método saveCustomer , no Editor de código-fonte (para onde o cursor salta após você criar o novo manipulador),
digite o seguinte código:
setCustomerConfirmed(true);
setVisible(false);
7. Repita as etapas de 2 a 5 para o botão Cancelar e nomeie seu manipulador como cancelCustomer .
setCustomerConfirmed(false);
setVisible(false);
Na classe CustomerRecordsView, navegue até o método newRecord() e adicione o seguinte código ao botão do método:
if (ce.isCustomerConfirmed()) {
save().run();
} else {
refresh().run();
}
Como as ações salvar() e atualizar() atuam em qualquer modificação feita durante a sessão do aplicativo, você deve fazer com
que a caixa de diálogo seja modal e que as tabelas no formulário principal não sejam editáveis. Outro motivo para fazer com que
a caixa de diálogo seja modal é que, quando o usuário pressiona o botão Salvar ou Cancelar, o método setVisible() não retorna
até que o manipulador de eventos (que inclui o método setCustomerConfirmed ) seja executado.
3. Na janela Propriedades, clique em Propriedades e selecione a caixa de seleção para a propriedade modal .
2. Clique com o botão direito do mouse na tabela superior e escolha Conteúdo da tabela.
5. Clique em Fechar.
Agora, você poderá criar novos registros e salvá-los no Editor de clientes. Agora, você também poderá criar um novo registro e
cancelá-lo do Editor de clientes.
Na classe interna RefreshTask, Thread.sleep é chamado quatro vezes para diminuir o código de rollback para melhor demonstrar
como as tarefas do Swing Application Framework funcionam. Você não precisa desse código para o aplicativo, por isso, exclua
essas quatro instruções. Da mesma maneira, você não precisa de um bloco de tentativa/captura aqui, conseqüentemente, exclua
também as instruções de tentativa e captura (mas deixe o resto do corpo do bloco de tentativa).
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
Você definirá o valor dessa propriedade no código de manipulação de eventos para os botões.
6. No método saveOrder no Editor de código-fonte (para onde o cursor salta após você criar o novo manipulador), digite o
seguinte código:
setOrderConfirmed(true);
setVisible(false);
setOrderConfirmed(false);
setVisible(false);
Na classe CustomerRecordsView, navegue até o método newDetailRecord() e adicione o seguinte código na parte inferior do
método:
if (oe.isOrderConfirmed()) {
save().run();
} else {
refresh().run();
}
3. Na janela Propriedades, clique em Proprieddes e selecione a caixa de seleção para a propriedade modal.
2. Clique com o botão direito do mouse na tabela inferior e escolha Conteúdo da tabela.
5. Clique em Fechar.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
@Action(enabledProperty = "recordSelected")
public void deleteRecord() {
Object[] options = {"OK", "Cancel"};
int n = JOptionPane.showConfirmDialog(null, "Delete the records permanently ? ", "Warning",
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null);
if (n == JOptionPane.YES_OPTION) {
int[] selected = masterTable.getSelectedRows();
List<customerrecords.Customers> toRemove = new
ArrayList<customerrecords.Customers>(selected.length);
for (int idx = 0; idx < selected.length; idx++) {
customerrecords.Customers c = list.get(masterTable.convertRowIndexToModel(selected[idx]));
toRemove.add(c);
entityManager.remove(c);
}
list.removeAll(toRemove);
save().run();
} else {
refresh().run();
}
}
@Action(enabledProperty = "detailRecordSelected")
public void deleteDetailRecord() {
Object[] options = {"OK", "Cancel"};
int n = JOptionPane.showConfirmDialog(null, "Delete the records permanently ? ", "Warning",
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null);
if (n == JOptionPane.YES_OPTION) {
int index = masterTable.getSelectedRow();
customerrecords.Customers c = list.get(masterTable.convertRowIndexToModel(index));
List<customerrecords.Orders> os = c.getOrdersCollection();
int[] selected = detailTable.getSelectedRows();
List<customerrecords.Orders> toRemove = new ArrayList<customerrecords.Orders>(selected.length);
for (int idx = 0; idx < selected.length; idx++) {
selected[idx] = detailTable.convertRowIndexToModel(selected[idx]);
int count = 0;
Iterator<customerrecords.Orders> iter = os.iterator();
while (count++ < selected[idx]) {
iter.next();
}
customerrecords.Orders o = iter.next();
toRemove.add(o);
entityManager.remove(o);
}
os.removeAll(toRemove);
masterTable.clearSelection();
masterTable.setRowSelectionInterval(index, index);
list.removeAll(toRemove);
save().run();
} else {
refresh().run();
}
}
No entanto, você não pode mais editar registros existentes, pois desativou a edição de tabelas no formulário principal. Para
resolver isso, você irá adicionar botões de edição ao formulário de clientes principal para que, dessa maneira, a edição de
registros existentes seja possível. Para a manipulação de eventos, você aproveitará a funcionalidade Ação do Swing Application
Framework.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
setSaveNeeded(true);
JFrame mainFrame = CustomerRecordsApp.getApplication().getMainFrame();
CustomerEditor ce = new CustomerEditor(mainFrame, false);
ce.setCurrentRecord(list.get(masterTable.convertRowIndexToModel(masterTable.getSelectedRow())));
ce.setVisible(true);
if (ce.isCustomerConfirmed()) {
save().run();
} else {
refresh().run();
}
Grande parte desse código é diretamente copiado da ação newRecord . A principal diferença é a linha
ce.setCurrentRecord(list.get(masterTable.convertRowIndexToModel(masterTable.getSelectedRow()))); , que preenche o registro
atual na caixa de diálogo com o registro atualmente selecionado.
A parte Cliente do aplicativo está praticamente definida. Você pode adicionar, editar e excluir registros livremente da tabela
CLIENTES usando a GUI especializada que você criou.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
A visualização Código-fonte do arquivo deve aparecer com o cursor no novo método editOrder .
setSaveNeeded(true);
int index = masterTable.getSelectedRow();
customerrecords.Customers c = list.get(masterTable.convertRowIndexToModel(index));
List<customerrecords.Orders> os = c.getOrdersCollection();
JFrame mainFrame = CustomerRecordsApp.getApplication().getMainFrame();
OrderEditor oe = new OrderEditor(mainFrame, false);
oe.setCurrentOrderRecord(os.get(detailTable.getSelectedRow()));
oe.setVisible(true);
if (oe.isOrderConfirmed()) {
save().run();
} else {
refresh().run();
}
Agora, quando você executar o aplicativo, todos os principais elementos estarão estabelecidos. Você pode criar, recuperar,
atualizar e excluir registros de clientes e pedidos. Na captura de tela abaixo, você pode ver a caixa de diálogo Editor de pedidos,
exatamente como aparece após selecionar um registro e pressionar o botão Editar pedidos.
A seção abaixo mostra outras ações que podem ser feitas para aperfeiçoar e ajustar o aplicativo.
1. Na janela Projetos, clique com o botão direito do mouse na classe CurrencyCellRenderer e escolha Compilar arquivo.
3. Arraste a classe CurrencyCellRenderer da janela Projetos e solte-o na área em branco ao redor do formulário.
Um nó denominado currencyCellRenderer1 deve aparecer na janela Inspetor.
4. No formulário, clique com o botão direito do mouse na tabela mais abaixo e escolha Conteúdo da tabela.
Agora, quando você executar o aplicativo, o preço deverá aparecer com o símbolo de dólar (US$), um ponto decimal e dois dígitos
após o ponto.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
texto para a string de pesquisa. Para essa vinculação, será necessário um conversor de vinculações para que a tabela saiba como
responder à string de pesquisa.
Primeiro, adicione um rótulo e um campo de texto para o campo de pesquisa, como exibido abaixo.
1. Na janela Projetos, clique com o botão direito do mouse na classe RowSorterToStringConverter e escolha Compilar arquivo.
1. No formulário principal, clique com o botão direito do mouse o campo de texto Pesquisa e escolha Vincular > texto.
2. Na caixa de diálogo Vincular, selecione masterTable como a origem da vinculação e rowSorter como a expressão.
Agora, quando você executar o aplicativo, poderá digitar no campo Filtro de pesquisa e verá que a lista de filas reduziu-se apenas
às filas que contêm texto que corresponde ao que você digitou.
No entanto, a adição desse recurso de pesquisa cria um efeito indesejado. Se você usar a pesquisa e clicar em Novo cliente, será
exibida uma exceção porque o código usado para selecionar a nova fila é determinado de acordo com o número de registros na
tabela do banco de dados e não pelo número de registros atualmente exibidos na tabela.
por:
1. Na janela Projetos, clique com o botão direito do mouse na classe DateVerifier e escolha Compilar arquivo.
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]
Criando um aplicativo de banco de dados de área de trabalho Java personalizado - Tutorial do NetBeans 6.7/6.8
3. Arraste a classe DateVerifier da janela Projetos para o espaço em branco que rodeia o formulário.
5. Na janele Propriedades, clique na guia Propriedades e selecione o dateVerifier1 da caixa de combinação para a
propriedade Inserir verificador. Essa propriedade é exibida na seção Outras propriedades da guia.
Consulte também
Para uma introdução mais geral do uso do construtor de GUIs do IDE, consulte Introdução à construção de GUIs.
Para um guia mais abrangente sobre os recursos de desenho do Construtor de GUIs, incluindo demonstrações em vídeo dos vários
recursos, consulte Criando um GUI Swing no NetBeans IDE.
Para ver como você pode usar o modelo de projeto Aplicativo de área de trabalho Java para construir um aplicativo de banco de
dados com uma visualização Mestre/Detalhe, consulte Construindo um aplicativo de área de trabalho Java.
Para outras informaçes sobre o desenvolvimento de aplicativo Java no IDE, consulte Trilha de aprendizado da programação em
Java e IDE básica.
Para obter mais informações sobre a vinculação de beans, consulte a página do projeto Vinculação de beans em java.net.
Para obter mais informações sobre a vinculação de beans no IDE, consulte Vinculando beans e dados em um aplicativo de área de
trabalho.
Para obter mais informações sobre como usar o Hibernate para uma camada de persistência do aplicativo Swing, consulte Usando
Hibernate em um aplicativo Java Swing.
Para obter dicas e truques gerais sobre o uso do Construtor de GUIs no NetBeans IDE, consulte Perguntas freqüentes do Editor de
GUIs e Log da Web de Patrick Keegan.
By use of this website, you agree to the NetBeans Policies and Terms of Use.
Shop SiteMap About Us Contact Legal
© 2010, Oracle Corporation and/or its affiliates.
Sponsored by
Companion
Projects:
http://netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html[16-Oct-10 22:02:37]