style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Menu Dinamico

Menu Dinamico

Ase poco vi este efecto en una pagina y me decidi a hacerlo en java, no fue tan dificil como pense al comienzo, fue bastante rapido.

Imagenes

Depronto a alguien le interese usarlo en sus proyectos, aqui esta para que lo disfruten.

Solo dejo el codigo de la clase principal y el del panelmenu, por que sino haria muy extenso el post.

Clase Principal

package clases;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Principal extends JApplet{
       
        JTextField txtusuario=new JTextField(10);
        JPasswordField txtclave=new JPasswordField(10);
       
        public Principal(){
               
                colocarSkin();
               
                setLayout(new BorderLayout());
                JPanel pafuera=new JPanel(new FlowLayout());
                JPanel pgrid=new JPanel(new GridLayout(1,5));
               
                pafuera.add(pgrid);
               
                panelmenu pm1=new panelmenu("Inicio");
                panelmenu pm2=new panelmenu("Registrar");
                panelmenu pm3=new panelmenu("Eliminar");
                panelmenu pm4=new panelmenu("Buscar");
                panelmenu pm5=new panelmenu("Contacto");
                pgrid.add(pm1);
                pgrid.add(pm2);
                pgrid.add(pm3);
                pgrid.add(pm4);
                pgrid.add(pm5);
                add(pafuera);
        }
       
        public void colocarSkin(){
                try {
                        UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
                        } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                        } catch (InstantiationException e) {
                        e.printStackTrace();
                        } catch (IllegalAccessException e) {
                        e.printStackTrace();
                        } catch (UnsupportedLookAndFeelException e) {
                        e.printStackTrace();
                        }
        }

}

Clase panelmenu

package clases;

import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;

public class panelmenu extends JPanel implements MouseListener{
       
        ImageIcon img;
        boolean sw=false;
        int y=0;
    String nombremenu;
       
        public panelmenu(String nom){
            nombremenu=nom;
            img=new ImageIcon(this.getClass().getResource("../lib/inicio2.png"));
            addMouseListener(this);
            setPreferredSize(new Dimension((80),40));
        }
       
        public void paintComponent(Graphics g){
                super.paintComponents(g);
                g.drawImage(img.getImage(), 0, y, 80, 80, this);
                g.setFont(new Font("Verdana",Font.BOLD,12));
                g.setColor(Color.WHITE);
                g.drawString(nombremenu, 10, 25+y);
                g.setColor(Color.BLACK);
                g.drawString(nombremenu, 10, 65+y);
        }

        @Override
        public void mouseClicked(MouseEvent arg0) {
                JOptionPane.showMessageDialog(null,"Presionaste el menu " + nombremenu);
        }

        @Override
        public void mouseEntered(MouseEvent e) {
                sw=true;
                hilosubir hs=new hilosubir(this);
                hs.start();
                setCursor(new Cursor(Cursor.HAND_CURSOR));
        }

        @Override
        public void mouseExited(MouseEvent arg0) {
                sw=false;
                hilobajar hb=new hilobajar(this);
                hb.start();
                setCursor(null);
        }

        @Override
        public void mousePressed(MouseEvent arg0) {
        }

        @Override
        public void mouseReleased(MouseEvent arg0) {
        }
}

El proyecto completo lo pueden ver en Java Zone, ademas pueden descargar el proyecto desde aqui.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Buen aporte, felicidades

Buen aporte, felicidades

Imagen de meztor

simpre quise saberlo

simpre quise saber como se hacian esos menus en java, gracias

Imagen de rodrigo salado anaya

@roger1345

Como siempre Roger.... gracias por el aporte.

Imagen de pechsclk

El link de descarga es de megaupload

oye mi estimado en link de descarga del proyecto completo es de un servidor de Megaupload, ese servidor ya no existe lo dieron de baja desde hace mas de 3 años

Imagen de arterzatij

Creo que el post es desde

Creo que el post es desde antes del cierre de mega upload

Submitted by roger1345 on Dom, 07/24/2011 - 16:07

Imagen de adrianaaae

aun así funciona

solo faltaron las demás clases (hilos) que se corren cuando le das click al item de un determiando botón.
auque también existe un framework Substance que sirve para eso.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">