title: (java.lang.String) cannot be applied to (java.lang.Object)
body: <p>Ive a Listner class called <strong>TopicS</strong>  Im trying to call it from a gui called readMessages</p>
  
  <p>When Im trying to run the class TopicS using the following method, </p>
  
  <pre><code>   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      System.out.println("test test test"); 
      System.out.print("you pressed" +topicCombobox.getSelectedItem());
      TopicS a = new TopicS();
      a.addTopicToListner(topicCombobox.getSelectedItem());
  }                 
  </code></pre>
  
  <p>It gives me error saying </p>
  
  <blockquote>
    <p>addTopicListner(java.lang.String) in Topics Cannot be applied to (java.lang.Object)</p>
  </blockquote>
  
  <p>When I change the String to Object I get other errors.   The main method is included below, this works fine without GUI, but I need to add it to GUI. What I am trying to do is take value to combobox which is String array, and place that string into topic (where the (t) is now</p>
  
  <pre><code> import java.util.Hashtable;
  
  import javax.jms.JMSException;
  import javax.jms.Message;
  import javax.jms.MessageListener;
  import javax.jms.Session;
  import javax.jms.TextMessage;
  import javax.jms.Topic;
  import javax.jms.TopicConnection;
  import javax.jms.TopicConnectionFactory;
  import javax.jms.TopicSession;
  import javax.jms.TopicSubscriber;
  import javax.naming.Context;
  import javax.naming.InitialContext;
  import javax.naming.NamingException;
  
  public class TopicS implements MessageListener
  {
  
   private TopicConnection topicConnection;
   private TopicSession topicSession;
   public Topic topic;
   private TopicSubscriber topicSubscriber;
  
  
   public TopicS()
              {}
              public void addTopicToListner(String t){
    try
    {
     // create a JNDI context
     Hashtable properties = new Hashtable();
     properties.put(Context.INITIAL_CONTEXT_FACTORY,"org.exolab.jms.jndi.InitialContextFactory");
     properties.put(Context.PROVIDER_URL,"rmi://localhost:1099/");
     Context context = new InitialContext(properties);
  
     // retrieve topic connection factory
     TopicConnectionFactory topicConnectionFactory = 
         (TopicConnectionFactory)context.lookup("JmsTopicConnectionFactory");
     // create a topic connection
     topicConnection = topicConnectionFactory.createTopicConnection();
  
     // create a topic session
     // set transactions to false and set auto acknowledgement of receipt of messages
     topicSession = topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
  
     // retrieve topic
     topic = (Topic) context.lookup(t);
  
     // create a topic subscriber and associate to the retrieved topic
     topicSubscriber = topicSession.createSubscriber(topic);
  
     // associate message listener
     topicSubscriber.setMessageListener(this);
  
     // start delivery of incoming messages
     topicConnection.start();
    }
    catch (NamingException e)
    {
     e.printStackTrace();
    }
    catch (JMSException e)
    {
     e.printStackTrace();
    }
   } 
  
  /* public static void main(String[] args)
   //{
  
    try
    {
     TopicS listener = new TopicS();
     Thread.currentThread().sleep(2000);
    }
  
    catch (InterruptedException e)
    {
     e.printStackTrace();
    }
   }
   */
   // process incoming topic messages
   public void onMessage(Message message)
   {
    try
    {
     String messageText = null;
     if (message instanceof TextMessage)
      messageText = ((TextMessage)message).getText();
     System.out.println(messageText);
    }
    catch (JMSException e)
    {
     e.printStackTrace();
    }
   }
  }
  </code></pre>