Estou com uma dúvida. Eu criei um JMenuBar e dentro deles os Sub Menus(JMenuItem) mais dentro de esse menu precisei inserir outro sub Menu que no caso tive que transformar o outro MenuItem em JMenu, e coloquei icones em cada menus, mais no que eu transformei em JMenu não consigue. É possivel colocar o ícone no JMenu?
Segue anexo uma parte do código.
JMenuBar menu = new JMenuBar();
JMenu Cadastro = new JMenu("Cadastro");
Cadastro.setMnemonic(KeyEvent.VK_C);//Tecla de Atalho.
Cadastro.setVisible(true);
menu.add(Cadastro);
setJMenuBar(menu);
//Aqui eu gostaria de colocar o Ícone
Cliente = new JMenu("Cliente");
Cliente.setMnemonic(KeyEvent.VK_C);
Cliente.setVisible(true);
Cadastro.add(Cliente);
ImageIcon iconeclientefisico = createImageIcon("icones/clientefisico.png");
ClienteFisico = new JMenuItem("Cliente Físico",iconeclientefisico);
ClienteFisico.setMnemonic(KeyEvent.VK_F);
ClienteFisico.setVisible(true);
Cliente.add(ClienteFisico);
ImageIcon iconeclientejuridico = createImageIcon("icones/clientejuridico.png");
ClienteJuridico = new JMenuItem("Cliente Jurídico",iconeclientejuridico);
ClienteJuridico.setMnemonic(KeyEvent.VK_F);
ClienteJuridico.setVisible(true);
Cliente.add(ClienteJuridico);
Em anexo à mensagem, estou lhe enviando um arquivo exemplificando.
Espero ter ajudado.
R
rodrigo.java
Opa muito obrigado pelo exemplo, mais eu fui rodar ele e não funcionou deu um monte de erro, nem tive como vizualizar ele.
Aguardo a resposta Obrigado.
P
Petronio_Braga
Rodrigo,
está aí.
Os erros era decorrente da falta da classe ConstantesImage. Por isso, ela vai em anexo também.
Agora muda, na classe ConstantesImages os nomes das figuras.
Sem mais.
R
rodrigo.java
Opaaa agora simmmm
Muito Obrigado em t++++
E
everton.jb
Meu eu sou super novato nisso e nao entendi ainda como fazer para mudar o icone da barra de titulos do JFrame e tambem nao entendi como colocar um icone em um JMenu como segue no exemplos de voce.
se nao for encomodar muito eu vou colocar o meu codigo aqui e voces modificam para que eu possa colocar um icone.
importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.BorderFactory;importjavax.swing.JOptionPane;importjavax.swing.JMenuBar;importjavax.swing.JMenu;importjavax.swing.JMenuItem;importjava.awt.Toolkit;importjava.awt.Image;importjava.awt.Frame;importjava.awt.GridLayout;importjava.awt.Color;importjava.awt.event.ActionListener;importjava.awt.event.ActionEvent;publicclassSudokuextendsJFrameimplementsActionListener{/*Declaração de atributos da classe*/privateJButton[][]botao=newJButton[9][9];privateint[]novo=newint[20];privateJFramewin=newJFrame("Sudoku");privateJPanel[]painel=newJPanel[9];privateJMenuBarbarra=newJMenuBar();privateJMenumenu1=newJMenu("Opçoes");privateJMenuItemitem1=newJMenuItem("Novo Jogo");privateJMenuItemitem2=newJMenuItem("Sobre...");privateJMenuItemitem3=newJMenuItem("Sair");/*Construtor da Classe ele faz os botoes e a janela*/publicSudoku(){fazBotao();fazJanela();novoJogo();}/*Metodo que faz o meno da Barra de Menu*/publicJMenuBarmenu(){item1.addActionListener(this);menu1.add(item1);item2.addActionListener(this);menu1.add(item2);item3.addActionListener(this);menu1.add(item3);barra.add(menu1);returnbarra;}/*Metodo que faz os botoes*/publicvoidfazBotao(){for(inti=0;i<botao.length;i++){painel[i]=newJPanel(newGridLayout(3,3));painel[i].setBorder(BorderFactory.createLineBorder(Color.BLACK,1));for(intj=0;j<botao.length;j++){botao[i][j]=newJButton();botao[i][j].setText(" ");botao[i][j].addActionListener(this);painel[i].add(botao[i][j]);}}}/*Metodo que faz as janelas*/publicvoidfazJanela(){Toolkittk=Toolkit.getDefaultToolkit();Imageimg=tk.getImage("image.gif");win.setIconImage(img);win.setJMenuBar(menu());win.getContentPane().setLayout(newGridLayout(3,3));win.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);for(inti=0;i<painel.length;i++){win.getContentPane().add(painel[i]);}//win.pack();win.setSize(390,350);win.setResizable(false);/*Nao possibilita a maximizaçao!!*/win.setVisible(true);}/*Metodo que inicia um novo Jogo*/publicvoidnovoJogo(){intlin,col;booleanval;for(inti=0;i<novo.length;i++){novo[i]=(int)(1+(Math.random()*9));}for(inti=0;i<botao.length;i++){for(intj=0;j<botao.length;j++){botao[i][j].setText(" ");}}for(inti=0;i<novo.length;i++){lin=(int)(Math.random()*9);col=(int)(Math.random()*9);botao[lin][col].setText(String.valueOf(novo[i]));}}/*Metodo que gerencia os Eventos da Classe*/publicvoidactionPerformed(ActionEvente){Stringn=" ";intnro;/*No menu Novo Jogo*/if(e.getSource()==item1){novoJogo();}/*No menu Sobre...*/if(e.getSource()==item2){JOptionPane.showMessageDialog(null,"Sudoku: \n"+"Um jogo de raciocinio logico com o"+"\nintuito de desenvolver o raciocinio logico.\n"+"Desenvolvedores:"+"\nEverton José Benedicto RA. 0510688"+"\nEdson Soares da Silva RA. 0711232","Sobre Sudoku",JOptionPane.WARNING_MESSAGE);}/*No menu Sair*/if(e.getSource()==item3){System.exit(0);}/*Aqui eu vou gerenciar os eventos de cada botao do Array*/for(inti=0;i<botao.length;i++){for(intj=0;j<botao.length;j++){if(e.getSource()==botao[i][j]){do{/*loop de integridade de dado*/nro=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o numero","Sudoku",JOptionPane.WARNING_MESSAGE));if(nro<=0||nro>9){JOptionPane.showMessageDialog(null,"Numero Inválido","Sudoku Notifica",JOptionPane.WARNING_MESSAGE);}}while(nro<=0||nro>9);/*Fim do loop*/n=n.valueOf(nro);botao[i][j].setText(n);if(e.getSource()==botao[i][j]){break;}}}}/*Fim dos Eventos*/}/*Metodo Principal Chamando o Construtor*/publicstaticvoidmain(Stringargs[]){newSudoku();}}