package interfaces.JGUI; import java.awt.*; import java.net.*; import java.applet.*; import java.util.*; public class ResultPanel extends Panel { MapApplet m_mapApplet; TextArea m_resultText; Button m_sendQuery; Button m_reset; Vector m_urlButton; Vector m_urlPanel; ResultTable m_resultTable; ScrollPanel m_scrollPanel; ResultPanel(MapApplet mapApplet) { m_urlButton = new Vector(); m_urlPanel = new Vector(); setLayout(null); setBackground(Color.white); m_mapApplet = mapApplet; m_resultText = new TextArea(16, 40); m_resultText.setFont(new Font("Courier", Font.PLAIN, 15)); m_resultText.reshape(0, 0, 400, 150); add(m_resultText); m_sendQuery = new Button("Submit (F1)"); m_sendQuery.reshape(80, 160, 110, 25); add(m_sendQuery); m_reset = new Button("Reset (F2)"); m_reset.reshape(210, 160, 110, 25); add(m_reset); m_scrollPanel = new ScrollPanel(); m_scrollPanel.reshape(0, 190, 400, 175); add(m_scrollPanel); } public void showResult(String result) { m_resultText.setText(result); } public void showResult(ResultTable resultTable) { m_resultText.setText(new String()); for (int i = 0 ; i < resultTable.size() ; i++) { m_resultText.appendText(resultTable.getContent(i) + "\n"); } listResult(resultTable); } public void listResult(ResultTable resultTable) { m_resultTable = resultTable; int i; for (i = 0 ; i < m_urlPanel.size() ; ++i) remove((Panel)(m_urlPanel.elementAt(i))); m_urlButton = new Vector(); m_urlPanel = new Vector(); m_scrollPanel.removeAllItem(); for (i = 0 ; i < resultTable.size() ; i++) { Panel urlPanel = new Panel(); Button urlButton = new Button("" + (i + 1)); urlPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); m_urlButton.addElement(urlButton); urlPanel.add(urlButton); urlPanel.add(new Label(resultTable.getName(i))); // urlPanel.reshape(0, 190 + i * 35, 400, 35); m_urlPanel.addElement(urlPanel); urlPanel.enable(); // add((Panel)(m_urlPanel.elementAt(i))); m_scrollPanel.insertItem(urlButton, 20, 30, new Label(resultTable.getName(i)), 350, 30); //m_scrollPanel.insertItem(urlPanel, 400, 35); } validate(); } public boolean action(Event evt, Object arg) { if (evt.target == m_sendQuery) { m_mapApplet.sendQuery(m_resultText.getText()); return true; } if (evt.target == m_reset) { m_resultText.setText(new String()); return true; } for (int i = 0 ; i < m_urlButton.size() ; ++i) { if (evt.target == (Button)m_urlButton.elementAt(i)) { if (m_mapApplet.m_queryPanel.m_configGrp.getCurrent().getLabel().equals("remove")) { m_mapApplet.m_resultTuple = (ResultTuple) m_resultTable.elementAt(i); m_mapApplet.submitQuery(); return true; } try { AppletContext context = m_mapApplet.getAppletContext(); context.showDocument(m_resultTable.getURL(i), "_noblank"); return true; } catch (MalformedURLException e) { return false; } } } return false; } }