Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2015, 14:46
juvas890913
 
Fecha de Ingreso: septiembre-2010
Mensajes: 29
Antigüedad: 14 años, 3 meses
Puntos: 1
Pregunta Error java.lang.NullPointerException Menu de colores

Hola!!

Estoy ejecutando un código en java y me sale un error al correrlo, el programa corre pero al ejecutar alguna acción se termina y quiero saber si me pueden ayudar a conocer la falla

El error es:

java.lang.NullPointerException

Aqui esta el codigo:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
public class AplicacionSwing5 extends JPanel implements ActionListener {
private Style estiloMorado,estiloGris,estiloCeleste,estiloRojo,e stiloAzul;
private JTextPane texto;
public AplicacionSwing5() {
setLayout( new BorderLayout() );
JMenuBar menu = new JMenuBar();
JMenu estilo = new JMenu( "Estilo" );
menu.add( estilo );
JMenuItem mi = new JMenuItem( "Morado" );
estilo.add( mi ); mi.addActionListener(this);
mi = new JMenuItem( "Gris" );
estilo.add( mi ); mi.addActionListener(this);
mi = new JMenuItem( "Celeste" ); estilo.add( mi );
mi.addActionListener(this); mi = new JMenuItem( "Rojo" );
estilo.add( mi ); mi.addActionListener(this);
mi = new JMenuItem( "Azul" ); estilo.add( mi );
mi.addActionListener( this );
add( menu,BorderLayout.NORTH );
StyleContext sc = new StyleContext();
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);
JTextPane texto = new JTextPane(doc);
add( texto,BorderLayout.CENTER ); }

public void actionPerformed( ActionEvent e ) {
Style estilo = null; String color = (String) e.getActionCommand();
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()
{ public void windowClosing( WindowEvent evt ){System.exit( 0 ); } } );
app.getContentPane().add( new AplicacionSwing5(),BorderLayout.CENTER );
app.setSize( 300,180 ); app.setVisible( true );
}
}

El error se marca en esta linea: texto.setCharacterAttributes( estilo,false ); y produce una excepcion. Alguien sabe cual es la razon?