Vous êtes sur la page 1sur 6

import java.awt.

*;
import java.awt.event.*;
import javax.swing.*;

public class PruebaMenu extends JFrame
{
private final Color valoresColor[]={Color.black,Color.blue,Color.red,Color.green };
private JRadioButtonMenuItem elementosColor[], elementosFiguras[], elementosNumeros
[];
private JCheckBoxMenuItem elementosEstilo[];
private JLabel pantallaEtiqueta;
private ButtonGroup grupoNumeros, grupoColores, grupoFiguras;
private int estilo;

private JMenuBar Barra;

int colorear=0, fig=0, Num=1, Naleatorio;

// configurar GUI
public PruebaMenu()
{
super( "Sena / Jhon Rodriguez" );


/////// crear barra de mens y adjuntarla a la ventana PruebaMenu
Barra = new JMenuBar();
add (Barra, BorderLayout.NORTH );

/////// crear men Formato, con sus submens y elementos de men
JMenu menu = new JMenu( "Menu" );
Barra.add( menu );

/////// creacion de submenus
JMenu menuColor = new JMenu( "Color" );
menu.add(menuColor); //menuColor.setMnemonic( 'C' );
menu.addSeparator();

JMenu menuFiguras = new JMenu( "Figuras" );
menu.add(menuFiguras);
menu.addSeparator();

JMenu menuNumeros = new JMenu( "Numeros" );
menu.add(menuNumeros);

//////////////////////////////////////////////////////////////////////////
// SUBMENU COLORES
String colores[] = { "Amarillo", "Azul", "Rojo", "Verde" };
elementosColor = new JRadioButtonMenuItem[ colores.length ];
grupoColores = new ButtonGroup();
ManejadorEventos manejadorEventos = new ManejadorEventos();

// crear elementos de men tipo botones de opcin para el men Color
for ( int cuenta = 0; cuenta < colores.length; cuenta++ ) {
elementosColor[ cuenta ] = new JRadioButtonMenuItem( colores[ cuenta ] );
menuColor.add( elementosColor[ cuenta ] );
grupoColores.add( elementosColor[ cuenta ] );
elementosColor[ cuenta ].addActionListener( manejadorEventos );
}

// seleccionar primer elemento del men Color
elementosColor[ 0 ].setSelected( true );

//////////////////////////////////////////////////////////////////////////
// SUBMENU FIGURAS
String figuras[] = { "Cuadrado", "Rectangulo", "Circulo" };
elementosFiguras = new JRadioButtonMenuItem[ figuras.length ];
grupoFiguras = new ButtonGroup();
// ManejadorEventos manejadorEventos2 = new ManejadorEventos();//==============

// crear elementos de men tipo botones de opcin para el men Color
for ( int cuenta = 0; cuenta < figuras.length; cuenta++ ) {
elementosFiguras[ cuenta ] = new JRadioButtonMenuItem( figuras[ cuenta ] );
menuFiguras.add( elementosFiguras[ cuenta ] );
grupoFiguras.add( elementosFiguras[ cuenta ] );
elementosFiguras[ cuenta ].addActionListener( manejadorEventos );
}

// seleccionar primer elemento del men Color
elementosFiguras[ 0 ].setSelected( true );

/////////////////////////////////////////////////////////////////////////
// SUBMENU NUMERO
String numeros[] = { "1", "2", "3" };
elementosNumeros = new JRadioButtonMenuItem[ numeros.length ];
grupoNumeros = new ButtonGroup();
// ManejadorEventos manejadorEventos2 = new ManejadorEventos();//==============

// crear elementos de men tipo botones de opcin para el men Color
for ( int cuenta = 0; cuenta < numeros.length; cuenta++ ) {
elementosNumeros[ cuenta ] = new JRadioButtonMenuItem( numeros[ cuenta ] );
menuNumeros.add( elementosNumeros[ cuenta ] );
grupoNumeros.add( elementosNumeros[ cuenta ] );
elementosNumeros[ cuenta ].addActionListener( manejadorEventos );
}

// seleccionar primer elemento del men Color
elementosNumeros[ 0 ].setSelected( true );

/////////////////////////////////////////////////////////////////////////////////////////




setSize( 550, 550 );
setVisible( true );


} // fin del constructor
//////////////////////////////////////////////////////////////////////////////
/// metodo para obtener la posicion de las figuras se ALEATORIA
public int NumAleatorio (){

// Math.random(); nos devolver un nmero aleatorio entre 0,0 y 1,0
// Math.round(); redondea el valor que se encuentre dentro de los parntesis hacia arriba o
hacia abajo Al nmero entero que est ms cercano.
double nnn = Math.round(Math.random()*400);
Naleatorio=(int)nnn ; /// CONVIERTE UN DOUBLE A ENTERO

return Naleatorio ;

}

//////////////////////////////////////////////////////////
public static void main( String args[] )
{
PruebaMenu aplicacion = new PruebaMenu();

}

// clase interna para manejar eventos de accin de los elementos de men
private class ManejadorEventos implements ActionListener {

// procesar selecciones de color y tipo de letra
public void actionPerformed( ActionEvent evento )
{


/// EVALUAR EL COLOR ///////////////
if ( elementosColor[ 0 ].isSelected() ) {
colorear = 0;
repaint();
}
if ( elementosColor[ 1 ].isSelected() ) {
colorear = 1;
repaint();
}
if ( elementosColor[ 2 ].isSelected() ) {
colorear = 2;
repaint();
}
if ( elementosColor[ 3 ].isSelected() ) {
colorear = 3;
repaint();
}

/// EVALUAR LA FIGURA ////////////////////


if ( elementosFiguras[ 0 ].isSelected() ) {
fig = 0;
repaint();
}
else if ( elementosFiguras[ 1 ].isSelected() ) {
fig = 1;
repaint();
}
else if ( elementosFiguras[ 2 ].isSelected() ) {
fig = 2;
repaint();
}

/// EVALUAR EL NUMERO DE FIGURAS ////////////////////


if ( elementosNumeros[ 0 ].isSelected() ) {
Num = 1;
repaint();
}
else if ( elementosNumeros[ 1 ].isSelected() ) {
Num = 2;
repaint();
}
else if ( elementosNumeros[ 2 ].isSelected() ) {
Num = 3;
repaint();
}

} // fin del mtodo actionPerformed

} // fin de la clase ManejadorEventos



public void paint(Graphics g) {

Barra.repaint();


g.clearRect(0, 10, 550, 550) ;
for (int i=1; i<=Num ; i++)
{


switch (colorear){

case 0:
g.setColor(Color.YELLOW);
break;
case 1:
g.setColor(Color.BLUE);

break;
case 2:
g.setColor(Color.RED);
break;
case 3:
g.setColor(Color.GREEN);
break;
}


switch (fig){

case 0:

g.fillRect(NumAleatorio () , NumAleatorio (), 150, 150);
break;
case 1:
g.fillRect(NumAleatorio (), NumAleatorio (), 150, 200);
break;
case 2:
g.fillOval(NumAleatorio (), NumAleatorio (), 150, 150);
break;
}


}





}


}

Vous aimerez peut-être aussi