Codigo Menus
Publicado por Leandro (3 intervenciones) el 21/03/2019 19:27:43
Hola que tal quería consultar ando en procesado de aprendizaje de este lenguaje y quería consultar si hay alguna manera de lograr lo que planteo.
estoy automatizando la generación de JMenu y JMenuItem para no generar tanto codigo.
pero al hacer el 2do metodo me genera un error y la verdad pienso que es por la forma en la que instancio los JMenu.
adjunto lo que ando haciendo, saludos!
y me genera el siguiente error
estoy automatizando la generación de JMenu y JMenuItem para no generar tanto codigo.
pero al hacer el 2do metodo me genera un error y la verdad pienso que es por la forma en la que instancio los JMenu.
adjunto lo que ando haciendo, saludos!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package ProcesadorTexto;
import javax.swing.*;
import java.awt.*;
public class MenuProcesador3 extends JMenuBar {
public MenuProcesador3(){
setVisible(true);
setLayout(new FlowLayout());
generaMenu(fuente, "Fuente");
generaMenu(estilo, "Estilo");
generaMenu(tamano, "Tamaño");
generaItemsMenu("Fuente",arial, "Arial", 0,0);
generaItemsMenu("Fuente",calibri, "Calibri", 0,0);
generaItemsMenu("Fuente",serif, "Serif", 0,0);
}
private void generaMenu(JMenu elementoMenuP, String nombreMenuP){
elementoMenuP=new JMenu(nombreMenuP);
add(elementoMenuP);
}
private void generaItemsMenu(String nombreMenuP, JMenuItem item, String nombreItem, int valorEstilo, int valorTamaño){
item=new JMenuItem(nombreItem);
if (nombreMenuP.equalsIgnoreCase("Fuente")){
fuente.add(item);
} else if (nombreMenuP.equalsIgnoreCase("Estilo")){
estilo.add(item);
}else if (nombreMenuP.equalsIgnoreCase("Tamaño")){
tamano.add(item);
}
}
public static HojaProcesador hoja;
private JMenu fuente, estilo, tamano;
private JMenuItem arial, calibri, serif, cursiva, negrita, tam12, tam14, tam20;
private Font letra;
}
y me genera el siguiente error
1
2
3
4
5
6
Exception in thread "main" java.lang.NullPointerException
at ProcesadorTexto.MenuProcesador3.generaItemsMenu(MenuProcesador3.java:27)
at ProcesadorTexto.MenuProcesador3.<init>(MenuProcesador3.java:16)
at ProcesadorTexto.LaminaProcesador.<init>(LaminaProcesador.java:12)
at ProcesadorTexto.MarcoProcesador.<init>(MarcoProcesador.java:13)
at ProcesadorTexto.MainProcesador.main(MainProcesador.java:12)
Valora esta pregunta


0