Boa noite,
Amigos!
Peço ajuda quem poder dar uma dica, para resolver o codigo abaixo, que é desenvolvimento deu um chat, trabalho da faculdade.
Att.
MARIVA
package chat;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.io.PrintStream;
// Variables declaration - do not modify
// Variables declaration - do not modify
public class Executa extends javax.swing.JFrame {
/* Declações Globais*/
private int x = 0; //Variavel de informação do login cliente ou servidor
private Projeto projeto; // Variavel projeto da 2 tela do cliente
/** Creates new form executa */
public Executa() {
initComponents();
LimpaTela(); //Chama o método
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
LimparTela2();
x = 1;
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
textField1 = new java.awt.TextField();
textField2 = new java.awt.TextField();
textField3 = new java.awt.TextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
textArea1 = new java.awt.TextArea();
jButton6 = new javax.swing.JButton();
jButton7 = new javax.swing.JButton();
textArea2 = new java.awt.TextArea();
jButton8 = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(51, 0, 255));
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
setForeground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
addContainerListener(new java.awt.event.ContainerAdapter() {
public void componentAdded(java.awt.event.ContainerEvent evt) {
formComponentAdded(evt);
}
public void componentRemoved(java.awt.event.ContainerEvent evt) {
formComponentRemoved(evt);
}
});
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setBackground(new java.awt.Color(255, 255, 255));
jLabel1.setText("NICKNAME");
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 84, -1, 20));
jLabel2.setBackground(new java.awt.Color(255, 255, 255));
jLabel2.setText("IP");
getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 120, -1, -1));
jLabel3.setBackground(new java.awt.Color(255, 255, 255));
jLabel3.setText("PORTA");
getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 160, -1, -1));
textField1.setText("textField1");
getContentPane().add(textField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 80, 240, -1));
textField2.setText("textField2");
getContentPane().add(textField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 120, 190, -1));
textField3.setText("textField3");
getContentPane().add(textField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 160, 150, -1));
jButton1.setBackground(new java.awt.Color(255, 255, 255));
jButton1.setText("CLIENTE");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 80, -1, -1));
jButton2.setBackground(new java.awt.Color(255, 255, 255));
jButton2.setText("SERVIDOR");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
getContentPane().add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 120, -1, -1));
jButton3.setBackground(new java.awt.Color(255, 255, 255));
jButton3.setText("CONECTAR");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
getContentPane().add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 210, -1, -1));
jButton4.setBackground(new java.awt.Color(255, 255, 255));
jButton4.setText("LIMPAR");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
getContentPane().add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 210, -1, -1));
jButton5.setBackground(new java.awt.Color(255, 255, 255));
jButton5.setText("SAIR");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
getContentPane().add(jButton5, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 210, -1, -1));
getContentPane().add(textArea1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 330, 390, 60));
jButton6.setBackground(new java.awt.Color(255, 255, 255));
jButton6.setText("ENVIAR");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
getContentPane().add(jButton6, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 300, -1, -1));
jButton7.setBackground(new java.awt.Color(255, 255, 255));
jButton7.setText("CANCELAR");
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
}
});
getContentPane().add(jButton7, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 300, -1, -1));
getContentPane().add(textArea2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 420, 420, 230));
jButton8.setBackground(new java.awt.Color(255, 255, 255));
jButton8.setText("DESCONECTAR");
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});
getContentPane().add(jButton8, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 300, -1, -1));
jLabel4.setBackground(new java.awt.Color(255, 255, 255));
jLabel4.setFont(new java.awt.Font("Vineta BT", 0, 24));
jLabel4.setForeground(new java.awt.Color(255, 51, 0));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel4.setText("CHAT - MSG");
getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 10, 230, 50));
getAccessibleContext().setAccessibleName("Mariva");
pack();
}// </editor-fold>
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
LimparTela3();
x = 2;
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
if (getX() == 1) { //Condição do cliente
try {
String nick = textField1.getText(); //Variavel do nick dos clientes
Socket cliente = new Socket(textField2.getText(),
Integer.parseInt(textField3.getText()));
this.dispose();
projeto = new Projeto(cliente, nick);
projeto.setLocationRelativeTo(null);
projeto.setVisible(true);
} catch (IOException e) {
System.out.println("Erro de Conexão");
}
}
if (getX() == 2) {
try {
ServerSocket servidor = new ServerSocket(Integer.parseInt(textField3.getText()));
this.dispose(); //Limpa a tela
ArrayList<Socket> clientes = new ArrayList<Socket>();// cria um array
while (true) {
Socket cliente = servidor.accept();
clientes.add(cliente);
LeitorServidor leitor = new LeitorServidor(cliente.getInputStream(), clientes);
System.out.println(" ");
new Thread(leitor).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
Limpartela1();
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose(); // Encerrar a tela
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Executa().setVisible(true);
}
});
}
/* Métodos que modifica as telas*/
private void Limpartela1() {
jButton1.setEnabled(true);
jButton2.setEnabled(true);
jButton3.setEnabled(false);
jButton4.setEnabled(false);
jButton5.setEnabled(true);
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField1.setEnabled(false);
jTextField2.setEnabled(false);
jLabel1.setEnabled(false);
jLabel2.setEnabled(false);
jLabel3.setEnabled(false);
}
private void LimpaTela() {
jButton3.setEnabled(false);
jButton4.setEnabled(false);
jButton5.setEnabled(true);
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField1.setEnabled(false);
jTextField2.setEnabled(false);
jLabel1.setEnabled(false);
jLabel2.setEnabled(false);
jLabel3.setEnabled(false);
}
private void LimparTela2() {
jButton1.setEnabled(false);
jButton2.setEnabled(false);
jButton3.setEnabled(true);
jButton4.setEnabled(true);
jButton5.setEnabled(true);
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField1.setEnabled(true);
jTextField2.setEnabled(true);
jLabel1.setEnabled(true);
jLabel2.setEnabled(true);
jLabel3.setEnabled(true);
}
private void LimparTela3() {
jButton1.setEnabled(false);
jButton2.setEnabled(false);
jButton3.setEnabled(true);
jButton4.setEnabled(true);
jButton5.setEnabled(true);
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField1.setEnabled(false);
jTextField2.setEnabled(false);
jLabel1.setEnabled(false);
jLabel2.setEnabled(false);
jLabel3.setEnabled(false);
}
void imprimetela(String nextLine) {
throw new UnsupportedOperationException("Not yet implemented");
}
public class Projeto {
Socket cliente;
String nome; // variavel guarda nicknames
private int marcador;// variavel guarda entradas
public Projeto() {
initComponents();
}
public Projeto(Socket dados, String nome) {
initComponents();
this.cliente = dados;
this.nome = nome;
marcador = 0;
Escritor(nome);
try {
LeitorCliente leitor = new LeitorCliente(cliente.getInputStream(),this);
new Thread(leitor).start();
} catch (IOException e) {
e.printStackTrace();
}
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
String mensagem = textArea1.getText();
Escritor(mensagem);
}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
Limpartela();
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
marcador=3;
Escritor(“acabou de sair”);
this.dispose();
}
private void formComponentAdded(java.awt.event.ContainerEvent evt) {
// TODO add your handling code here:
}
private void formComponentRemoved(java.awt.event.ContainerEvent evt) {
// TODO add your handling code here:
}
/**
* @return the marcador
*/
public int getMarcador() {
return marcador;
}
class Executa.Projeto {
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Projeto().setVisible(true);
}
});
}
/* Implementação dos metodos chamados acima*/
private void Limpartela() {
textArea1.setText("");
}
private void Escritor(String projeto) {
try {
PrintStream saida = new PrintStream(getCliente().getOutputStream());
if (getMarcador() == 1) {
cifrar(projeto,7);
saida.println(cifrar(nome,7) + cifrar(" diz:",7)+ cifrar(texto,7));
Limpartela();
}
if (getMarcador() == 0) {
saida.println(cifrar(nome,7)+ cifrar(" acabou de entrar:",7));
marcador = 1;
}
if( getMarcador() == 3){
saida.println(cifrar(nome,7) + cifrar(texto,7));
}
} catch (IOException e) {
System.out.println("Erro de Conexão");
}
public void imprimetela(String s) {
textArea2.append(decifrar(s,7) + "\n");
}
void imprimetela(String nextLine) {
throw new UnsupportedOperationException("Not yet implemented");
}
private String decifrar(String s, int i) {
for (int x = 0; x < texto.length(); x++) {
index =(int) (texto.charAt(x)) + [x];
throw new UnsupportedOperationException("Not yet implemented");
}
}
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private java.awt.TextArea textArea1;
private java.awt.TextArea textArea2;
private java.awt.TextField textField1;
private java.awt.TextField textField2;
private java.awt.TextField textField3;
// End of variables declaration
}
}
}
/*
public void imprimetela(String)
textArea2.append(s + “\n”);
}
public static String CriptoEx1(){
CriptoEx1 encrypter = new CryptoEx1(key);
String encrypted = Encrypter.ecrypt("");
System.out.println(encrypted);
String decrypted = encrypter.decrypt(encrypted);
System.out.println(decrypted);
cattch (Exception e)
}
}
}
}
}
}