search results displaying in GUI!!!

git-svn-id: svn://anubis/gvsu@48 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
josh 2008-03-09 00:41:30 +00:00
parent 438f7aee8f
commit 7d32bc5dca

View File

@ -23,6 +23,9 @@ public class KaZaGUI extends JFrame
private JTextField m_serverNameField;
private JTextField m_queryField;
private JComboBox m_speedCombo;
private JPanel m_searchResultsPanel;
private JScrollPane m_searchResultsScrollPane;
private JList m_searchResultsList;
/* server tab components */
private JLabel m_serverClientsLabel;
@ -114,16 +117,7 @@ public class KaZaGUI extends JFrame
if ( m_client != null && m_client.connected() &&
(!m_queryField.getText().trim().equals("")) )
{
Vector<KaZaClient.SearchResult> results =
m_client.performSearch(m_queryField.getText());
for (KaZaClient.SearchResult r : results)
{
System.out.println("Result: " +
r.peerAddress + ", " +
r.userName + ", " +
r.fileName + ", " +
r.fileDescription);
}
performSearch(m_queryField.getText());
}
}
else if (e.getSource() == m_timer)
@ -147,6 +141,38 @@ public class KaZaGUI extends JFrame
}
}
private void performSearch(String query)
{
Vector<KaZaClient.SearchResult> results =
m_client.performSearch(query);
if (m_searchResultsList != null)
{
m_searchResultsPanel.remove(m_searchResultsScrollPane);
m_searchResultsScrollPane = null;
m_searchResultsList = null;
m_searchResultsPanel.validate();
}
Vector<String> stringResults = new Vector<String>();
for (KaZaClient.SearchResult r : results)
{
String res = "User: \"" + r.userName + "\" [" +
r.peerAddress + "], File: \"" +
r.fileName + "\" (" + r.fileDescription + ")";
stringResults.add(res);
}
m_searchResultsList = new JList(stringResults.toArray());
m_searchResultsList.setVisibleRowCount(-1);
m_searchResultsScrollPane = new JScrollPane(m_searchResultsList);
m_searchResultsScrollPane.setPreferredSize(new Dimension(Short.MAX_VALUE,
Short.MAX_VALUE));
m_searchResultsPanel.add(m_searchResultsScrollPane);
m_searchResultsPanel.validate();
m_searchResultsPanel.repaint();
repaint();
}
private class ConnectionSpeed
{
private String m_caption;
@ -191,6 +217,15 @@ public class KaZaGUI extends JFrame
m_speedCombo.setSelectedIndex(3);
m_userNameField = new JTextField();
m_queryField = new JTextField();
m_searchResultsPanel = new JPanel();
m_searchResultsPanel.setLayout(new BoxLayout(m_searchResultsPanel,
BoxLayout.X_AXIS));
m_searchResultsList = new JList();
m_searchResultsList.setVisibleRowCount(-1);
m_searchResultsScrollPane = new JScrollPane(m_searchResultsList);
m_searchResultsScrollPane.setPreferredSize(new Dimension(Short.MAX_VALUE,
Short.MAX_VALUE));
m_searchResultsPanel.add(m_searchResultsScrollPane);
JPanel clientPanel = new JPanel();
clientPanel.setLayout(new BoxLayout(clientPanel, BoxLayout.Y_AXIS));
@ -221,10 +256,11 @@ public class KaZaGUI extends JFrame
p.add(m_queryField);
p.add(m_searchButton);
clientPanel.add(p);
clientPanel.add(new Box.Filler(new Dimension(0, 0),
new Dimension(0, Short.MAX_VALUE),
new Dimension(Short.MAX_VALUE,
Short.MAX_VALUE)));
clientPanel.add(m_searchResultsPanel);
// clientPanel.add(new Box.Filler(new Dimension(0, 0),
// 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_statusLabel);