Olá, eu também estou com dúvidas em conectar meu socket com a minha classe swing. Por exemplo, estou desenvolvendo um sistema onde o administrador cadastra um funcionário (na sua sala de escritório) e quando o restante da equipe da empresa (gerentes, rh, enfim) forem visualizar a lista de funcionário cadastrados, o nome desse funcionário ja deve aparecer pra eles. Seria como se fosse ATUALIZAR DADOS. Consigo fazer todo o cadastro com perfeição, o problema está na hora da exibição para os outros terminais que nao estou conseguindo fazer. Vou enviar parte do meu código, se alguem puder me ajudar, serei grata. Bjoss
*****Formulario SWING
[code]view plaincopy to clipboardprint?
package Visao;
import Controlador.FuncionarioCC;
import descartar.ConexaoBanco;
import DAO.FuncionarioDAO;
import Modelo.Funcionario;
import Socket.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
* @author Rebecca Dias
*/
public class FormFuncionario extends javax.swing.JFrame {
private ClienteData cliente;
// private final String ip;
/**
* Creates new form FormFuncionario
*/
public FormFuncionario(){
// s = new ServidorData();
cliente = new ClienteData();
// cliente.start();
initComponents();
preencherTabela();
// cliente = new ClienteData();
// cliente.start();
}
/**
* 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() {
jScrollPane3 = new javax.swing.JScrollPane();
jTree1 = new javax.swing.JTree();
jTabbedPane1 = new javax.swing.JTabbedPane();
jPanel3 = new javax.swing.JPanel();
LblNomeFuncionario = new javax.swing.JLabel();
TxtNomeFuncionario = new javax.swing.JTextField();
LblCpfFuncionario = new javax.swing.JLabel();
LblEmailFuncionario = new javax.swing.JLabel();
TxtEmailFuncionario = new javax.swing.JTextField();
LblSalarioFuncionario = new javax.swing.JLabel();
LblDescricaoFuncionario = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
TxtDescricaoFuncionario = new javax.swing.JTextArea();
LblFuncaoFuncionario = new javax.swing.JLabel();
DdlFuncaoFuncionario = new javax.swing.JComboBox();
BtnSalvarFuncionario = new javax.swing.JButton();
TxtCpfFuncionario = new javax.swing.JFormattedTextField();
TxtSalarioFuncionario = new javax.swing.JTextField();
LblIdFuncionario = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jPanel1 = new javax.swing.JPanel();
LblCadastroFuncionario = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
LblFiltroFuncionario = new javax.swing.JLabel();
TxtFiltroFuncionario = new javax.swing.JTextField();
BtnFiltrarFuncionario = new javax.swing.JButton();
BtnListarFuncionario = new javax.swing.JButton();
BtnIncluirFuncionario = new javax.swing.JButton();
BtnExcluirFuncionario = new javax.swing.JButton();
jScrollPane3.setViewportView(jTree1);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Cadastro de Funcionário");
jTabbedPane1.setPreferredSize(new java.awt.Dimension(440, 390));
jPanel3.setPreferredSize(new java.awt.Dimension(413, 210));
LblNomeFuncionario.setText("Nome");
TxtNomeFuncionario.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TxtNomeFuncionarioActionPerformed(evt);
}
});
LblCpfFuncionario.setText("CPF");
LblEmailFuncionario.setText("E-mail");
LblSalarioFuncionario.setText("Salário");
LblDescricaoFuncionario.setText("Descrição");
TxtDescricaoFuncionario.setColumns(20);
TxtDescricaoFuncionario.setRows(5);
jScrollPane2.setViewportView(TxtDescricaoFuncionario);
LblFuncaoFuncionario.setText("Função");
DdlFuncaoFuncionario.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Caixa", "Garçon", "Cozinheiro" }));
BtnSalvarFuncionario.setText("Salvar");
BtnSalvarFuncionario.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnSalvarFuncionarioActionPerformed(evt);
}
});
try {
TxtCpfFuncionario.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("###.###.###-##")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
}
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(BtnSalvarFuncionario)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(LblNomeFuncionario)
.addGap(18, 18, 18)
.addComponent(TxtNomeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(LblCpfFuncionario))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(LblEmailFuncionario)
.addGap(18, 18, 18)
.addComponent(TxtEmailFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(63, 63, 63)
.addComponent(LblSalarioFuncionario)))
.addGap(18, 18, 18)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(TxtCpfFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtSalarioFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE)))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(LblDescricaoFuncionario)
.addGap(27, 27, 27)
.addComponent(LblIdFuncionario)
.addGap(144, 144, 144)
.addComponent(LblFuncaoFuncionario)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(DdlFuncaoFuncionario, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jScrollPane2)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(LblNomeFuncionario)
.addComponent(TxtNomeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(LblCpfFuncionario)
.addComponent(TxtCpfFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(LblEmailFuncionario)
.addComponent(TxtEmailFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(LblSalarioFuncionario)
.addComponent(TxtSalarioFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(LblFuncaoFuncionario)
.addComponent(DdlFuncaoFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(LblDescricaoFuncionario)
.addComponent(LblIdFuncionario))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(BtnSalvarFuncionario)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Cadastro", jPanel3);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, "", null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null}
},
new String [] {
"Nome", "CPF", "Função", "Título 4", "Título 5", "Título 6", "Título 7"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);
jTable1.getColumnModel().getColumn(3).setMinWidth(0);
jTable1.getColumnModel().getColumn(3).setPreferredWidth(0);
jTable1.getColumnModel().getColumn(3).setMaxWidth(0);
jTable1.getColumnModel().getColumn(4).setMinWidth(0);
jTable1.getColumnModel().getColumn(4).setPreferredWidth(0);
jTable1.getColumnModel().getColumn(4).setMaxWidth(0);
jTable1.getColumnModel().getColumn(5).setMinWidth(0);
jTable1.getColumnModel().getColumn(5).setPreferredWidth(0);
jTable1.getColumnModel().getColumn(5).setMaxWidth(0);
jTable1.getColumnModel().getColumn(6).setMinWidth(0);
jTable1.getColumnModel().getColumn(6).setPreferredWidth(0);
jTable1.getColumnModel().getColumn(6).setMaxWidth(0);
jTabbedPane1.addTab("Lista Funcionários", jScrollPane1);
getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER);
LblCadastroFuncionario.setFont(new java.awt.Font("Arial", 1, 18));
LblCadastroFuncionario.setText("Cadastro de Funcionário");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(101, Short.MAX_VALUE)
.addComponent(LblCadastroFuncionario)
.addGap(97, 97, 97))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(LblCadastroFuncionario)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_START);
LblFiltroFuncionario.setText("Filtrar por");
BtnFiltrarFuncionario.setText("Filtrar");
BtnListarFuncionario.setText("Listar");
BtnIncluirFuncionario.setText("Incluir");
BtnExcluirFuncionario.setText("Excluir");
BtnExcluirFuncionario.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnExcluirFuncionarioActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(LblFiltroFuncionario)
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(TxtFiltroFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 326, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(BtnFiltrarFuncionario)
.addGap(18, 18, 18)
.addComponent(BtnListarFuncionario)
.addGap(18, 18, 18)
.addComponent(BtnIncluirFuncionario)
.addGap(18, 18, 18)
.addComponent(BtnExcluirFuncionario)
.addGap(0, 28, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(LblFiltroFuncionario)
.addComponent(TxtFiltroFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BtnFiltrarFuncionario)
.addComponent(BtnListarFuncionario)
.addComponent(BtnIncluirFuncionario)
.addComponent(BtnExcluirFuncionario))
.addContainerGap(15, Short.MAX_VALUE))
);
getContentPane().add(jPanel2, java.awt.BorderLayout.PAGE_END);
pack();
}// </editor-fold>
private void TxtNomeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void BtnSalvarFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {
try {
Funcionario objFuncionario = new Funcionario();
FuncionarioCC objFuncionarioCC = new FuncionarioCC();
objFuncionario.setNome(TxtNomeFuncionario.getText());
objFuncionario.setCpf(TxtCpfFuncionario.getText());
objFuncionario.setEmail(TxtEmailFuncionario.getText());
objFuncionario.setSalario(Double.parseDouble(TxtSalarioFuncionario.getText()));
objFuncionario.setDescricao(TxtDescricaoFuncionario.getText());
//DdlFuncaoFuncionario é referente ao campo tipo do banco
objFuncionario.setTipo((int)DdlFuncaoFuncionario.getSelectedIndex());
objFuncionarioCC.SalvarFuncionario(objFuncionario);
} catch (Exception ex) {
Logger.getLogger(FormFuncionario.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void BtnExcluirFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {
FuncionarioCC objFuncionarioCC = new FuncionarioCC();
Funcionario objFuncionario = new Funcionario();
objFuncionario = this.PreencheObjeto(objFuncionario);
String excluir = "Deseja excluir: " + TxtNomeFuncionario.getText();
int opcao = JOptionPane.showConfirmDialog(null, excluir, "Exclusão", JOptionPane.YES_NO_OPTION);
if(opcao == JOptionPane.YES_OPTION)
{
try {
objFuncionarioCC.RemoverFuncionario(objFuncionario.getIdFuncionario());
this.preencherTabela();
JOptionPane.showMessageDialog(null, "Registro excluído com sucesso.");
jTabbedPane1.setSelectedComponent(jScrollPane1);
} catch (SQLException ex) {
Logger.getLogger(FormFuncionario.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(FormFuncionario.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
int linha = jTable1.getSelectedRow();
TxtNomeFuncionario .setText(jTable1.getValueAt(linha, 0).toString());
TxtCpfFuncionario .setText(jTable1.getValueAt(linha, 1).toString());
DdlFuncaoFuncionario .setSelectedIndex(Integer.parseInt(jTable1.getValueAt(linha, 2).toString()));
TxtEmailFuncionario .setText(jTable1.getValueAt(linha, 3).toString());
TxtSalarioFuncionario .setText(jTable1.getValueAt(linha, 4).toString());
TxtDescricaoFuncionario .setText(jTable1.getValueAt(linha, 5).toString());
LblIdFuncionario .setText(jTable1.getValueAt(linha, 6).toString());
jTabbedPane1.setSelectedComponent(jPanel3);
}
private Funcionario PreencheObjeto(Funcionario objFuncionario)
{
objFuncionario.setIdFuncionario(Integer.parseInt(LblIdFuncionario.getText()));
objFuncionario.setNome(TxtNomeFuncionario.getText());
objFuncionario.setCpf(TxtCpfFuncionario.getText());
objFuncionario.setEmail(TxtEmailFuncionario.getText());
objFuncionario.setSalario(Double.parseDouble(TxtSalarioFuncionario.getText()));
objFuncionario.setTipo(DdlFuncaoFuncionario.getSelectedIndex());
objFuncionario.setDescricao(TxtDescricaoFuncionario.getText());
// if(!TxtCodSocio.getText().trim().equals(""))
// objCliente.setCodSocio(Integer.parseInt(TxtCodSocio.getText()));
// else
// objCliente.setCodSocio(0);
return objFuncionario;
}
public void preencherTabela()
{
// s = new ServidorData();
jTable1.getColumnModel().getColumn(0);//.setPreferredWidth(WIDTH);
jTable1.getColumnModel().getColumn(1);
jTable1.getColumnModel().getColumn(2);
//Colunas invisíveis
jTable1.getColumnModel().getColumn(3).setMaxWidth(0);
jTable1.getColumnModel().getColumn(4).setMaxWidth(0);
jTable1.getColumnModel().getColumn(5).setMaxWidth(0);
jTable1.getColumnModel().getColumn(6).setMaxWidth(0);
DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
modelo.setNumRows(0);
try
{
FuncionarioCC objFuncionarioCC = new FuncionarioCC();
List<Funcionario> lista = objFuncionarioCC.ListarFuncionario();
int tamanho = lista.size();
for (int i = 0; i < tamanho; i++)
{
Funcionario objFuncionario = lista.get(i);
modelo.addRow(new Object[] {objFuncionario.getNome(), objFuncionario.getCpf(),objFuncionario.getTipo(),
objFuncionario.getEmail(), objFuncionario.getSalario(),objFuncionario.getDescricao(),
objFuncionario.getIdFuncionario()});
}
}
catch(Exception erro)
{
JOptionPane.showMessageDialog(null,"Erro ao listar itens" + erro);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*
* Set the Nimbus look and feel
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(FormFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(FormFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(FormFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(FormFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormFuncionario().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton BtnExcluirFuncionario;
private javax.swing.JButton BtnFiltrarFuncionario;
private javax.swing.JButton BtnIncluirFuncionario;
private javax.swing.JButton BtnListarFuncionario;
private javax.swing.JButton BtnSalvarFuncionario;
private javax.swing.JComboBox DdlFuncaoFuncionario;
private javax.swing.JLabel LblCadastroFuncionario;
private javax.swing.JLabel LblCpfFuncionario;
private javax.swing.JLabel LblDescricaoFuncionario;
private javax.swing.JLabel LblEmailFuncionario;
private javax.swing.JLabel LblFiltroFuncionario;
private javax.swing.JLabel LblFuncaoFuncionario;
private javax.swing.JLabel LblIdFuncionario;
private javax.swing.JLabel LblNomeFuncionario;
private javax.swing.JLabel LblSalarioFuncionario;
private javax.swing.JFormattedTextField TxtCpfFuncionario;
private javax.swing.JTextArea TxtDescricaoFuncionario;
private javax.swing.JTextField TxtEmailFuncionario;
private javax.swing.JTextField TxtFiltroFuncionario;
private javax.swing.JTextField TxtNomeFuncionario;
private javax.swing.JTextField TxtSalarioFuncionario;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTree jTree1;
// End of variables declaration
}
[/code][b]
**************************************Socket Cliente[/b]
[code]view plaincopy to clipboardprint?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Socket;
/**
*
* @author Rebecca Dias
*/
import Visao.*;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ClienteData {
private Socket connect;//*
private ObjectOutputStream out;//*
private ObjectInputStream in;//*
private int porta;//*
private String ip;//*
private FormFuncionario tela;//*
// private TelaMapa mapa;
private int tipo;//*
public ClienteData(FormFuncionario tela, String ip, int porta, int tipo)
{
this.ip = ip;
this.porta = porta;
this.tela = tela;
// iniciarConexao();
this.tipo = tipo;
}
public ClienteData() {
//throw new UnsupportedOperationException("Not yet implemented");
}
public void iniciarConexao()
{
try
{
this.connect = new Socket(ip, porta);//inicia a conexao na porta 9047 e no ip informado
this.out = new ObjectOutputStream(this.connect.getOutputStream());
this.in = new ObjectInputStream(this.connect.getInputStream());
}
catch(SocketException e)
{
System.out.println("Servidor nao encontrado!");
System.exit(1);
}
catch(Exception e)
{
System.out.println("iniciarConexao - " + e.getMessage());
System.exit(1);
}
}
public void closeConnection()
{
try
{
this.in.close();//fecha a conexao com o socket do servidor
this.out.close();
this.connect.close();
}
catch(Exception e)
{
System.out.println("closeConnection: " + e.getMessage());
System.exit(1);
}
}
public static void main(String args[]) throws ClassNotFoundException {
try {
while(true) {
// cria o socket
Socket s = new Socket("localhost", 87);
// cria um stream de entrada
ObjectInputStream entrada = new ObjectInputStream(s.getInputStream());
// obtem a data driada remotamente
FormFuncionario tela = (FormFuncionario) entrada.readObject();
// Date data = (Date)entrada.readObject();
// System.out.println("Data : " + tela.toString());
// fecha o stream
entrada.close();
// fecha o socket
s.close();
}
} catch (UnknownHostException ex) {
Logger.getLogger(ClienteData.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(ClienteData.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void start() {
// throw new UnsupportedOperationException("Not yet implemented");
}
}
[/code]
*******SERVIDORSOCKET
[code]view plaincopy to clipboardprint?
package Socket;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServidorData {
public static void main (String args[]) {
try{
// cria um servidor de socket
ServerSocket server = new ServerSocket(87);
int cont = 0;
while(true) { // rodando indefinidamente
System.out.println("esperando o cliente " + cont++);
// espera por requisições. retorna o socket do cliente que
// solicitou uma conexao
Socket s = server.accept();
// processa a requisição em uma thread separada e volta a esperar
// requisicoes
ThreadProcessa t = new ThreadProcessa(s);
Thread thread = new Thread(t);
thread.start();
}
} catch (IOException ex){
ex.printStackTrace();
}
}
}
[/code]
******************THREAD
[code]view plaincopy to clipboardprint?
package Socket;
import Visao.*;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ThreadProcessa implements Runnable {
Socket s;
public ThreadProcessa(Socket s) {
this.s = s;
}
public void run() {
try {
// cria a data a ser enviada
FormFuncionario tela = new FormFuncionario();
// Date data = new Date();
// cria o stream de saÃda
ObjectOutputStream saida;
// espera 4s (simula processamento pesado)
Thread.sleep(4000);
// obtem o stream do socket do cliente
saida = new ObjectOutputStream(s.getOutputStream());
// envia a data via stream
saida.writeObject(tela);
// fecha o stream
saida.flush();
saida.close();
// fecha o socket
s.close();
} catch (IOException ex) {
Logger.getLogger(ServidorData.class.getName()).log(Level.SEVERE, null, ex);
} catch (InterruptedException ex) {
Logger.getLogger(ServidorData.class.getName()).log(Level.SEVERE, null, ex);
}
}
[/code]
Se alguem puder me ajudar, como tenho que fazer essa conexao com o swing, serei grata!!!