25/08/2010, 22:37
|
| | Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 14 años, 4 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 );
}
} |