Saudações colegas do GUJ.
Estou com um probleminha. Estou implementando um programa que possui várias telas, porém quero que todas tenham a mesma barra de menus aparecendo. Veio em minha cabeça a idéia mirabolante (Oo) de criar uma classe que herda de JMenuBar.
Até aí blz, instanciei uma variavel desta classe na minha janela principal. Mas não está aparecendo o menu. Venho recorrer à vocês.
Segue abaixo meu código:
[code]package visualizacao;
import javax.swing.JFrame;
@SuppressWarnings(“serial”)
public class FormPrincipal extends JFrame implements Formulario {
public BarraMenu barraMenu;
public FormPrincipal() {
inicializar();
}
public void inicializar() {
instanciar();
posicionar();
agrupar();
configurar();
}
public void instanciar() {
barraMenu = new BarraMenu();
}
public void posicionar() {
this.setSize(580, 350);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void agrupar() {
this.setLayout(null);
this.setJMenuBar(barraMenu); /* <-- Setando Menu*/
}
public void configurar() {
this.setTitle("DaN LTDA - Cobrança - " +
(new java.text.SimpleDateFormat("dd/MM/yyyy")).format(new java.util.Date()));
}
}[/code]
[code]package visualizacao;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
@SuppressWarnings(“serial”)
public class BarraMenu extends JMenuBar {
private JMenuBar menuBar;
// CADASTRO
public JMenu menuCadastro;
// TITULO
public JMenu menuTitulo;
public JMenuItem jmiIncluirTitulo;
public JMenuItem jmiAlterarTitulo;
public JMenuItem jmiConsultarTitulo;
public JMenuItem jmiExcluirTitulo;
// CLIENTE
public JMenu menuCliente;
public JMenuItem jmiIncluirCliente;
public JMenuItem jmiAlterarCliente;
public JMenuItem jmiConsultarCliente;
public JMenuItem jmiExcluirCliente;
// BAIXA DE TÍTULOS
public JMenu menuBaixa;
public JMenuItem jmiBaixa;
// RELATÓRIO
public JMenu menuRelatorio;
public JMenuItem jmiClientesDebito;
public JMenuItem jmiBalInadimplencia;
public JMenuItem jmiGerarAviso;
// SAIR
private JSeparator separador;
public JMenuItem jmiSair;
// SOBRE
public JMenu menuAjuda;
public JMenuItem jmiSobre;
public BarraMenu() {
inicializar();
}
public void inicializar() {
instanciar();
agrupar();
configurar();
}
public void instanciar() {
// CADASTRO
menuBar = new JMenuBar();
menuCadastro = new JMenu();
// TITULO
menuTitulo = new JMenu();
jmiIncluirTitulo = new JMenuItem();
jmiAlterarTitulo = new JMenuItem();
jmiConsultarTitulo = new JMenuItem();
jmiExcluirTitulo = new JMenuItem();
// CLIENTE
menuCliente = new JMenu();
jmiIncluirCliente = new JMenuItem();
jmiAlterarCliente = new JMenuItem();
jmiConsultarCliente = new JMenuItem();
jmiExcluirCliente = new JMenuItem();
// BAIXA DE TÍTULOS
menuBaixa = new JMenu();
jmiBaixa = new JMenuItem();
// RELATÓRIO
menuRelatorio = new JMenu();
jmiClientesDebito = new JMenuItem();
jmiBalInadimplencia = new JMenuItem();
jmiGerarAviso = new JMenuItem();
// SAIR
separador = new JSeparator();
jmiSair = new JMenuItem();
// AJUDA
menuAjuda = new JMenu();
jmiSobre = new JMenuItem();
}
public void agrupar() { //add componentes no JMenuBar
menuBar.add(agruparMenuCadastro());
menuBar.add(agruparMenuBaixa());
menuBar.add(agruparMenuRelatorio());
menuBar.add(agruparMenuAjuda());
}
/*
* editado para não ficar muito grande
* métodos acima descritos já foram implementados
*/
public void configurar() {
//setar o texto dos componentes
}
public JMenuBar getMenuBar() {
return this;
}
}
[/code]
Existe possibilidade de eu fazer isso?
Grato à todos!