Browse Source

richtiger Chat

Toni
ahren 1 year ago
parent
commit
b0e1bd16f3

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

@@ -42,7 +42,7 @@ public class CommandSend implements CommandInterface
public void execute()
{
if(transmitterInterface != null && !eingabeFeld.getText().isEmpty()){
transmitterInterface.send(new Nachricht("Du: " + eingabeFeld.getText()));
transmitterInterface.send(eingabeFeld.getText());
eingabeFeld.setText("");
}
}

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

@@ -30,7 +30,7 @@ public class ReceiveAdapter implements Subscriber<Nachricht> {
@Override
public void onNext(Nachricht item) {

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


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

@@ -38,6 +38,7 @@ public abstract class Transmitter implements Runnable, Subscriber<String>, Trans
protected PrintWriter writer;
private Nachricht nachricht;
private String txtNachricht;
private boolean laufend;
private SubmissionPublisher<Nachricht> textPublisher;
private ExecutorService eService;
@@ -53,6 +54,7 @@ public abstract class Transmitter implements Runnable, Subscriber<String>, Trans
textPublisher = new SubmissionPublisher<>();
this.view = view;
addWertSubscription(receiveAdapter);
nachricht = new Nachricht("");
}
public void addWertSubscription(Subscriber<Nachricht> subscriber)
@@ -84,20 +86,20 @@ public abstract class Transmitter implements Runnable, Subscriber<String>, Trans
}
}
public void send(Nachricht nachricht){
writer.println(nachricht.getNachricht());
public void send(String txtNachricht){
writer.println(txtNachricht);
writer.flush();
lg.info("Nachricht gesendet");
nachricht.setNachricht("\nDu: " + txtNachricht);
textPublisher.submit(nachricht);
}
public Nachricht receive(){
Nachricht nachricht = new Nachricht("");
try {
String txtNachricht = reader.readLine();
txtNachricht = reader.readLine();
if(!txtNachricht.isEmpty()){
lg.info("Nachricht erhalten");
nachricht.setNachricht("Er / Sie: " + txtNachricht);
nachricht.setNachricht("\nEr / Sie: " + txtNachricht);
return nachricht;
}

@@ -118,9 +120,9 @@ public abstract class Transmitter implements Runnable, Subscriber<String>, Trans
while (true) {
lg.info("Warte auf Nachricht");
if(laufend) {
Nachricht eingehendeNachricht = receive();
if(!eingehendeNachricht.getNachricht().isEmpty()){
textPublisher.submit(eingehendeNachricht);
nachricht = receive();
if(!nachricht.getNachricht().isEmpty()){
textPublisher.submit(nachricht);
}
}
else{

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

@@ -11,7 +11,7 @@ import ChatProgramm.model.Nachricht;
*/
public interface TransmitterInterface
{
public void send(Nachricht nachricht);
public void send(String txtNachricht);
public Nachricht receive();

}

Loading…
Cancel
Save