Como colocar imagem e dar ação aos menus?

4 respostas
cleyvison

criei o segunte codigo

package br.com.SisConShop;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;


public class SisConShop extends JFrame implements ActionListener
{
	private static final long serialVersionUID = 1L;// o que é isto?
	
	JMenuBar barra = new JMenuBar();
	JMenu menuCliente = new JMenu("Cliente");
	JMenu menuFornecedor = new JMenu("Fornecedor");
	JMenu menuPedido = new JMenu("Pedido");
	JMenu menuBoleto = new JMenu("Boleto");
	JMenu menuEnvio = new JMenu("Envio");
	JMenu menuProduto = new JMenu("Produto");
	JMenu menuSair = new JMenu("Sair");
	
	public SisConShop ()
	{
		super ("SisConShop");
		setSize( 800,600);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		JPanel painel = new JPanel();
		
		add (painel);
		
		setJMenuBar(barra);
		barra.add(menuCliente);
		barra.add(menuFornecedor);
		barra.add(menuPedido);
		barra.add(menuBoleto);
		barra.add(menuEnvio);
		barra.add(menuProduto);
		barra.add(menuSair);
		
		menuCliente.add("Cadastrar");
		menuCliente.add("Excluir");
		menuCliente.add("Enviar e-mail");
		
		menuFornecedor.add("Cadastrar");
		menuFornecedor.add("Excluir");
		menuFornecedor.add("Enviar e-mail");
		
		menuPedido.add("Cadastrar");
		menuPedido.add("Excluir");
		
		menuBoleto.add("Cadastrar");
		menuBoleto.add("Excluir");
		menuBoleto.add("Baixar");
		menuBoleto.add("Cancelar");
		
		menuEnvio.add("Cadastrar");
		menuEnvio.add("Acusar Recibo");
		
		menuProduto.add("Cadastrar");
		menuProduto.add("Excluir");
		
		menuSair.add("Sair");
		
		
	}
		
	public static void main(String[] args) 
	{
		new SisConShop().setVisible(true);
		
	}

	@Override
	public void actionPerformed(ActionEvent arg0)
	{
		// Qual o motivo disto?
	}
	

}

agora quero fazer o seguinte:

1 - colocar uma imagem de 600x400, centralizada;
2 - Fazer com que ao clicar nos menus, por exemplo cliente>cadastrar ele chama outra tela (de outra classe) neste mesmo frame, é possivel? como faço?

aproveitando o topico:
pq o Java pede e cria este metodo?

@Override
	public void actionPerformed(ActionEvent arg0)
	{
		// Qual o motivo disto?
	}

4 Respostas

davidtiagoconceicao

Tente abordar um assunto por tópico.

Sobre os menus, sugiro a leitura do tutorial da Sun:
http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html

O Java “pede para criar” o método actionPerformed quando a interface ActionListener é implementada, porque este método é definido nesta interface.

rso1988

Cara, quanto às telas no mesmo frame, dá uma pesquisada sobre “CardLayout”, ele te dá a possibilidade de criar vários JPanels (dá idéia de vários cartões, por isso o nome CardLayout), um para cada menu (Por exemplo Cadastrar Funcionario, Cadastrar Pedido), e assim alterná-los dentro do mesmo frame por meio dos menus.!

Valeu!

D

Dar ação - > Adicione um actionPerformad sobre o botão que que dar uma ação
Ex:

private JToggleButton getJToggleButton() {

if (jToggleButton == null) {

jToggleButton = new JToggleButton();

jToggleButton.setBounds(new Rectangle(111, 82, 34, 10));

jToggleButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

// Aqui faz - se a instânciação da classe que deseja chamar … ex:

a2 a = new a2();
  a.setVisible(true);
  jToggleButton.add(a);



	}

});

Colocar imagem -> Add um jlabel dentro do seu frame!

cleyvison

Vlw…qdo chegar em casa vou testar

Criado 16 de junho de 2009
Ultima resposta 18 de jun. de 2009
Respostas 4
Participantes 4