Por favor me ajudem estou com essa código e nao consigo atualizar o valor um embaixo do outro, quando pego do teclado.
[code]
import java.awt.Dimension;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Servidor {
public static void main(String[] args) {
//Declaro o ServerSocket
ServerSocket serv = null;
//Declaro o Socket de comunicação
Socket s = null;
//Declaro o leitor para a entrada de dados
BufferedReader entrada = null;
try {
//Cria o ServerSocket na porta 7000 se estiver disponível
serv = new ServerSocket(2222);
//Aguarda uma conexão na porta especificada e cria retorna o socket que irá comunicar com o cliente
JFrame frame = new JFrame("Comunicacao entre processos");
// cria e define o tamanho da janela
frame.setSize(new Dimension(400, 140));
JLabel label = new JLabel("Esperando alguem se conectar...");
frame.getContentPane().add(label);
// mostra a janela
frame.setVisible(true);
//
System.out.print("Esperando alguem se conectar...");
JLabel labe3 = new JLabel("Esperando alguem se conectar...");
frame.getContentPane().add(labe3);
frame.repaint();
s = serv.accept();
System.out.println("Conectou!");
JLabel labe2 = new JLabel("Conectou!");
frame.getContentPane().add(labe2);
frame.repaint();
String a = "";
while (true) {
//Cria um BufferedReader para o canal da stream de entrada de dados do socket s
entrada = new BufferedReader(new InputStreamReader(s.getInputStream()));
//Aguarda por algum dado e imprime a linha recebida quando recebe
System.out.println("Saida: " + entrada.readLine());
a = entrada.readLine().toString();
JLabel x1 = new JLabel(a);
frame.getContentPane().add(x1);
frame.repaint();
//Encerro o socket de comunicação
//s.close();
//Encerro o ServerSocket
//serv.close();
}
//trata possíveis excessões de input/output. Note que as excessões são as mesmas utilizadas para as classes de java.io
} catch (IOException e) {
//Imprime uma notificação na saída padrão caso haja algo errado.
System.out.println("Erro: " + e.getMessage());
}
}
}[/code]
se quiserem testar segue o cliente
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
public class Cliente {
public static void main(String[] args) {
//Declaracao do socket cliente
Socket cliente = null;
//Declaracao a Stream de saida de dados
PrintStream saida = null;
try {
System.out.println("Iniciando cliente...");
//Cria o socket com o recurso desejado na porta especificada
cliente = new Socket("127.0.0.1", 2222);
System.out.println(cliente);
//Cria a Stream de saida de dados
saida = new PrintStream(cliente.getOutputStream());
BufferedReader teclado =
new BufferedReader(new InputStreamReader(System.in));
//Imprime uma linha para a stream de saída de dados
while (true) {
System.out.print("Digite: ");
saida.println(teclado.readLine());
}
//Encerra o socket cliente
//s.close();
//Trata possíveis exceções
} catch (IOException e) {
System.out.println("Erro: " + e.getMessage());
}
}
O cliente ainda vou fazer a tela e tb estu com duvidas de como fazer nao tenho muida nocao em swing na parte tecnica, agradeco desde ja