jueves, 17 de junio de 2010

Tarea 1

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.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Color;
// escuchadores y eventos
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Tareauno implements ActionListener{

public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();

if (cmd.equals("ESP")) {
// que hacer cuando uno pica al boton especial
this.contador++;
if (this.contador % 2 == 0) {
this.miPanel.setBackground(Color.WHITE);

} else {
this.miPanel.setBackground(Color.RED);
}
return;
}else if(cmd.equals("SAL")){
System.exit(1); // salir

}}
// atributos de la clase Botones
private JPanel miPanel;
private JLabel miTexto;
private int contador;

// constructor de Botones
public Tareauno (JPanel p, JLabel t) {
this.miPanel = p;
this.miTexto = t;
this.contador = 0;}

// 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(500, 600); // que tan grande
f.setLocation(200, 200); // donde
f.setTitle("Primera Tarea"); // como se llama

// que pasa cuando lo cierro
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// creamos unos paneles para agrupar elementos
JPanel pIzq = new JPanel();
JPanel pDer = new JPanel();
JPanel p = new JPanel(); // panel del fondo

// asignar los administradores de acomodo a cada panel
pIzq.setLayout(new GridBagLayout());
pDer.setLayout(new GridBagLayout());
p.setLayout(new GridLayout(1, 2));

// asignar un color de fondo a cada panel para distinguirlos
pIzq.setBackground(Color.WHITE);
pDer.setBackground(Color.RED);
p.setBackground(Color.GRAY);



// manejo del layout gridbag
GridBagConstraints con = new GridBagConstraints();
con.gridx = 1;
con.gridy = 1;
con.gridwidth = 2;
con.gridheight = 3;

JLabel aviso = new JLabel();
JButton bot = new JButton("Cambia");
Tareauno yo = new Tareauno(pIzq, aviso);
bot.addActionListener(yo);
bot.setActionCommand("ESP");
pIzq.add(bot, con);


con.gridx = 1;
con.gridy = 1;
con.gridwidth = 2;
con.gridheight = 3;

JButton sal = new JButton("Salir");
sal.addActionListener(yo);
sal.setActionCommand("SAL");
pDer.add(sal, con);



// poner los paneles auxiliares en el panel del fondo
p.add(pIzq);
p.add(pDer);


// 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 Tareauno

1 comentario:

  1. Se me hace que tienes en tu actionPerformed else y else-if en el orden equivocado y por eso no sale. Me sorprende que compila... Quizá lo estoy leyendo mal por la manera en que el código se acomoda en el blog :S

    ResponderEliminar