Bueno acá les dejo el programa de la primera tarea, el programa solo muestra una ventana que la dividen 2 páneles, el panel superior pintado de gris incluye 5 botones con sus respectivas leyendas, los botones tienen asignado un color distinto cada uno y el botón que está al final es el de salir. Al pulsar cualquier botón(excepto el de salir), el panel inferior cambiará a su respectivo color.
Acá les dejo unas imágenes del programa en ejecución (hagan click en las imagenes para verlas más grandes) :
Por si quieren probar que el programa funciona acá les dejo el código para que lo puedan copiar:
// librerias usadas en este programa
import javax.swing.JFrame; // ventana
import javax.swing.JPanel; // agrupar y arreglar
import javax.swing.JButton; // boton
import javax.swing.JLabel; // texto no modificable
// clases que permiten acomodar componentes de distintas maneras
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Color;//Libreria para color
// escuchadores y eventos
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
// aqui comienza nuestra clase
public class Practica implements ActionListener {
// todo el codigo va aqui adentro
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("ROJO")) {// que hacer cuando uno pica al boton Rojo
this.miPanel.setBackground(Color.RED);
return;
}else if(cmd.equals("AZUL")){
this.miPanel.setBackground(Color.BLUE);
return;
}else if(cmd.equals("VERDE")){
this.miPanel.setBackground(Color.GREEN);
return;
}else if(cmd.equals("AMARILLO")){
this.miPanel.setBackground(Color.YELLOW);
return;
}else if (cmd.equals("SALIR")) {
System.exit(1); // salir
}
}
// atributos de la clase Practica
private JPanel miPanel;
private JLabel miTexto;
// constructor de Practica
public Practica(JPanel p, JLabel t) {
this.miPanel = p;
this.miTexto = t;
}
// el metodo principal
public static void main(String[] args) {
// creamos variables dentro del metodo main
JFrame f = new JFrame(); // una ventana nueva
// llamamos los metodos definidos en la libreria
f.setSize(800, 600); // que tan grande
f.setLocation(100, 200); // donde
f.setTitle("Ventana de Triana"); // como se llama
// que pasa cuando lo cierro
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// creamos unos paneles para agrupar elementos
JPanel pARRIBA = new JPanel();//pGridBag=ARRIBA
JPanel pABAJO = new JPanel();//pFlow=ABAJO
JPanel p = new JPanel(); // panel del fondo
// asignar los administradores de acomodo a cada panel
pARRIBA.setLayout(new GridBagLayout());
pABAJO.setLayout(new FlowLayout());
p.setLayout(new GridLayout(2, 2));
// asignar un color de fondo a cada panel para distinguirlos
pARRIBA.setBackground(Color.GRAY);
pABAJO.setBackground(Color.WHITE);
p.setBackground(Color.GRAY);
// manejo del layout gridbag
GridBagConstraints con = new GridBagConstraints();
con.gridx = 1;
con.gridy = 2;
con.gridwidth = 2;
con.gridheight = 3;
JLabel aviso = new JLabel();
JButton rojo = new JButton("Rojo");//Boton"pinta de rojo el panel"
Practica yo = new Practica(pABAJO, aviso);//"Panel que se pintará de rojo"
rojo.addActionListener(yo);
rojo.setActionCommand("ROJO");
pARRIBA.add(rojo, con);
con.gridx = 1;
con.gridy = 5;
con.gridwidth = 2;
con.gridheight = 2;
//---------------------------------------------------------------------
JButton azul = new JButton("Azul");//Boton"pinta de azul el panel"
azul.addActionListener(yo);
azul.setActionCommand("AZUL");
pARRIBA.add(azul, con);
con.gridx = 1;
con.gridy = 8;
con.gridwidth = 2;
con.gridheight = 2;
//----------------------------------------------------------------------
JButton amarillo = new JButton("Amarillo");//Boton"pinta de amarillo el panel"
amarillo.addActionListener(yo);
amarillo.setActionCommand("AMARILLO");
pARRIBA.add(amarillo, con);
con.gridx = 1;
con.gridy = 11;
con.gridwidth = 2;
con.gridheight = 2;
//----------------------------------------------------------------------
JButton verde = new JButton("Verde");//Boton"pinta de Verde el panel"
verde.addActionListener(yo);
verde.setActionCommand("VERDE");
pARRIBA.add(verde, con);
con.gridx = 1;
con.gridy = 14;
con.gridwidth = 2;
con.gridheight = 2;
//----------------------------------------------------------------------
JButton salir = new JButton("Salir");
salir.addActionListener(yo);
salir.setActionCommand("SALIR");
pARRIBA.add(salir, con);
con.gridx = 6;
con.gridy = 7;
con.gridwidth = 1;
con.gridheight = 1;
// poner los paneles auxiliares en el panel del fondo
p.add(pARRIBA);
p.add(pABAJO);
// hacer que este panel sea el contenido de la ventana
f.setContentPane(p);
// hacer que la ventana sea visible
f.setVisible(true);
// salir del programa
return;
} // termina main
} // termina la clase Practica
import javax.swing.JFrame; // ventana
import javax.swing.JPanel; // agrupar y arreglar
import javax.swing.JButton; // boton
import javax.swing.JLabel; // texto no modificable
// clases que permiten acomodar componentes de distintas maneras
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Color;//Libreria para color
// escuchadores y eventos
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
// aqui comienza nuestra clase
public class Practica implements ActionListener {
// todo el codigo va aqui adentro
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("ROJO")) {// que hacer cuando uno pica al boton Rojo
this.miPanel.setBackground(Color.RED);
return;
}else if(cmd.equals("AZUL")){
this.miPanel.setBackground(Color.BLUE);
return;
}else if(cmd.equals("VERDE")){
this.miPanel.setBackground(Color.GREEN);
return;
}else if(cmd.equals("AMARILLO")){
this.miPanel.setBackground(Color.YELLOW);
return;
}else if (cmd.equals("SALIR")) {
System.exit(1); // salir
}
}
// atributos de la clase Practica
private JPanel miPanel;
private JLabel miTexto;
// constructor de Practica
public Practica(JPanel p, JLabel t) {
this.miPanel = p;
this.miTexto = t;
}
// el metodo principal
public static void main(String[] args) {
// creamos variables dentro del metodo main
JFrame f = new JFrame(); // una ventana nueva
// llamamos los metodos definidos en la libreria
f.setSize(800, 600); // que tan grande
f.setLocation(100, 200); // donde
f.setTitle("Ventana de Triana"); // como se llama
// que pasa cuando lo cierro
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// creamos unos paneles para agrupar elementos
JPanel pARRIBA = new JPanel();//pGridBag=ARRIBA
JPanel pABAJO = new JPanel();//pFlow=ABAJO
JPanel p = new JPanel(); // panel del fondo
// asignar los administradores de acomodo a cada panel
pARRIBA.setLayout(new GridBagLayout());
pABAJO.setLayout(new FlowLayout());
p.setLayout(new GridLayout(2, 2));
// asignar un color de fondo a cada panel para distinguirlos
pARRIBA.setBackground(Color.GRAY);
pABAJO.setBackground(Color.WHITE);
p.setBackground(Color.GRAY);
// manejo del layout gridbag
GridBagConstraints con = new GridBagConstraints();
con.gridx = 1;
con.gridy = 2;
con.gridwidth = 2;
con.gridheight = 3;
JLabel aviso = new JLabel();
JButton rojo = new JButton("Rojo");//Boton"pinta de rojo el panel"
Practica yo = new Practica(pABAJO, aviso);//"Panel que se pintará de rojo"
rojo.addActionListener(yo);
rojo.setActionCommand("ROJO");
pARRIBA.add(rojo, con);
con.gridx = 1;
con.gridy = 5;
con.gridwidth = 2;
con.gridheight = 2;
//---------------------------------------------------------------------
JButton azul = new JButton("Azul");//Boton"pinta de azul el panel"
azul.addActionListener(yo);
azul.setActionCommand("AZUL");
pARRIBA.add(azul, con);
con.gridx = 1;
con.gridy = 8;
con.gridwidth = 2;
con.gridheight = 2;
//----------------------------------------------------------------------
JButton amarillo = new JButton("Amarillo");//Boton"pinta de amarillo el panel"
amarillo.addActionListener(yo);
amarillo.setActionCommand("AMARILLO");
pARRIBA.add(amarillo, con);
con.gridx = 1;
con.gridy = 11;
con.gridwidth = 2;
con.gridheight = 2;
//----------------------------------------------------------------------
JButton verde = new JButton("Verde");//Boton"pinta de Verde el panel"
verde.addActionListener(yo);
verde.setActionCommand("VERDE");
pARRIBA.add(verde, con);
con.gridx = 1;
con.gridy = 14;
con.gridwidth = 2;
con.gridheight = 2;
//----------------------------------------------------------------------
JButton salir = new JButton("Salir");
salir.addActionListener(yo);
salir.setActionCommand("SALIR");
pARRIBA.add(salir, con);
con.gridx = 6;
con.gridy = 7;
con.gridwidth = 1;
con.gridheight = 1;
// poner los paneles auxiliares en el panel del fondo
p.add(pARRIBA);
p.add(pABAJO);
// hacer que este panel sea el contenido de la ventana
f.setContentPane(p);
// hacer que la ventana sea visible
f.setVisible(true);
// salir del programa
return;
} // termina main
} // termina la clase Practica