From 8c95a98748e62693dbc022677983901836cc8a96 Mon Sep 17 00:00:00 2001 From: chehaoc <chehao.chang@student.unimelb.edu.au> Date: Thu, 24 Oct 2019 19:35:15 +1100 Subject: [PATCH] fix communication issue & invisible text issue --- src/GUI/DrawingArea.java | 2 +- src/remote/IDrawingController.java | 2 +- src/server/DrawingController.java | 5 +++-- src/server/Server.java | 10 ++++++++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/GUI/DrawingArea.java b/src/GUI/DrawingArea.java index c1f7a65..1d7c5b9 100644 --- a/src/GUI/DrawingArea.java +++ b/src/GUI/DrawingArea.java @@ -209,7 +209,7 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis g2.setFont(new Font("TimesRoman", Font.PLAIN, textSize)); g2.drawString(textString, startPoint.x, startPoint.y); try { - client.getDrawingController().broadcastText(client.getUserName(), textString, g2.getFont(), startPoint); + client.getDrawingController().broadcastText(client.getUserName(), textString, g2.getFont(), shapeColor, startPoint); } catch (RemoteException ex) { ex.printStackTrace(); } diff --git a/src/remote/IDrawingController.java b/src/remote/IDrawingController.java index be96a21..3aa40d3 100644 --- a/src/remote/IDrawingController.java +++ b/src/remote/IDrawingController.java @@ -15,7 +15,7 @@ import java.rmi.RemoteException; */ public interface IDrawingController extends Remote { - boolean broadcastText(String fromClient, String text, Font font, Point startPoint) throws RemoteException; + boolean broadcastText(String fromClient, String text, Font font, Color color, Point startPoint) throws RemoteException; boolean broadcastDrawing(String fromClient, Shape drawing, String mode, Color color, int strokeSize) throws RemoteException; boolean broadcastDraggingDrawing(String fromClient, Shape drawing, String mode, Color color, int strokeSize) throws RemoteException; boolean broadcastClearCanvas(String fromClient) throws RemoteException; diff --git a/src/server/DrawingController.java b/src/server/DrawingController.java index 00d42fc..d744ba6 100644 --- a/src/server/DrawingController.java +++ b/src/server/DrawingController.java @@ -3,6 +3,7 @@ package server; import remote.IDrawingController; import remote.IDrawingUpdate; +import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; @@ -29,13 +30,13 @@ public class DrawingController extends UnicastRemoteObject implements IDrawingCo } @Override - public boolean broadcastText(String fromClient, String text, Font font, Point startPoint) throws RemoteException { + public boolean broadcastText(String fromClient, String text, Font font, Color color, Point startPoint) throws RemoteException { System.out.print("Broadcasting drawing to everyone..."); g2 = (Graphics2D) bufferedImage.getGraphics(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setFont(font); -// g2.setPaint(Color.BLACK); + g2.setPaint(color); g2.drawString(text, startPoint.x, startPoint.y); g2 = (Graphics2D) bufferedImage.getGraphics(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); diff --git a/src/server/Server.java b/src/server/Server.java index 1063d88..5a9b983 100644 --- a/src/server/Server.java +++ b/src/server/Server.java @@ -60,6 +60,16 @@ public class Server public void run() throws RemoteException { + String serverIP = ""; + try { + InetAddress inetAddress = InetAddress.getLocalHost(); + serverIP = inetAddress.getHostAddress(); + } catch (Exception e) { + e.printStackTrace(); + } + + System.setProperty("java.rmi.server.hostname", serverIP); + LocateRegistry.createRegistry(1099); Registry registry = LocateRegistry.getRegistry(); // if (System.getSecurityManager() == null) { -- GitLab