Olá pessoal, blz?
Estou batendo kbeça com o desenvolvimento de um protótipo de WebService cliente utilizando Swing.
O cenário é o seguinte: implementei um protótipo de webservice em java que faz consulta e compra de produtos.
No cliente estou utilizando a API do JAVA SWING. Em certa parte do Sistema o cliente acessa na tela principal o menu compra e ele é reencaminhado para uma nova tela específica de compra, nesta tela ele insere o código do produto, e aperta o botão comprar , neste botão comprar eu coloco um evento para a resposta do banco de dados do servidor ser exibida em um JTextArea. Toda esta interface gráfica está contida dentro de um JPanel ->que está acima do JInternalFrame. Mas eu não estou conseguindo exibir a resposta do servidor.
O engraçado é que qndo eu acesso o método do servidor listaProduto(); ele exibe tudo no JTextArea.
O código que não está funcionando é este:
package org.ws.cliente.commerce;
import java.util.List;
import org.ws.client.Produto;
import org.ws.client.TesteCompraWs;
import org.ws.client.TesteCompraWsService;
/**
*
* @author AndrePush
*/
public class TelaCompra extends javax.swing.JInternalFrame {
/** Creates new form TelaCompra */
public TelaCompra() {
initComponents();
initialize();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
compraT = new javax.swing.JPanel();
javax.swing.JLabel labelcod = new javax.swing.JLabel();
campoCodigo = new javax.swing.JTextField();
btComprarCompProduto = new javax.swing.JButton();
LabelCompraProduto = new javax.swing.JLabel();
jSeparator1 = new javax.swing.JSeparator();
bCancelar = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
meuTextCompra = new javax.swing.JTextArea();
dadosCompra = new javax.swing.JLabel();
setBackground(new java.awt.Color(102, 153, 255));
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
compraT.setBackground(new java.awt.Color(102, 153, 255));
labelcod.setFont(new java.awt.Font("Arial", 1, 24));
labelcod.setForeground(new java.awt.Color(255, 255, 255));
labelcod.setText("Código:");
campoCodigo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
campoCodigoActionPerformed(evt);
}
});
btComprarCompProduto.setFont(new java.awt.Font("Arial", 1, 24));
btComprarCompProduto.setForeground(new java.awt.Color(51, 51, 51));
btComprarCompProduto.setText("Comprar");
btComprarCompProduto.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btComprarCompProdutoActionPerformed(evt);
}
});
LabelCompraProduto.setFont(new java.awt.Font("Arial", 1, 24));
LabelCompraProduto.setForeground(new java.awt.Color(255, 255, 255));
LabelCompraProduto.setText(".:COMPRA DE PRODUTO:.");
jSeparator1.setForeground(new java.awt.Color(255, 255, 255));
bCancelar.setFont(new java.awt.Font("Arial", 1, 24));
bCancelar.setForeground(new java.awt.Color(51, 51, 51));
bCancelar.setText("Cancelar");
bCancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bCancelarActionPerformed(evt);
}
});
meuTextCompra.setColumns(20);
meuTextCompra.setRows(5);
meuTextCompra.addAncestorListener(new javax.swing.event.AncestorListener() {
public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
}
public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
meuTextCompraAncestorAdded(evt);
}
public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
}
});
jScrollPane1.setViewportView(meuTextCompra);
dadosCompra.setFont(new java.awt.Font("Arial", 1, 24));
dadosCompra.setForeground(new java.awt.Color(255, 255, 255));
dadosCompra.setText("DADOS DA COMPRA:");
javax.swing.GroupLayout compraTLayout = new javax.swing.GroupLayout(compraT);
compraT.setLayout(compraTLayout);
compraTLayout.setHorizontalGroup(
compraTLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(compraTLayout.createSequentialGroup()
.addGap(195, 195, 195)
.addComponent(LabelCompraProduto)
.addContainerGap(151, Short.MAX_VALUE))
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 645, Short.MAX_VALUE)
.addGroup(compraTLayout.createSequentialGroup()
.addContainerGap()
.addComponent(labelcod)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(campoCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 344, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(196, Short.MAX_VALUE))
.addGroup(compraTLayout.createSequentialGroup()
.addGroup(compraTLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(compraTLayout.createSequentialGroup()
.addContainerGap()
.addComponent(btComprarCompProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(27, 27, 27)
.addComponent(bCancelar))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, compraTLayout.createSequentialGroup()
.addGap(12, 12, 12)
.addComponent(dadosCompra)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(77, Short.MAX_VALUE))
);
compraTLayout.setVerticalGroup(
compraTLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(compraTLayout.createSequentialGroup()
.addContainerGap()
.addComponent(LabelCompraProduto)
.addGap(18, 18, 18)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(compraTLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(labelcod)
.addComponent(campoCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(33, 33, 33)
.addGroup(compraTLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btComprarCompProduto))
.addGroup(compraTLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(compraTLayout.createSequentialGroup()
.addGap(101, 101, 101)
.addComponent(dadosCompra)
.addGap(183, 183, 183))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, compraTLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 113, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29))))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(compraT, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(compraT, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void campoCodigoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
[b]private void btComprarCompProdutoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
TesteCompraWsService service = new TesteCompraWsService();
TesteCompraWs port = service.getTesteCompraWsPort();
List<Produto> compProd = port.compraProduto
(Integer.parseInt(campoCodigo.getText()));
for(Produto pd : compProd){
pd.getCodigo();
meuTextCompra.setText(pd.getDescricao());
}
} [/b]
private void bCancelarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}
private void meuTextCompraAncestorAdded(javax.swing.event.AncestorEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
/*public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
});
}*/
public void run() {
new TelaCompra().setVisible(true);
}
public void initialize() {
this.setTitle("Comprar Produto");
}
// Variables declaration - do not modify
private javax.swing.JLabel LabelCompraProduto;
private javax.swing.JButton bCancelar;
private javax.swing.JButton btComprarCompProduto;
private javax.swing.JTextField campoCodigo;
private javax.swing.JPanel compraT;
private javax.swing.JLabel dadosCompra;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTextArea meuTextCompra;
// End of variables declaration
}
Eu destaquei o método em negrito. Estou utilizando a IDE NetBeans 6.8, BD PostgreSQL 8.4, e framework java para SOAP JAX-WS 2.1;
Se alguém souber por favor responde aí.
Aguardo respostas.