boas… tou com o seguinte problema.
Estou a tentar mandar mensagem para uma determinada pessoa… estou a usar uma list em que me insere os nomes nessa lista, e eu gostava quando clicasse no nome ele me enviase só pra esse nome. é que o codigo que vou mostrar em seguida está me a mandar pra todos os nomes k aparecem na lista
[code] private void btnEnviaMensagemActionPerformed(java.awt.event.ActionEvent evt) {
try
{
// TODO add your handling code here:
utilizador.EnviaListaTXT(txtDigitarMensagem.getText()+"\n");
txtDigitarMensagem.setText("");
}
catch (Exception ex)
{
Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);
}[/code]
este código é quando eu carrego no botao enviar a mensagem
em seguida mostro o restante processo de envio, em que neste caso está me a mandar pra todos que aparecem na lista
public void getLista() throws Exception
{
// ## Configuration Options ##
String Lista = "";
URL urlServer = new URL("http://xxxxxxx="+IPCliente);
BufferedReader in = new BufferedReader( new InputStreamReader(urlServer.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
{
System.out.println(inputLine);
Lista = Lista + inputLine;
}
in.close();
//System.out.println("Utilizadores - Lista recebida");
//System.out.println(List);
//Dividir String para ArrayList
String[] result = Lista.split(";");
//arrayUtilizadores = new ArrayList();
for (int x=0; x<result.length; x++)
{
int ipcheck = 0;
for(int i = 0; i < arrayUtilizador.size(); i++ )
{
ArrayList p = (ArrayList)arrayUtilizador.get(i);
if(p.get(0).equals(result[x].toString()))
{
ipcheck++;
}
}
if(ipcheck==0)
{
ArrayList user = new ArrayList(); //Novo Arraylist que guarda a informaçao de apenas um utilizador
user.add(0, result[x]); //IP
user.add(1, ""); //Nome
user.add(2, ""); //Estado
//arrayUtilizadores.add(x, user);
arrayUtilizador.add(user);
cliente.txtPresencas.add(result[x]+"\n");
//System.out.println("Utilizadores - IP -> " + user);
}
}
printUsers();
//return List;
}
public void addIP(String ip) throws Exception
{
ArrayList user = new ArrayList(); //Novo Arraylist que guarda a informaçao de apenas um utilizador
user.add(0, ip); //IP
user.add(1, ""); //Nome
user.add(2, ""); //Estado
arrayUtilizador.add(user);
cliente.txtPresencas.add(ip+"\n");
//System.out.println("IP -> " + user);
}
public void getInfoLista() throws Exception
{
for(int i = 0; i < arrayUtilizador.size(); i++ )
{
ArrayList p = (ArrayList)arrayUtilizador.get(i);
String info = "";
EnviarMensagem message = new EnviarMensagem();
info = message.sendInfoReq(p.get(0).toString(), UtilizadorCliente, EstadoCliente);
System.out.println("Info Recebida -> " + info);
if(info != null)
{
String[] result = info.split(";");
if(result[0].equals("DESLIGADO"))
{
p.set(2, result[0]);
arrayUtilizador.set(i, p);
System.out.println("User desligado -> " + p.get(0));
}
else
{
if(result.length==2)
{
p.set(1, result[0]);
p.set(2, result[1]);
arrayUtilizador.set(i, p);
//System.out.println("User ligado -> " + p);
}
}
}
}
printUsers();
}
public void EnviaListaTXT(String texto) throws Exception
{
for(int i = 0; i < arrayUtilizador.size(); i++ )
{
ArrayList p = (ArrayList)arrayUtilizador.get(i);
EnviarMensagem messagem = new EnviarMensagem();
messagem.enviatxtMSG(p.get(0).toString(), IPCliente, UtilizadorCliente, texto);
System.out.println("Utilizadores.EnviaListaTXT - Mensagem enviada a -> "+p.get(0).toString());
}
}
Nao sei se me consegui explicar…