Programa compila,mas não executa

Agradeço a ajuda para desvendar esse problema.
Não executa e dá Exception in thread "main"java.langNullPointerException.
import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class ComparaStrings extends JFrame
{
private JLabel stringA,stringB;
private JTextField palavraA,palavraB;
private JTextArea outputArea;
private String s1,s2,output;

public ComparaStrings()
{
super(“Compara Strings”);
Container c=getContentPane();
c.setLayout(new FlowLayout());
stringA=new Jlabel(“Palavra A”);
palavraA=new JTextField(10);
palavraA.addActionListener(
new ActioListener() {
public void actionPerformed(ActionEvent e)
{
s1=e.getActionCommand();
}
}
);
c.add(stringA);
c.add(palavraA);

stringB= new JLabel(“Palavra B”);
palavraB=new JTextFeld(10);
palavraB.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
s2=e.getActionCommand();
}
}
);
c.add(stringB);
c.add(palavraB);
outputArea=new JTextArea(10,20);

int i=s1.compareTo(s2);
if(i>0)
output=s1 +" é maior que s2 "+s2;
else
output+=s1 +" é menor que s2 "+s2;
if(i==0)
output+=s1 +" é igual a "+s2;
outputArea.setText(output);

set size(275,260);
show();
}
public static void main (String args[])
{
   ComparaStrings appl = new ComparaStrings();
   appl.addWindowListener(
      new WindowAdapter() {
        public void windowClosing(WindowEvent we)
        {
          System.exit(0);
      }
     }
    );
  }
 }

Cara,
Não tive tempo de revisar o seu codigo, mas essa exception dispara quando vc tenta referenciar algum objeto que ainda não foi inicializado ou instanciado.
Da uma revisada e procura alguma coisa desse tipo.
Espero ter te ajudado.

[]'s

Rosauro, já tentou passear pelo código com um bom debugger e ver onde está o problema?

Eu executei o programa aqui (após corrigir todos os erros de digitação) e a NullPointerException deu na linha “int i=s1.compareTo(s2);” pois o s1 está null.
Sempre que você receber uma NullPointerException, verifique na stack trace em que linha aconteceu o erro, e aí veja o que tem nela que pode estar nulo.
Eu não entendi muito bem o que você tentou fazer nesse seu construtor, e apesar de não costumar trabalhar com interfaces gráficas estou achando bem estranho esse negócio de você colocar o listener dentro do construtor. Você tem que estruturar melhor o seu código de forma que a linha “s1=e.getActionCommand();” seja chamada no momento certo.

Meus agradecimentos a jgbt,cv e Bani.Seguindo suas dicas e colocando
int i=s1.compareTo(s2) logo abaixo de s2=e.getActionCommand() e mais pequenas ateraço~es resolvi o problema. Bani o listener dento do construtor é prática usual .