diff --git a/src/main/java/forge/control/FControl.java b/src/main/java/forge/control/FControl.java index 958586e2c6a..b941f443641 100644 --- a/src/main/java/forge/control/FControl.java +++ b/src/main/java/forge/control/FControl.java @@ -322,7 +322,7 @@ public enum FControl { * TODO: Write javadoc for this method. * @return */ - private final NetServer server = new NetServer(); + private final NetServer server = new NetServer(81); public NetServer getServer() { // TODO Auto-generated method stub return server; diff --git a/src/main/java/forge/gui/FNetOverlay.java b/src/main/java/forge/gui/FNetOverlay.java index d0182872509..3fbc2a35b64 100644 --- a/src/main/java/forge/gui/FNetOverlay.java +++ b/src/main/java/forge/gui/FNetOverlay.java @@ -20,7 +20,6 @@ import javax.swing.ScrollPaneConstants; import org.apache.commons.lang3.StringUtils; import net.miginfocom.swing.MigLayout; -import forge.Command; import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FTextArea; @@ -57,7 +56,7 @@ public enum FNetOverlay { txtInput.setText(""); if ( StringUtils.isBlank(message) ) return; - addMessage(message); + addMessage("You", message); } }; @@ -83,13 +82,12 @@ public enum FNetOverlay { txtLog.setOpaque(true); txtLog.setFocusable(true); txtLog.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA)); - txtLog.setText("This is Forge chat window\n"); JScrollPane _operationLogScroller = new JScrollPane(txtLog); _operationLogScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); _operationLogScroller.setBorder(null); new SmartScroller(_operationLogScroller); - pnl.add(_operationLogScroller, "pushx, hmin 24, growy, growx, gap 2px 2px 2px 0, sx 2"); + pnl.add(_operationLogScroller, "pushx, hmin 24, pushy, growy, growx, gap 2px 2px 2px 0, sx 2"); txtInput.setBorder(BorderFactory.createLineBorder(FSkin.getColor(FSkin.Colors.CLR_BORDERS))); pnl.add(txtInput, "pushx, growx, h 26px!, gap 2px 2px 2px 0"); @@ -98,6 +96,11 @@ public enum FNetOverlay { txtInput.addActionListener(onSend); cmdSend.setCommand(new Runnable() { @Override public void run() { onSend.actionPerformed(null); } }); } + + public void showUp(String message) { + txtLog.setText(message + "\n"); + pnl.setVisible(true); + } private class OverlayPanel extends JPanel { private static final long serialVersionUID = -5056220798272120558L; @@ -131,8 +134,8 @@ public enum FNetOverlay { } SimpleDateFormat inFormat = new SimpleDateFormat("HH:mm:ss"); - public void addMessage(String message) { - String toAdd = String.format("[%s]: %s%n", inFormat.format(new Date()), message); + public void addMessage(String origin, String message) { + String toAdd = String.format("[%s] %s: %s%n", inFormat.format(new Date()), origin, message); txtLog.append(toAdd); } } diff --git a/src/main/java/forge/gui/home/CHomeUI.java b/src/main/java/forge/gui/home/CHomeUI.java index 666bf04db06..90957eb698d 100644 --- a/src/main/java/forge/gui/home/CHomeUI.java +++ b/src/main/java/forge/gui/home/CHomeUI.java @@ -9,6 +9,7 @@ import forge.gui.deckeditor.controllers.CEditorConstructed; import forge.gui.framework.EDocID; import forge.gui.framework.ICDoc; import forge.gui.home.sanctioned.VSubmenuConstructed; +import forge.net.NetServer; import forge.properties.ForgePreferences; import forge.properties.ForgePreferences.FPref; @@ -76,18 +77,20 @@ public enum CHomeUI implements ICDoc { } }); - VHomeUI.SINGLETON_INSTANCE.getLblStartServer().setCommand(new Command() { + VHomeUI.SINGLETON_INSTANCE.getLblStartServer().setCommand(new Runnable() { @Override public void run() { - FControl.SINGLETON_INSTANCE.getServer().listen(); + NetServer srv = FControl.SINGLETON_INSTANCE.getServer(); + srv.listen(); + VHomeUI.SINGLETON_INSTANCE.getLblStopServer().setEnabled(true); VHomeUI.SINGLETON_INSTANCE.getLblStartServer().setEnabled(false); - FNetOverlay.SINGLETON_INSTANCE.getPanel().setVisible(true); + FNetOverlay.SINGLETON_INSTANCE.showUp("Server listening on port " + srv.getPortNumber()); } }); - VHomeUI.SINGLETON_INSTANCE.getLblStopServer().setCommand(new Command() { + VHomeUI.SINGLETON_INSTANCE.getLblStopServer().setCommand(new Runnable() { @Override public void run() { FControl.SINGLETON_INSTANCE.getServer().stop(); diff --git a/src/main/java/forge/net/NetServer.java b/src/main/java/forge/net/NetServer.java index 5eec5b6e367..aede748aee1 100644 --- a/src/main/java/forge/net/NetServer.java +++ b/src/main/java/forge/net/NetServer.java @@ -27,10 +27,17 @@ public class NetServer { private final Server srv = new Server(); private final Set _openSockets = new CopyOnWriteArraySet(); + + public final int portNumber; - public NetServer() { + public final int getPortNumber() { + return portNumber; + } + + public NetServer(int port) { + portNumber = port; SelectChannelConnector connector= new SelectChannelConnector(); - connector.setPort(81); + connector.setPort(portNumber); srv.addConnector(connector); ServletContextHandler context = new ServletContextHandler();