JMenuBar Vertical quase funcionando

5 respostas
J

Boa Noite,

Estou tentando fazer um menu vertical, eu estou quase conseguindo, mas ja quebrei e quebrei a cabeça e não consigo fazer funcionar no NetBeans…

Neste link http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html esta o menu que eu estou tentando fazer (O MenuLayoutDemo)
Baixei o codigo no site da oracle e testei aqui, estou tentando jogar no meu projeto do netbeans mas nao funciona direito, eu consigo fazer ele ficar na vertical mas corta o jmenubar e nao aparcem os jmenus…

Tenho o menu criado, só preciso fazer ele ficar como esta na imagem…

um exemplo pratico (código) seria muito bem vindo.

desde ja agradeço

Obs.: ja tentei seguir uns exemplos que tem aqui no site, o do GridLayout quase deu certo tambem, mas os jmenus nao aparecem como no MenuLayoutDemo do site da Oracle

5 Respostas

marcusco

Bom dia amigo.
Qual Linux você está usando?
Existe um problema com menu ao maximinizar no Mint.

J

Não uso linux, uso windows7

M

Aqui está um exemplo (peguei de algo que eu tinha aqui e não tive muito tempo pra modificar, mas acho que não tem problema);

Espero que entenda;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Menu extends JFrame{

	private static final long serialVersionUID = 6683273238565550449L;
	
	private JMenu subMenuCliente;
	private JMenuItem itemCliente;
	private JMenuItem itemProduto;
	private JMenu menuPesquisa;
	private JMenuItem itemPesquisaCliente;
	
	public static void main(String[] args) {
		new Menu();
	}
	
	public Menu(){
	
		setLayout(null);
		setSize(300,300);
		setLocationRelativeTo(null); //centraliza janela
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("Janela Principal");
		
		//Barra Principal
		JMenuBar barraPrincipal = new JMenuBar();
		
		//Menu da barra Principal
		JMenu menuCadastro = new JMenu("Cadastro");
		
		//SubMenu "Cadastro" e adiciona o item "Item do Cliente" a esse "SubMenu"
		subMenuCliente = new JMenu("Cliente");
		
		//Item do submenu "Cliente"
		itemCliente = new JMenuItem("Item Do Cliente");
		subMenuCliente.add(itemCliente);
		
		//Adiciona SubMenu
		menuCadastro.add(subMenuCliente);
		
		//Item do Menu "Cadastro" e adiciona ao menu "Cadastro"
		itemProduto = new JMenuItem("Produto");
		menuCadastro.add(itemProduto);
		
		//Adiciona Menu Cadastro a barra principal
		barraPrincipal.add(menuCadastro);
		
		//Menu da barra Principal
		menuPesquisa = new JMenu("Pesquisa");
		//Item do Menu "pesquisa" e adiciona ao menu "Pesquisa"
		itemPesquisaCliente = new JMenuItem("Cliente");
		menuPesquisa.add(itemPesquisaCliente);
		//Adiciona Menu Cadastro a barra Principal
		barraPrincipal.add(menuPesquisa);
		
		//Adiciona a barra inteira a Janela
		setJMenuBar(barraPrincipal);
	
		setVisible(true);		
	}
}

EDIT:

Não tinha visto o exemplo inteiro, achei que era a primeira janela q aparecia, então meu exemplo está errado =/

J

mariogpr vlw pela ajuda, mas não é bem isso, se voce ver o arquivo que eu mandei vc vai ver o que estou tentando fazer, o jmenubar esta vertical, mas esta cortando os jmenus e os jmenuitens estao ficando em cima dos jmenus e eu quero que fique como no exemplo do site da ORACLE (o link do primeiro post).

J

Eu segui um outro exemplo (nem me lembro de onde, mas eu acho que foi aqui), eu consegui colocar o jmenubar na vertical dentro de um jpanel o unico problema agora é que quando eu clico em um jmenu os jmenuitens ficam por cima das outras opcoes… e eu nao consigo alterar o posicionamento deles, alguma dica? idéia?

Obrigado

Criado 17 de dezembro de 2012
Ultima resposta 18 de dez. de 2012
Respostas 5
Participantes 3