123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package chatprogramm.controller;
-
- import chatprogramm.model.Transmitter;
- import chatprogramm.logger.OhmLogger;
- import chatprogramm.view.ChatView;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.util.logging.Logger;
- import javax.swing.JOptionPane;
-
- /**
- *
- * @author Marian
- */
- public class ConnectController implements ActionListener
- {
- private Transmitter model;
- private ChatView view;
- private static Logger logger = OhmLogger.getLogger();
-
- public ConnectController(Transmitter model, ChatView view)
- {
- this.model = model;
- this.view = view;
- }
-
- public void registerEvents()
- {
- this.view.getBtConnect().addActionListener(this);
- this.view.getRbClient().addActionListener(this);
- this.view.getRbServer().addActionListener(this);
- }
-
- @Override
- public void actionPerformed(ActionEvent ae)
- {
- Object object = ae.getSource();
-
- if (object == view.getBtConnect())
- {
- int port = -1;
-
- try {
- port = Integer.parseInt(view.getTfPort().getText());
- } catch (NumberFormatException e) {
- JOptionPane.showMessageDialog(view, "Port ungültig! Muss eine Zahl sein");
- logger.severe(e.toString());
- return;
- }
-
- if (view.getRbClient().isSelected() && (validIP(view.getTfIP().getText()) == false)) {
- JOptionPane.showMessageDialog(view, "Ungültige IP-Adresse!");
- logger.severe("IP-Adresse ungültig");
- return;
- }
-
- model.connectToPeer(view.getRbServer().isSelected(), view.getTfIP().getText(), port);
-
- view.getRbClient().setEnabled(false);
- view.getRbServer().setEnabled(false);
- view.getTfIP().setEnabled(false);
- view.getTfPort().setEnabled(false);
- }
- }
-
- private boolean validIP (String ip)
- {
- try
- {
- if (ip == null || ip.isEmpty())
- {
- return false;
- }
-
- String[] parts = ip.split("\\.");
- if ( parts.length != 4 )
- {
- return false;
- }
-
- for (String s : parts)
- {
- int i = Integer.parseInt(s);
- if ((i < 0) || (i > 255))
- {
- return false;
- }
- }
- if (ip.endsWith("."))
- {
- return false;
- }
-
- return true;
- }
- catch (NumberFormatException e)
- {
- logger.severe(e.toString());
- return false;
- }
- }
- }
|