Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con JButton

Estas en el tema de Problema con JButton en el foro de Java en Foros del Web. Hola que tal soy nuevo en el foro, me pidieron hacer un programa para una sala de teatro que posee 3 funciones en 4 fines ...
  #1 (permalink)  
Antiguo 28/08/2010, 21:52
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Problema con JButton

Hola que tal soy nuevo en el foro, me pidieron hacer un programa para una sala de teatro que posee 3 funciones en 4 fines de semana, cada una de esas funciones posee plateas tipo a(son 200), b(300),c(400) y p(1200). La clase TP3 es de applet y dsp hice una clase Funcion3 con los arreglos que tendrán 1 si se registro y 0 si estan libres, en TP3 esta la matriz de 4*3 para las 12 funciones.
El 1er boton realiza la accion, registra, es decir pone a 1 el arreglo, todo bien, pero cuando aprieto el segundo boton "ver ocupadas" que deberia mostrar nro de las plateas ocupadas, todo está en 0, como si nada hubiese pasado y no muestra nada, prueben registrar la funcion 1 del fin de semana 1 ubicacion 1, se registra, si la quieren volver a registrar muestra "ocupada", pero al apretar el segundo boton parece que nada se cargó. No es nada complicado, solo quiero saber por que al clickear el boton2 me borra todo. Aqui pues para que lo levanten:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class TP3 extends JApplet
{
Funcion2 f[][] = new Funcion2[4][3];
JLabel etiquetaTitulo,etiquetaFuncion, etiquetaFinde,
etiquetaUbicacion;
JTextField campoUbicacion;
JComboBox campoTipoPlatea,campoFuncion,campoFinde;
JButton boton1;
JButton boton2;
public void init()
{
for (int i=0; i<=3; i++)
{
for (int j=0; j<=2; j++)
{
f[i][j] = new Funcion2();//cargo las funciones en la matriz
}
};
for(int i=0;i<=3;i++)
for(int j=0;j<=2;j++)
f[i][j].inicializar(); //inicializo
Container contenedor= getContentPane();
contenedor.setLayout(new FlowLayout());
etiquetaTitulo=new JLabel("Ingrese datos de la funcion a la que desea asistir:");
contenedor.add(etiquetaTitulo);
etiquetaFuncion =new JLabel("Funcion:");
contenedor.add(etiquetaFuncion);
contenedor.setLayout(new FlowLayout());
String[] opComboFuncion={"1","2","3"};
campoFuncion =new JComboBox(opComboFuncion);
contenedor.add(campoFuncion);
etiquetaFinde =new JLabel("Fin de semana:");
contenedor.add(etiquetaFinde);
String[] opComboFinde={"1","2","3","4"};
campoFinde =new JComboBox(opComboFinde);
contenedor.add(campoFinde);
etiquetaUbicacion =new JLabel("Ubicacion:");
contenedor.add(etiquetaUbicacion);
campoUbicacion =new JTextField (4);
contenedor.add(campoUbicacion);
String[] opcionesCombo={"PlateaA","PlateaB","PlateaC","Plat eaP"};
campoTipoPlatea=new JComboBox(opcionesCombo);
campoTipoPlatea.setEditable(true);
contenedor.add(campoTipoPlatea);
boton1 =new JButton("Registrar");
contenedor.add(boton1);
setVisible(true);
setSize(900,300);
boton1.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e1)
{
accion1();
}
});
boton2=new JButton("Ver Ocupadas");
contenedor.add(boton2);
//Accion2 a2=new Accion2();
boton2.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e2)
{
accion2();
}
});
}
public void registrarPlatea(int finde,int func,int ubic,char tipoP)
{
if(f[finde][func].getUbic(ubic,tipoP)==0)
{
char tipoPlat=calcTipoPlatea();
f[finde][func].cargarPlatea(ubic,tipoPlat);
JOptionPane.showMessageDialog(null,"Platea registrada");
}
else
JOptionPane.showMessageDialog(null,"Ocupada");
}
public char calcTipoPlatea()
{
String tipo=(String)campoTipoPlatea.getSelectedItem();
char op=tipo.charAt(6);
return op;
}
public void accion1()//boton 1 registra plateas
{
int func= Integer.parseInt((String)campoFuncion.getSelectedI tem());
int finde= Integer.parseInt((String)campoFinde.getSelectedIte m());
int ubic= Integer.parseInt(campoUbicacion.getText());
func=func-1;finde=finde-1;ubic=ubic-1;
char tipoP=calcTipoPlatea();
registrarPlatea(finde,func,ubic,tipoP);
}
public void accion2() //muestra plateas ocupadas
{
int func= Integer.parseInt((String)campoFuncion.getSelectedI tem());
int finde= Integer.parseInt((String)campoFinde.getSelectedIte m());
char tipoP=calcTipoPlatea();
JTextArea t1=new JTextArea(20,20);
t1.setText("Plateas ocupadas\n");
System.out.println(f[finde][func].getUbic(0, tipoP)+" "+f[finde][func].getUbic(1, tipoP));
for(int i=0;i<=199;i++)//aca deberia ir la longitud del arreglo correspondiente en //vez de 199
if((f[finde][func].getUbic(i, tipoP))==1) //pero es suficiente para que no //funca
t1.append((i+1)+"\n");
JScrollPane s1=new JScrollPane(t1);
JOptionPane.showMessageDialog(null,s1);
}
}



//Y esta es la clase aparte Funcion3

import java.util.Arrays;
public class Funcion3 {
int[] a=new int[200];
int[] b=new int[300];
int[] c=new int[400];
int[] p=new int[1200];
public int getUbic(int ubic,char tipoP)//devuelve el estado de la ubicacion 1 o 0
{
int rdo=0;
switch(tipoP){
case 'A':rdo=a[ubic];
break;
case 'B':rdo=b[ubic];
break;
case 'C':rdo=c[ubic];
break;
case 'P':rdo=p[ubic];
break;
}
return rdo;
}
public void inicializar()//primero las plateas todas desocupadas
{
Arrays.fill(a, 0);
Arrays.fill(b, 0);
Arrays.fill(c, 0);
Arrays.fill(p, 0);
}
public void cargarPlatea(int ubic,char tipoPlat)//ocupa platea del tipocorrespdte
{
switch(tipoPlat){
case 'A':a[ubic]=1;
break;
case 'B':b[ubic]=1;
break;
case 'C':c[ubic]=1;
break;
case 'P':p[ubic]=1;
break;
}
}
}
  #2 (permalink)  
Antiguo 28/08/2010, 23:06
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Problema con JButton

* Título poco descriptivo..
* El código no está entre los TAG correspondientes..
* y demasiado para leer..
__________________
BadProgrammerException!
  #3 (permalink)  
Antiguo 29/08/2010, 15:51
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con JButton

No hay mucho que leer porque está todo bien, nomas tengo problemas con los botones, el 2do boton me borra todas las acciones del 1er boton, eso habria que ver nomas, es para montarlo con eclipse y fijarse nada mas la definicion de las acciones de los botones, cuando esté bien agragare los tags.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.