Browse Source

richtiger Chat

Toni
ahren 1 year ago
parent
commit
b0e1bd16f3

+ 1
- 1
src/ChatProgramm/controller/commands/CommandSend.java View File

public void execute() public void execute()
{ {
if(transmitterInterface != null && !eingabeFeld.getText().isEmpty()){ if(transmitterInterface != null && !eingabeFeld.getText().isEmpty()){
transmitterInterface.send(new Nachricht("Du: " + eingabeFeld.getText()));
transmitterInterface.send(eingabeFeld.getText());
eingabeFeld.setText(""); eingabeFeld.setText("");
} }
} }

+ 1
- 1
src/ChatProgramm/model/ReceiveAdapter.java View File

@Override @Override
public void onNext(Nachricht item) { public void onNext(Nachricht item) {


view.getTxtChat().append("\n" + item.getNachricht());
view.getTxtChat().append(item.getNachricht());
this.subscription.request(1); this.subscription.request(1);
} }



+ 11
- 9
src/ChatProgramm/model/Transmitter.java View File

protected PrintWriter writer; protected PrintWriter writer;
private Nachricht nachricht; private Nachricht nachricht;
private String txtNachricht;
private boolean laufend; private boolean laufend;
private SubmissionPublisher<Nachricht> textPublisher; private SubmissionPublisher<Nachricht> textPublisher;
private ExecutorService eService; private ExecutorService eService;
textPublisher = new SubmissionPublisher<>(); textPublisher = new SubmissionPublisher<>();
this.view = view; this.view = view;
addWertSubscription(receiveAdapter); addWertSubscription(receiveAdapter);
nachricht = new Nachricht("");
} }
public void addWertSubscription(Subscriber<Nachricht> subscriber) public void addWertSubscription(Subscriber<Nachricht> subscriber)
} }
} }
public void send(Nachricht nachricht){
writer.println(nachricht.getNachricht());
public void send(String txtNachricht){
writer.println(txtNachricht);
writer.flush(); writer.flush();
lg.info("Nachricht gesendet"); lg.info("Nachricht gesendet");
nachricht.setNachricht("\nDu: " + txtNachricht);
textPublisher.submit(nachricht); textPublisher.submit(nachricht);
} }
public Nachricht receive(){ public Nachricht receive(){
Nachricht nachricht = new Nachricht("");
try { try {
String txtNachricht = reader.readLine();
txtNachricht = reader.readLine();
if(!txtNachricht.isEmpty()){ if(!txtNachricht.isEmpty()){
lg.info("Nachricht erhalten"); lg.info("Nachricht erhalten");
nachricht.setNachricht("Er / Sie: " + txtNachricht);
nachricht.setNachricht("\nEr / Sie: " + txtNachricht);
return nachricht; return nachricht;
} }


while (true) { while (true) {
lg.info("Warte auf Nachricht"); lg.info("Warte auf Nachricht");
if(laufend) { if(laufend) {
Nachricht eingehendeNachricht = receive();
if(!eingehendeNachricht.getNachricht().isEmpty()){
textPublisher.submit(eingehendeNachricht);
nachricht = receive();
if(!nachricht.getNachricht().isEmpty()){
textPublisher.submit(nachricht);
} }
} }
else{ else{

+ 1
- 1
src/ChatProgramm/model/TransmitterInterface.java View File

*/ */
public interface TransmitterInterface public interface TransmitterInterface
{ {
public void send(Nachricht nachricht);
public void send(String txtNachricht);
public Nachricht receive(); public Nachricht receive();


} }

Loading…
Cancel
Save