Evento en java...

Maxi
28 de Enero del 2009
Buenas... Soy novato con esto de java y tengo una duda... Tengo un abm para la facu y tengo un problema. Estoy probando que cuando apreto "alta" se me bloquean los demas botones... ahi ingreso el codigo de un libro y presiono "aceptar"... el programa busca si existe el codigo y continua.... el problema es que logro que presione "alta", pero no hace nada cuando presiono aceptar... alguien sabe xq? aca el codigo

import com.sun.rsasign.e;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Color;

public class Interface extends JFrame implements ActionListener{

private JTextField txt_Cod;
private JLabel lbl_Cod;
private JTextField txt_Nom;
private JLabel lbl_Nom;
private JTextField txt_Aut;
private JLabel lbl_Aut;
private JTextField txt_Cant;
private JLabel lbl_Cant;
private JButton btn_Aceptar,btn_Cancelar;
private JButton btn_Alta;
private JButton btn_Baja;
private JButton btn_Modif;
private JButton btn_Ordenar;
private JButton btn_Mostrar;
private JPanel p1,p2,p3;
private JTextArea txt_Important;
private Color B,P,R,L;
private String r="";

public Interface(){

super("La ventanita del amor...");

// se declaran los paneles contenedores

p1 = new JPanel(new BorderLayout()); // panel principal
p2 = new JPanel(new GridLayout(1,5)); // panel para 5 botones en BorderLayout.SOUTH
p3 = new JPanel();
p3.setLayout(new FlowLayout(FlowLayout.LEFT));


p1.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
p3.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));

// campo de texto JTextField
txt_Cod = new JTextField(3);
txt_Cod.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

txt_Nom = new JTextField(25);
txt_Nom.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

txt_Aut = new JTextField(20);
txt_Aut.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

txt_Cant = new JTextField(5);
txt_Cant.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

// campo de texto JTextArea

txt_Important=new JTextArea(11,30);
txt_Important.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));
B = new Color(100,190,150);
P = new Color(200,000,000);
R = new Color(000,190,000);
L = new Color(60,000,200);
txt_Important.setBackground(B);
JScrollPane pScroll = new JScrollPane(txt_Important,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);


//aca se instancian las etiquetas

lbl_Cod = new JLabel("COD.");
lbl_Cod.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

lbl_Nom = new JLabel("NOMBRE");
lbl_Nom.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

lbl_Aut = new JLabel("AUTOR");
lbl_Aut.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

lbl_Cant = new JLabel("CANT.");
lbl_Cant.setFont(new java.awt.Font("Arial", Font.PLAIN, 12));

//aca abajo se instancian los botones

btn_Alta = new JButton("Alta");
btn_Baja = new JButton("Baja");
btn_Modif = new JButton("Modificacion");
btn_Ordenar = new JButton("Ordenar");
btn_Mostrar = new JButton("Mostrar");
btn_Aceptar = new JButton("Aceptar");
btn_Cancelar = new JButton("Cancelar");

/* acción por defecto ante los eventos de estos botones
* para poder diferenciar más tarde cuál de los 2 botones
* ha generado el evento */
//btn_Aceptar.setActionCommand ("Ac");
//btn_Cancelar.setActionCommand("Cancelar");

// asociar los botones con instancias de las clases que definen las acciones

btn_Alta.addActionListener(this);
btn_Baja.addActionListener(this);
btn_Modif.addActionListener(this);
btn_Ordenar.addActionListener(this);
btn_Mostrar.addActionListener(this);
btn_Aceptar.addActionListener(this);
btn_Cancelar.addActionListener(this);

//bloque botones...
btn_Aceptar.setEnabled(false);
btn_Cancelar.setEnabled(false);

/*colocar los componentes en los paneles;
* para añadir un componente a un JFrame es preferible
* frame.getContentPane().add(panel);
* en lugar de frame.add(panel);*/
this.getContentPane().add(p1);

// añadir JScrollPane al panel principal en lugar de añadir directamente JTextArea
// para implementar las barras de deslizamiento (scroll)

p1.add(pScroll, BorderLayout.CENTER);
p1.add(p2, BorderLayout.SOUTH);
p1.add(p3, BorderLayout.NORTH);

// se añaden los botones al panel 2

p2.add(btn_Alta);
p2.add(btn_Baja);
p2.add(btn_Modif);
p2.add(btn_Ordenar);
p2.add(btn_Mostrar);

// se añaden los campos de texto

p3.add(lbl_Cod);
p3.add(txt_Cod);
p3.add(lbl_Nom);
p3.add(txt_Nom);
p3.add(lbl_Aut);
p3.add(txt_Aut);
p3.add(lbl_Cant);
p3.add(txt_Cant);
p3.add(btn_Aceptar);
p3.add(btn_Cancelar);

// tooltips para algunos elementos de la interfaz gráfica

btn_Alta.setToolTipText("Dar de alta un libro");
btn_Baja.setToolTipText("Dar de baja un libro");
btn_Modif.setToolTipText("Modificar un libro");
btn_Ordenar.setToolTipText("Ordena los elementos por nombre y los muestra");
btn_Mostrar.setToolTipText("Muestra los libros almacenados actualmente");


}

public static void main(String[] args) {
JFrame frame = new Interface();
WindowListener l = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
frame.addWindowListener(l);
frame.pack();
frame.setVisible(true);
frame.setResizable(true);
frame.setLocationRelativeTo(null); // centrar el formulario en la pantalla
frame.setSize(1250,400);
}

public String separador(){

String separador="n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------n";
return separador;

}
public String ingCodig(){

String ingCodig="Por favor, ingrese el codigo del libro";
return ingCodig;

}

public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Alta")){ // si se presiona alta
// habilita y deshabilita botones
btn_Aceptar.setEnabled(true);
btn_Cancelar.setEnabled(true);
btn_Alta.setEnabled(false);
btn_Baja.setEnabled(false);
btn_Modif.setEnabled(false);
btn_Ordenar.setEnabled(false);
btn_Mostrar.setEnabled(false);

txt_Important.append(separador()+ingCodig()+" a dar de alta y presione aceptar cuando este listo" +separador());
}//termina alta!!


if(e.getActionCommand().equals("Baja")){ // si se presiona baja
// habilita y deshabilita botones
btn_Aceptar.setEnabled(true);
btn_Cancelar.setEnabled(true);
btn_Alta.setEnabled(false);
btn_Baja.setEnabled(false);
btn_Modif.setEnabled(false);
btn_Ordenar.setEnabled(false);
btn_Mostrar.setEnabled(false);

txt_Important.append(separador()+ingCodig()+" a dar de baja y presione aceptar cuando este listo" +separador());
}//termina baja

} // TERMINA EL ACTION EVENT




}

Maxi
28 de Enero del 2009
Ah aclaro que x ahora estoy probando si responde "aceptar"... ya que "txt_Important.append..." no me va a dar de alta un libro =). Tengo el abm hecho pero sin interfaz grafica, despues se vera como lo combino ya q son muuuuchas clases.. jejeje. Si lo termino lo subo!! jaja