// EJEMPLO DE JCOMBOBOX
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Figuras extends JFrame
{
int W = 500, H=500;
String Figura = "Cuadro", Fondo = "FRojo", Trazo = "TRojo";
String FIG[] = {"Cuadro", "Circulo", "Triangulo"};
String COLTRAZO[] = {"TRojo", "TVerde", "TAzul"};
String COLFONDO[] = {"FRojo", "FVerde", "FAzul"};
JComboBox JCB_FIG = new JComboBox(FIG);
JComboBox JCB_TRAZO = new JComboBox(COLTRAZO);
JComboBox JCB_FONDO = new JComboBox(COLFONDO);
JPanel JP = new JPanel();
Grafico C = new Grafico();
public static void main(String S[]) { new Figuras(); }
public Figuras()
{
setSize(W, H);
setLocationRelativeTo(null);
setVisible(true);
UpControl();
UpGraph();
}
void UpControl()
{
add(JP); JP.setBackground(Color.yellow); JP.setBounds(0, 0, W, 100);
JP.add(JCB_FIG); JP.add(JCB_TRAZO); JP.add(JCB_FONDO);
JCB_FIG.setBounds(50, 20, 100, 50); JCB_FIG.addItemListener(new EventoCombo());
JCB_TRAZO.setBounds(200, 20, 100, 50); JCB_TRAZO.addItemListener(new EventoCombo());
JCB_FONDO.setBounds(350, 20, 100, 50); JCB_FONDO.addItemListener(new EventoCombo());
}
void UpGraph()
{
add(C); C.setBackground(Color.red); C.setBounds(0, 110, W, 380);
}
class EventoCombo implements ItemListener
{
String Opcion = "";
public void itemStateChanged(ItemEvent e)
{
Opcion = ""+e.getItem();
if (Opcion.compareTo("Cuadro")==0 || Opcion.compareTo("Circulo")==0 ||
Opcion.compareTo("Triangulo")==0) Figura = Opcion;
if (Opcion.compareTo("TRojo")==0 || Opcion.compareTo("TVerde") ==0 ||
Opcion.compareTo("TAzul")==0) Trazo = Opcion;
if (Opcion.compareTo("FRojo")==0 || Opcion.compareTo("FVerde")==0 ||
Opcion.compareTo("FAzul")==0) Fondo = Opcion;
C.Actualiza(Figura, Trazo, Fondo);
C.repaint();
}
}
}
class Grafico extends Canvas
{
String Trazo = "TRojo", Fondo = "FRojo", Figura = "Cuadro";
Color CF = Color.red, CT = Color.red;
void Actualiza(String Figura, String Trazo, String Fondo)
{
this.Trazo = Trazo;
this.Figura = Figura;
this.Fondo = Fondo;
}
public Grafico() {}
public void paint(Graphics G)
{
if ( Figura.compareTo("Cuadro") ==0) Cuadro(CF, CT, G);
if ( Figura.compareTo("Circulo") ==0) Circulo(CF, CT, G);
if ( Figura.compareTo("Triangulo") ==0) Triangulo(CF, CT, G);
}
void Cuadro(Color CF, Color CT, Graphics G)
{ G.setColor(CF); G.fillRect(0,0,500, 380); G.setColor(CT); G.drawRect(100, 100, 100, 100); }
void Circulo(Color CF, Color CT, Graphics G)
{ G.setColor(CF); G.fillRect(0,0,500, 380); G.setColor(CT); G.drawOval(100, 100, 100, 100); }
void Triangulo(Color CF, Color CT, Graphics G)
{
G.setColor(CF); G.fillRect(0,0,500, 380); G.setColor(CT);
G.drawLine(100, 100, 300, 300);
G.drawLine(300, 300, 10, 300);
G.drawLine(10, 300, 100, 100);
}
}