Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Laci

Iniciando em java: chat e instanciação

Recommended Posts

Bom dia!

 

Estou iniciando em java, portanto perdoem qualquer gafe :D !

Gostaria de saber como faço para utilizar os componentes de um jframe em outra classe. Exemplo: Na classe A eu quero pegar o que foi digitado no txt do jframe B...

 

Já aproveitando...Estou tentando desenvolver um pequeno chat de múltiplos clientes, já fiz a parte que aceita os clientes, dentro de um while(para ficar aguardando as novas conexões de clientes), mas enquanto aguarda, preciso que os que já estão conectados conversem normalmente. Logo, pensei em criar uma thread que distribua as mensagens do povo...Mas nem sei por onde começar :/ Alguma dica??

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia

eu tambem estou iniciando em java

seguinte, você cria os campos que você quer q o programa guarde em um classe e encapsula esses campos

chama a classe dentro do seu jframe, pega o texto escrito no txt e da um set no no campo que você deseja

para mandar a informação para outro jframe é so voce chamar a classe que voce encapsulou os campo e ta um get

Muito Simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia sobre o design pattern Mediator, é exatamente o que você precisa:

 

com.example.chat.core.Colleague

package com.example.chat.core;

public interface Colleague {
	public String getName();
	public void send( String message );
	public void receive( String message , Colleague colleague );
}

com.example.chat.core.Mediator

package com.example.chat.core;

public interface Mediator {
	public void send( Colleague colleague , String message );
	public Colleague createColleague( String name );
}

com.example.chat.ChatParticipant

package com.example.chat;

import com.example.chat.core.Colleague;
import com.example.chat.core.Mediator;

public class ChatParticipant implements Colleague {
	private String name;
	private Mediator mediator;

	public ChatParticipant( Mediator chatMediator , String participantName ){
		name = participantName;
		mediator = chatMediator;
	}
	
	public String getName(){
		return name;
	}
	
	public void send( String message ){
		mediator.send( this , message );
	}
	
	public void receive( String message , Colleague colleague ){
		System.out.printf( "%s para %s: %s\n" , colleague.getName() , this.getName() , message );
	}
}

com.example.chat.ChatRoom

package com.example.chat;

import java.util.ArrayList;
import com.example.chat.core.Colleague;
import com.example.chat.core.Mediator;

public class ChatRoom implements Mediator {
	private ArrayList<Colleague> participants;
	
	public ChatRoom(){
		participants = new ArrayList<Colleague>();
	}
	
	public void send( Colleague colleague , String message ) {
		for ( int i = 0 , t = participants.size() ; i < t ; ++i ){
			Colleague participant = participants.get( i );
			if ( !participant.equals( colleague ) ){
				participant.receive( message , colleague );
			}
		}
	}

	public Colleague createColleague( String name ) {
		Colleague participant = new ChatParticipant( this , name );
		
		participants.add( participant );
		
		return participant;
	}
}

com.example.Chat

package com.example;

import com.example.chat.core.Mediator;
import com.example.chat.core.Colleague;
import com.example.chat.ChatRoom;

public class Chat {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Mediator chatRoom = new ChatRoom();
		
		Colleague laci = chatRoom.createColleague( "Laci" );
		Colleague reda = chatRoom.createColleague( "Guilherme Reda" );
		Colleague neto = chatRoom.createColleague( "Neto" );
		
		laci.send( "Como criar um chat ?" );
		neto.send( "Laci, Utilize o design pattern Mediator, é a solução para seu problema" );
	}
}

Saída:

Laci para Guilherme Reda: Como criar um chat ?

Laci para Neto: Como criar um chat ?

Neto para Laci: Laci, Utilize o design pattern Mediator, é a solução para seu problema

Neto para Guilherme Reda: Laci, Utilize o design pattern Mediator, é a solução para seu problema

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.