I am using GWT plugin for eclipse and trying to build an test
application to be deployed on app engine. I am relatively new to Java
and App Engine. I have import java.net.* statement declared but when I
run the program in hosted browser mode, I get the error - Line 5: The
import java.net cannot be resolved. I don't get any error for java.io
or java.util.ArrayList imports. What am i doing wrong? Thank you.

Here is the program. getJoke() method needs classes from java.net.


package com.google.gwt.sample.stockwatcher.client;


import java.io.*;
import java.net.*;
import java.util.ArrayList;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyPressHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;



public class StockWatcher implements EntryPoint {

  private VerticalPanel mainPanel = new VerticalPanel();
  private FlexTable stocksFlexTable = new FlexTable();
  private HorizontalPanel addPanel = new HorizontalPanel();
  private TextBox newSymbolTextBox = new TextBox();
  private Button addStockButton = new Button("Add");
  private Label lastUpdatedLabel = new Label();
  private ArrayList<String> stocks = new ArrayList<String>();
  private TextBox jokeTextBox = new TextBox();
  private Button getJokeButton = new Button("Get Joke");
  private HorizontalPanel jokePanel = new HorizontalPanel();

  /**
   * Entry point method.
   */
  public void onModuleLoad() {
    // Create table for stock data.
          stocksFlexTable.setText(0, 0, "Symbol");
          stocksFlexTable.setText(0, 1, "Price");
          stocksFlexTable.setText(0, 2, "Change");
          stocksFlexTable.setText(0, 3, "Remove");

          // Assemble Add Stock panel.
            addPanel.add(newSymbolTextBox);
            addPanel.add(addStockButton);

            //Assmeble Joke Panel
            addPanel.add(getJokeButton);
            addPanel.add(jokeTextBox);

            // Assemble Main panel.
            mainPanel.add(stocksFlexTable);
            mainPanel.add(addPanel);
            mainPanel.add(jokePanel);
            mainPanel.add(lastUpdatedLabel);


            // Associate the Main panel with the HTML host page.
            RootPanel.get("stockList").add(mainPanel);

            // Move cursor focus to the input box.
            newSymbolTextBox.setFocus(true);
         // Listen for mouse events on the Add button.
            addStockButton.addClickHandler(new ClickHandler() {
              public void onClick(ClickEvent event) {
                addStock();
              }
            });

            // Listen for keyboard events in the input box.
            newSymbolTextBox.addKeyPressHandler(new KeyPressHandler() {
              public void onKeyPress(KeyPressEvent event) {
                if (event.getCharCode() == KeyCodes.KEY_ENTER) {
                  addStock();
                }
              }
            });

         // Listen for mouse events on the getJoke button.
            getJokeButton.addClickHandler(new ClickHandler() {
              public void onClick(ClickEvent event) {
                getJoke();
              }
            });


          }

          /**
           * Add stock to FlexTable. Executed when the user clicks the
addStockButton or
           * presses enter in the newSymbolTextBox.
           */
          private void addStock() {
                    final String symbol = newSymbolTextBox.getText().toUpperCase
().trim();
                    newSymbolTextBox.setFocus(true);

                    // Stock code must be between 1 and 10 chars that are 
numbers,
letters, or dots.
                    if (!symbol.matches("^[0-9a-zA-Z\\.]{1,10}$")) {
                      Window.alert("'" + symbol + "' is not a valid symbol.");
                      newSymbolTextBox.selectAll();
                      return;
                    }

                    newSymbolTextBox.setText("");

                 // Don't add the stock if it's already in the table.
                    if (stocks.contains(symbol))
                        return;

                 // Add the stock to the table.
                    int row = stocksFlexTable.getRowCount();
                    stocks.add(symbol);
                    stocksFlexTable.setText(row, 0, symbol);

                    // Add a button to remove this stock from the table.
                    Button removeStockButton = new Button("x");
                    removeStockButton.addClickHandler(new ClickHandler() {
                      public void onClick(ClickEvent event) {
                        int removedIndex = stocks.indexOf(symbol);
                        stocks.remove(removedIndex);
                        stocksFlexTable.removeRow(removedIndex + 1);
                      }
                    });
                    stocksFlexTable.setWidget(row, 3, removeStockButton);

                    // TODO Get the stock price.




  }

          private void getJoke() {
                  //jokeTextBox.setText("Joke Button Clicked");



                  try {
                          String message = URLEncoder.encode("joke", "UTF-8");
                    URL url = new URL("http://hellworld.appspot.com";);
                    HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
                    connection.setDoOutput(true);
                    connection.setRequestMethod("POST");

                    OutputStreamWriter writer = new OutputStreamWriter
(connection.getOutputStream());
                    writer.write("request=" + message);
                    writer.close();

                    if (connection.getResponseCode() ==
HttpURLConnection.HTTP_OK) {
                        // OK
                        jokeTextBox.setText(connection.getResponseMessage());
                    } else {
                        // Server returned HTTP error code.
                        jokeTextBox.setText("Error");
                    }
                } catch (MalformedURLException e) {
                    // ...
                        jokeTextBox.setText("Error");
                } catch (IOException e) {
                    // ...
                        jokeTextBox.setText("Error");
                }

          }

}

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to