// 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); } }