Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/08/2010, 22:37
mofe
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Como solucionar error java.lang.NullPointerException

buenas yo tengo un caso parecido hice este programa en java y me sale un error al correrlo, el programa corre pero al ejecutar alguna accion se termina y quiero saber si me pueden ayudar a detectar la falla aqui esta el codigo

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;// texto con atributos

public class AplicacionSwing5 extends JPanel implements ActionListener { //estamos trabajndo con un apnel no con un frame ni con un applet

private Style estiloMorado,estiloGris,estiloCeleste,estiloRojo,e stiloAzul;//style es una clase
private JTextPane texto;


public AplicacionSwing5() {
setLayout( new BorderLayout() );
JMenuBar menu = new JMenuBar();
JMenu stilo = new JMenu( "Estilo" );
menu.add( stilo );

JMenuItem mi = new JMenuItem( "Morado" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Gris" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Celeste" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Rojo" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Azul" );
stilo.add(mi);
mi.addActionListener(this);
add(menu, BorderLayout.NORTH);

StyleContext sc = new StyleContext(); //stylecontext cambia el estilo del texto
estiloMorado = sc.addStyle(null, null);
StyleConstants.setForeground( estiloMorado,Color.magenta );
estiloGris = sc.addStyle(null, null);
StyleConstants.setForeground( estiloGris,Color.gray );
StyleConstants.setFontSize( estiloGris,24 );
estiloCeleste = sc.addStyle(null, null);
StyleConstants.setForeground( estiloCeleste,Color.cyan );
estiloRojo = sc.addStyle(null, null);
StyleConstants.setForeground( estiloRojo,Color.red );
estiloAzul = sc.addStyle(null, null);
StyleConstants.setForeground( estiloAzul,Color.blue );

DefaultStyledDocument doc = new DefaultStyledDocument(sc);// crea un estilo de documento

JTextPane texto = new JTextPane(doc);
add(texto, BorderLayout.CENTER);
}

public void actionPerformed (ActionEvent e) {
Style estilo = null;
String color = (String) e.getActionCommand();//cual fue la opcion del menu que selecciono

if( color.equals( "Morado" ) ) {
estilo = estiloMorado;
} else if( color.equals( "Celeste" ) ) {
estilo = estiloCeleste;
} else if( color.equals( "Gris" ) ) {
estilo = estiloGris;
} else if( color.equals( "Rojo" ) ) {
estilo = estiloRojo;
} else if( color.equals( "Azul" ) ) {
estilo = estiloAzul;
}
texto.setCharacterAttributes (estilo, false);
}

public static void main( String argv[] ) {
JFrame app = new JFrame( "Tutorial de Java, Swing" );

app.addWindowListener( new WindowAdapter() { // para cerrar el proceso (quita rayito)
public void windowClosing( WindowEvent evt ){
System.exit( 0 );
}
} );
app.getContentPane().add( new AplicacionSwing5(),BorderLayout.CENTER );
app.setSize( 300,180 );

app.setVisible( true );
}
}