From 51a57271b34abf5492722ad1e45ee4a5ac725e07 Mon Sep 17 00:00:00 2001 From: josh Date: Sat, 8 Mar 2008 18:57:52 +0000 Subject: [PATCH] server listening on button press in GUI git-svn-id: svn://anubis/gvsu@30 45c1a28c-8058-47b2-ae61-ca45b979098e --- cs654/proj1/KaZaGUI.java | 35 +++++++++++++++++++++++++++++++---- cs654/proj1/KaZaServer.java | 6 ++++++ 2 files changed, 37 insertions(+), 4 deletions(-) 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);