minor improvements to chat window

This commit is contained in:
Maxmtg
2013-04-17 11:58:31 +00:00
parent 4c4430e793
commit f1b1100c89
4 changed files with 26 additions and 13 deletions

View File

@@ -322,7 +322,7 @@ public enum FControl {
* TODO: Write javadoc for this method. * TODO: Write javadoc for this method.
* @return * @return
*/ */
private final NetServer server = new NetServer(); private final NetServer server = new NetServer(81);
public NetServer getServer() { public NetServer getServer() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return server; return server;

View File

@@ -20,7 +20,6 @@ import javax.swing.ScrollPaneConstants;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.Command;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FTextArea; import forge.gui.toolbox.FTextArea;
@@ -57,7 +56,7 @@ public enum FNetOverlay {
txtInput.setText(""); txtInput.setText("");
if ( StringUtils.isBlank(message) ) if ( StringUtils.isBlank(message) )
return; return;
addMessage(message); addMessage("You", message);
} }
}; };
@@ -83,13 +82,12 @@ public enum FNetOverlay {
txtLog.setOpaque(true); txtLog.setOpaque(true);
txtLog.setFocusable(true); txtLog.setFocusable(true);
txtLog.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA)); txtLog.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA));
txtLog.setText("This is Forge chat window\n");
JScrollPane _operationLogScroller = new JScrollPane(txtLog); JScrollPane _operationLogScroller = new JScrollPane(txtLog);
_operationLogScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); _operationLogScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
_operationLogScroller.setBorder(null); _operationLogScroller.setBorder(null);
new SmartScroller(_operationLogScroller); 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))); txtInput.setBorder(BorderFactory.createLineBorder(FSkin.getColor(FSkin.Colors.CLR_BORDERS)));
pnl.add(txtInput, "pushx, growx, h 26px!, gap 2px 2px 2px 0"); pnl.add(txtInput, "pushx, growx, h 26px!, gap 2px 2px 2px 0");
@@ -98,6 +96,11 @@ public enum FNetOverlay {
txtInput.addActionListener(onSend); txtInput.addActionListener(onSend);
cmdSend.setCommand(new Runnable() { @Override public void run() { onSend.actionPerformed(null); } }); 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 class OverlayPanel extends JPanel {
private static final long serialVersionUID = -5056220798272120558L; private static final long serialVersionUID = -5056220798272120558L;
@@ -131,8 +134,8 @@ public enum FNetOverlay {
} }
SimpleDateFormat inFormat = new SimpleDateFormat("HH:mm:ss"); SimpleDateFormat inFormat = new SimpleDateFormat("HH:mm:ss");
public void addMessage(String message) { public void addMessage(String origin, String message) {
String toAdd = String.format("[%s]: %s%n", inFormat.format(new Date()), message); String toAdd = String.format("[%s] %s: %s%n", inFormat.format(new Date()), origin, message);
txtLog.append(toAdd); txtLog.append(toAdd);
} }
} }

View File

@@ -9,6 +9,7 @@ import forge.gui.deckeditor.controllers.CEditorConstructed;
import forge.gui.framework.EDocID; import forge.gui.framework.EDocID;
import forge.gui.framework.ICDoc; import forge.gui.framework.ICDoc;
import forge.gui.home.sanctioned.VSubmenuConstructed; import forge.gui.home.sanctioned.VSubmenuConstructed;
import forge.net.NetServer;
import forge.properties.ForgePreferences; import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref; 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 @Override
public void run() { 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.getLblStopServer().setEnabled(true);
VHomeUI.SINGLETON_INSTANCE.getLblStartServer().setEnabled(false); 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 @Override
public void run() { public void run() {
FControl.SINGLETON_INSTANCE.getServer().stop(); FControl.SINGLETON_INSTANCE.getServer().stop();

View File

@@ -27,10 +27,17 @@ public class NetServer {
private final Server srv = new Server(); private final Server srv = new Server();
private final Set<ClientSocket> _openSockets = new CopyOnWriteArraySet<ClientSocket>(); private final Set<ClientSocket> _openSockets = new CopyOnWriteArraySet<ClientSocket>();
public final int portNumber;
public NetServer() { public final int getPortNumber() {
return portNumber;
}
public NetServer(int port) {
portNumber = port;
SelectChannelConnector connector= new SelectChannelConnector(); SelectChannelConnector connector= new SelectChannelConnector();
connector.setPort(81); connector.setPort(portNumber);
srv.addConnector(connector); srv.addConnector(connector);
ServletContextHandler context = new ServletContextHandler(); ServletContextHandler context = new ServletContextHandler();