server listening on button press in GUI

git-svn-id: svn://anubis/gvsu@30 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
josh 2008-03-08 18:57:52 +00:00
parent c84d3e4b0b
commit 51a57271b3
2 changed files with 37 additions and 4 deletions

View File

@ -15,8 +15,11 @@ public class KaZaGUI extends JFrame
private JTextField m_serverField; private JTextField m_serverField;
private ActionEventHandler m_handler; private ActionEventHandler m_handler;
private JComboBox m_speedCombo; private JComboBox m_speedCombo;
KaZaClient m_client; private KaZaClient m_client;
KaZaServer m_server; private KaZaServer m_server;
private Thread m_serverThread;
private JTextField m_serverStatusField;
private JButton m_serverStartButton;
public KaZaGUI() public KaZaGUI()
{ {
@ -72,6 +75,12 @@ public class KaZaGUI extends JFrame
m_shareFolderField.getText(), m_shareFolderField.getText(),
m_serverField.getText()); m_serverField.getText());
} }
else if (e.getSource() == m_serverStartButton)
{
m_server = new KaZaServer();
m_serverThread = new Thread(m_server);
m_serverThread.start();
}
} }
} }
@ -173,12 +182,30 @@ public class KaZaGUI extends JFrame
private JPanel getServerPanel() private JPanel getServerPanel()
{ {
m_serverStatusField = new JTextField();
m_serverStartButton = new JButton("Start Server");
m_serverStartButton.addActionListener(m_handler);
JPanel serverPanel = new JPanel(); JPanel serverPanel = new JPanel();
serverPanel.setLayout(new BoxLayout(serverPanel, BoxLayout.Y_AXIS)); serverPanel.setLayout(new BoxLayout(serverPanel, BoxLayout.Y_AXIS));
serverPanel.add(new JLabel("Clients:")); JPanel p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
p.add(new JLabel("Clients:"));
p.add(new Box.Filler(new Dimension(0, 0), new Dimension(Short.MAX_VALUE, 0),
new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)));
serverPanel.add(p);
serverPanel.add(new Box.Filler(new Dimension(0, 0), serverPanel.add(new Box.Filler(new Dimension(0, 0),
new Dimension(0, Short.MAX_VALUE), new Dimension(0, Short.MAX_VALUE),
new Dimension(0, Short.MAX_VALUE))); new Dimension(Short.MAX_VALUE,
Short.MAX_VALUE)));
p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
p.add(m_serverStatusField);
p.add(new Box.Filler(new Dimension(0, 0),
new Dimension(Short.MAX_VALUE, 0),
new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)));
p.add(m_serverStartButton);
serverPanel.add(p);
return serverPanel; return serverPanel;
} }
} }

View File

@ -8,8 +8,14 @@ public class KaZaServer implements Runnable
public static final int LISTEN_PORT = 3442; public static final int LISTEN_PORT = 3442;
private ServerSocket m_serverSocket; private ServerSocket m_serverSocket;
public KaZaServer()
{
System.out.println("KaZaServer was created");
}
public void run() public void run()
{ {
System.out.println("Listening on " + LISTEN_PORT);
try { try {
m_serverSocket = new ServerSocket(LISTEN_PORT); m_serverSocket = new ServerSocket(LISTEN_PORT);