add missing controller package
This commit is contained in:
parent
bbec150a35
commit
45e094d635
81
src/netz/controller/CommandConnect.java
Normal file
81
src/netz/controller/CommandConnect.java
Normal file
@ -0,0 +1,81 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package netz.controller;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.IOException;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
import java.util.logging.Logger;
|
||||
import ohmlogger.OhmLogger;
|
||||
import netz.model.ChatModel;
|
||||
import netz.view.ChatView;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author hd, chris
|
||||
*/
|
||||
public class CommandConnect implements ActionListener
|
||||
{
|
||||
|
||||
private static Logger lg = OhmLogger.getLogger();
|
||||
ChatView view;
|
||||
ChatModel model;
|
||||
|
||||
private static final int PORT = 35000;
|
||||
private static final String IP_ADRESSE = "127.0.0.1";
|
||||
|
||||
|
||||
public CommandConnect(ChatView view, ChatModel transmitter)
|
||||
{
|
||||
this.view = view;
|
||||
this.model = transmitter;
|
||||
}
|
||||
|
||||
public void registerEvents(){
|
||||
view.getBtnSetServer().addActionListener(this);
|
||||
view.getBtnSetClient().addActionListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
||||
Object src = e.getSource();
|
||||
|
||||
// connect to server
|
||||
if(src == view.getBtnSetServer()){
|
||||
synchronized (this){
|
||||
try {
|
||||
view.getLblType().setText("Server");
|
||||
ServerSocket sSocket = new ServerSocket(PORT);
|
||||
lg.info("Server: Warte auf Verbindung ...");
|
||||
Socket s = sSocket.accept(); // Achtung: blockiert!
|
||||
lg.info("Server: Verbindung akzeptiert");
|
||||
model.setSocket(s);
|
||||
} catch (IOException ex) {
|
||||
lg.severe(ex.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// connect to vlient
|
||||
if(src == view.getBtnSetClient()){
|
||||
synchronized (this){
|
||||
try {
|
||||
view.getLblType().setText("Client");
|
||||
lg.info("Client: verbinde ...");
|
||||
Socket s = new Socket(IP_ADRESSE, PORT); // Achtung: blockiert!
|
||||
lg.info("Client: Verbindung hergestellt");
|
||||
model.setSocket(s);
|
||||
} catch (IOException ex) {
|
||||
lg.severe(ex.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
52
src/netz/controller/CommandSend.java
Normal file
52
src/netz/controller/CommandSend.java
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package netz.controller;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.logging.Logger;
|
||||
import ohmlogger.OhmLogger;
|
||||
import netz.model.ChatModel;
|
||||
import netz.view.ChatView;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author hd, christ
|
||||
*/
|
||||
public class CommandSend implements ActionListener
|
||||
{
|
||||
private static Logger lg = OhmLogger.getLogger();
|
||||
ChatView view;
|
||||
ChatModel model;
|
||||
|
||||
public CommandSend(ChatView view, ChatModel model)
|
||||
{
|
||||
this.view = view;
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
|
||||
public void registerEvents(){
|
||||
view.getBtnSend().addActionListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
Object src = e.getSource();
|
||||
|
||||
if(src == view.getBtnSend()){
|
||||
String msg = view.getTxtField().getText();
|
||||
if(msg != ""){
|
||||
model.sendMessage(msg);
|
||||
view.getLblStatusDialog().setText("Nachricht gesendet");
|
||||
view.getjTextArea().append("Ich: " + msg +"\n");
|
||||
}
|
||||
view.getTxtField().setText("");
|
||||
}
|
||||
}
|
||||
}
|
63
src/netz/controller/ReceiveAdapter.java
Normal file
63
src/netz/controller/ReceiveAdapter.java
Normal file
@ -0,0 +1,63 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package netz.controller;
|
||||
|
||||
import java.util.concurrent.Flow;
|
||||
import java.util.logging.Logger;
|
||||
import ohmlogger.OhmLogger;
|
||||
import netz.model.ChatModel;
|
||||
import netz.view.ChatView;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author hd, chris
|
||||
*/
|
||||
|
||||
public class ReceiveAdapter implements Flow.Subscriber<String>
|
||||
{
|
||||
private static Logger lg = OhmLogger.getLogger();
|
||||
|
||||
private ChatView view;
|
||||
private ChatModel model;
|
||||
private Flow.Subscription subscription;
|
||||
|
||||
public ReceiveAdapter(ChatView view, ChatModel model)
|
||||
{
|
||||
this.view = view;
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public void subscribe()
|
||||
{
|
||||
model.addSubscription(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubscribe(Flow.Subscription subscription)
|
||||
{
|
||||
this.subscription = subscription;
|
||||
subscription.request(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(String item)
|
||||
{
|
||||
view.getLblStatusDialog().setText("Nachricht empfangen");
|
||||
view.getjTextArea().append("Partner: " + item + "\n");
|
||||
//System.out.println(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable throwable)
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete()
|
||||
{
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user