diff --git a/cs654/proj1/KaZaGUI.java b/cs654/proj1/KaZaGUI.java index 2f721e3..65dca91 100644 --- a/cs654/proj1/KaZaGUI.java +++ b/cs654/proj1/KaZaGUI.java @@ -15,8 +15,11 @@ public class KaZaGUI extends JFrame private JTextField m_serverField; private ActionEventHandler m_handler; private JComboBox m_speedCombo; - KaZaClient m_client; - KaZaServer m_server; + private KaZaClient m_client; + private KaZaServer m_server; + private Thread m_serverThread; + private JTextField m_serverStatusField; + private JButton m_serverStartButton; public KaZaGUI() { @@ -72,6 +75,12 @@ public class KaZaGUI extends JFrame m_shareFolderField.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() { + m_serverStatusField = new JTextField(); + m_serverStartButton = new JButton("Start Server"); + m_serverStartButton.addActionListener(m_handler); + JPanel serverPanel = new JPanel(); 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), 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; } } diff --git a/cs654/proj1/KaZaServer.java b/cs654/proj1/KaZaServer.java index 460d86f..8dd0c6c 100644 --- a/cs654/proj1/KaZaServer.java +++ b/cs654/proj1/KaZaServer.java @@ -8,8 +8,14 @@ public class KaZaServer implements Runnable public static final int LISTEN_PORT = 3442; private ServerSocket m_serverSocket; + public KaZaServer() + { + System.out.println("KaZaServer was created"); + } + public void run() { + System.out.println("Listening on " + LISTEN_PORT); try { m_serverSocket = new ServerSocket(LISTEN_PORT);