Java - BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLON

 
Vista:
sin imagen de perfil

BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLON

Publicado por y2h (5 intervenciones) el 11/11/2014 20:39:23
package Proyectos;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
import javax.swing.JOptionPane;
 
public class ProyB_FicherosSec_opt2 {
 
public static void main(String[] args) {
String[] menu = {"Introducir Pabellón","Ver datos de Pabellón","Ver Pabellón de mayor aforo","Ver Pabellones construidos según fecha","Salir"};
int count,count2;
int encontrado;
int x=0;
int y=0;
 
String codigo, descripcion, aforo, fecha;
String buscar = null;
 
String[] codP = new String[100];
String[] desc = new String[100];
String[] afo = new String[100];
String[] fech = new String[100];
 
boolean salir = false;
try {
while(salir == false){
int menu2 = JOptionPane.showOptionDialog (null, "Opciones", "MENÚ", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, menu, menu[0]);
 
File f = new File("C:/","Pabellones.dat");
 
FileWriter fiw = new FileWriter(f, true);
BufferedWriter bfw = new BufferedWriter(fiw);
 
FileReader fir = new FileReader(f);
BufferedReader bfr = new BufferedReader(fir);
 
count2=0;
encontrado=0;
while((x=bfr.read())!= -1){
if((char)x =='#'){
count2++;
}
}
count=0;
for(int a=0; a>count2;a++){
codP[count]="";
desc[count]="";
afo[count]="";
fech[count]="";
 
while((y=bfr.read())!='&'){
codP[count]=codP[count]+(char)y;
}
while((y=bfr.read())!='&'){
desc[count]=desc[count]+(char)y;
}
while((y=bfr.read())!='&'){
afo[count]=afo[count]+(char)y;
}
while((y=bfr.read())!='#'){
fech[count]=fech[count]+(char)y;
}
count++;
 
}
if(menu2 == 0){ //INTRODUCIR PABELLÓN
codigo = JOptionPane.showInputDialog("Código del Pabellón");
 
for(int i = 0;i<codigo.length();i++){
bfw.write(codigo.charAt(i));
}
 
bfw.write("&"); //separador
 
descripcion = JOptionPane.showInputDialog("Descripción del Pabellón");
for(int i = 0;i<descripcion.length();i++){
bfw.write(descripcion.charAt(i));
}
 
bfw.write("&"); //separador
 
aforo = JOptionPane.showInputDialog("Aforo del Pabellón");
for(int i = 0;i<aforo.length();i++){
bfw.write(aforo.charAt(i));
}
 
bfw.write("&"); //separador 
 
fecha = JOptionPane.showInputDialog("Fecha de contrucción del pabellón");
for(int i=0; i<fecha.length(); i++){
bfw.write(fecha.charAt(i));
}
 
bfw.write("#"); //finalización de registro
 
bfw.close();
}
 
if (menu2 == 1){ //VER DATOS DE PABELLÓN
buscar = JOptionPane.showInputDialog("Introduzca el código del pabellón para visualizar los datos");
for(int j = 0;j<codP.length;j++){
if(buscar.equals(codP[j])){
encontrado = j;
}
}
 
JOptionPane.showMessageDialog(null,"DATOS DE PABELLÓN" +"\n" + "\n"
+ "Código: " + codP[encontrado] +"\n"+ "Descripción: " + desc[encontrado]+"\n"
+ "Aforo: " + afo[encontrado] +"\n"+ "Fecha de contrucción: "
+ fech[encontrado]);
}
bfr.close();
if(menu2 == 4){ //SALIR
System.exit(0);
}
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException IOE)
{
IOE.printStackTrace();
}
System.out.println("\nEjecución terminada.");
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLONfor(int a=0; a>count2;a++)

Publicado por Alfonso (6 intervenciones) el 12/11/2014 11:55:56
Tienes 2 problemas:

El primero es el bucle:
for(int a=0; a>count2;a++){
Sería al revés
for(int a=0; a<count2;a++){

La segunda es que al contar los registros lees del fichero. Ya tienes el número de registro, pero el puntero se encuentra al final del registro, por lo que debes ponerlo al principio para que vuelva a leer, sino siempre estará leyendo el fin de archivo que es -1

espero haber ayudado, un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLONfor(int a=0; a>count2;a++)

Publicado por Yeray (5 intervenciones) el 12/11/2014 14:01:30
Muchas gracias Alfonso, por tu aportación, pero digamos que yo estoy aprendiendo y no se mucho pero intento buscarme la vida.

Cuando hago el cambio que me dijistes del bucle, al ejecutar el programa me aparece el problema de que sólo me deja meter un dato(registro) y posteriormente no puedo hacer más nada, ni introducir otro dato, ni consultar... Y respecto al otro problema sobre el puntero y que al final lee el archivo - 1, por eso me devuelve null, me podrías decir que es la modificación que tendría que hacer en el código, no sé si es una llave o un .close().

Muchas gracias, te adjunto el enunciado del ejercicio o te lo dejo aquí en el comentario, y si te soy sincero, el apartado 3 y 4 me resulta muy complicado de comprender y empezar a hacer...pero el fallo gordo es que no me está devolviendo los valores a la hora de leer, sin eso no puedo hacer ni el 2, 3 y 4

EJERCICIO
Se pide desarrollar una aplicación en Java para el tratamiento de cierta información sobre Pabellones, tratando la información línea a línea.
Dicha aplicación tendrá un menú formado por 4 opciones que son:

1- Introducir Pabellón.
2- Ver datos de Pabellón.
3- Ver Pabellón de mayor aforo.
4- Ver Pabellones construidos según fecha.
5- Salir.

Se almacenará la siguiente información:

* Código del Pabellón.
* Descripción del Pabellón.
* Aforo del Pabellón.
* Fecha de construcción del Pabellón.

La opción 1 pedirá toda la información a almacenar, la cual se guardará en un fichero denominado Pabellones.dat
La información se separará mediante el símbolo & saldo la finalización de cada registro que se utilizará el símbolo #

En la opción 2 se le preguntará al usuario el código de pabellón y se mostrarán todos los datos de dicho pabellón.

Para la opción 3 se mostrará la descripción y el aforo del pabellón de mayor aforo introducido.

En la opción 4 se le preguntará al usuario 2 fechas y se mostrará el código del pabellón y el aforo de aquellos pabellones que se encuentran entre las fechas introducidas.


* El proyecto debe ser realizado mediante funciones para ficheros secuenciales de tratamiento línea a línea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLONfor(int a=0; a>count2;a++)

Publicado por Alfonso (6 intervenciones) el 13/11/2014 12:57:00
Ya la primera modificación la hiciste, ahora sólo tienes que añadir lo siguiente en esta parte del código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
count2=0;
encontrado=0;
while((x=bfr.read())!= -1){
if((char)x =='#'){
count2++;
}
}
 
bfr.close();                           // Esto es lo que tienes que añadir
fir = new FileReader(f);    // Esto es lo que tienes que añadir
bfr = new BufferedReader(fir); // Esto es lo que tienes que añadir
 
count=0;
for(int a=0; a<count2;a++){
codP[count]="";
desc[count]="";
afo[count]="";
fech[count]="";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLONfor(int a=0; a>count2;a++)

Publicado por Yeray (5 intervenciones) el 13/11/2014 13:16:33
Ahora siii, muchas gracias Alfonso, por fin ahora solo me queda hacer el apartado 3 y 4, que le he dado mil vuletas y no se como hacerlo, pero a ver que tal sale si al menos ya me lee el fichero ya es una ayuda fascinante. Mil gracias, no sé si me surge la duda para acabar esto, preguntaré por aquí.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLONfor(int a=0; a>count2;a++)

Publicado por y2h (5 intervenciones) el 13/11/2014 18:12:43
Nada, después de varias horas dándole vuelta al código, no consigo como podría ejecutar el apartado 3 y 4. Lo gordo ya está hecho, pero estos detalles no sé cómo implementarlo en código...me peleo mucho con los String(para compararlos, etc)

APARTADOS PENDIENTES
Para la opción 3 se mostrará la descripción y el aforo del pabellón de mayor aforo introducido.

En la opción 4 se le preguntará al usuario 2 fechas y se mostrará el código del pabellón y el aforo de aquellos pabellones que se encuentran entre las fechas introducidas.

Código del Programa por ahora...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
package Proyectos;
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
import javax.swing.JOptionPane;
 
public class ProyB_FicherosSec_opt2 {
 
	public static void main(String[] args) {
		String[] menu = {"Introducir Pabellón","Ver datos de Pabellón","Ver Pabellón de mayor aforo","Ver Pabellones construidos según fecha","Salir"};
		int count,count2;
		int encontrado;
		int x=0;
		int y=0;
 
		String codigo, descripcion, aforo, fecha;
 
		String buscar = null;
		String ConsultaFech = null; //PENDIENTE
 
		String Myafo = null;//PENDIENTE
 
		String[] codP = new String[100];
		String[] desc = new String[100];
		String[] afo = new String[100];
		String[] fech = new String[100];
 
		boolean salir = false;
		try {
			while(salir == false){
				int menu2 = JOptionPane.showOptionDialog (null, "Opciones", "MENÚ", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, menu, menu[0]);
 
				File f = new File("C:/","Pabellones.dat");
 
				FileWriter fiw = new FileWriter(f, true);
				BufferedWriter bfw = new BufferedWriter(fiw);
 
				FileReader fir = new FileReader(f);
				BufferedReader bfr = new BufferedReader(fir);
 
				count2=0;
				encontrado=0;
				while((x=bfr.read())!= -1){
					if((char)x =='#'){
						count2++;
					}
				}
 
				bfr.close();
				fir = new FileReader(f);
				bfr = new BufferedReader(fir);
 
				count=0;
				for(int a=0; a<count2;a++){
					codP[count]="";
					desc[count]="";
					afo[count]="";
					fech[count]="";
 
					while((y=bfr.read())!='&'){
						codP[count]=codP[count]+(char)y;
					}
					while((y=bfr.read())!='&'){
						desc[count]=desc[count]+(char)y;
					}
					while((y=bfr.read())!='&'){
						afo[count]=afo[count]+(char)y;
					}
					while((y=bfr.read())!='#'){
						fech[count]=fech[count]+(char)y;
					}
					count++;
 
				}
				if(menu2 == 0){ //INTRODUCIR PABELLÓN
					codigo = JOptionPane.showInputDialog("Código del Pabellón");
 
					for(int i = 0;i<codigo.length();i++){
						bfw.write(codigo.charAt(i));
					}
 
					bfw.write("&"); //separador
 
					descripcion = JOptionPane.showInputDialog("Descripción del Pabellón");
					for(int i = 0;i<descripcion.length();i++){
						bfw.write(descripcion.charAt(i));
					}
 
					bfw.write("&"); //separador
 
					aforo = JOptionPane.showInputDialog("Aforo del Pabellón");
					for(int i = 0;i<aforo.length();i++){
						bfw.write(aforo.charAt(i));
					}
 
					bfw.write("&"); //separador 
 
					fecha = JOptionPane.showInputDialog("Fecha de contrucción del pabellón");
					for(int i=0; i<fecha.length(); i++){
						bfw.write(fecha.charAt(i));
					}
 
					bfw.write("#"); //finalización de registro
 
					bfw.close();
				}
 
				if (menu2 == 1){ //VER DATOS DE PABELLÓN
					buscar = JOptionPane.showInputDialog("Introduzca el código del pabellón para visualizar los datos");
					for(int j = 0;j<codP.length;j++){
						if(buscar.equals(codP[j])){
							encontrado = j;
						}
					}
 
					JOptionPane.showMessageDialog(null,"DATOS DE PABELLÓN" +"\n" + "\n"
					+ "Código: " + codP[encontrado] +"\n"+ "Descripción: " + desc[encontrado]+"\n"
					+ "Aforo: " + afo[encontrado] +"\n"+ "Fecha de contrucción: "
					+ fech[encontrado]);
				}
 
				//*******************************PENDIENTE***********************************
				if (menu2 == 2){ // VER PABELLÓN DE MAYOR AFORO Y DESCRIPCIÓN
 
 
					JOptionPane.showMessageDialog(null,"PABELLÓN CON MAYOR AFORO" +"\n" + "\n"
							+ "Descripción: " + desc[encontrado]+"\n"
							+ "Aforo: " + afo[encontrado]);
				}
 
 
				if (menu2 == 3){ // VER PABELLONES CONSTRUIDOS SEGÚN FECHA
					ConsultaFech = JOptionPane.showInputDialog("Introduzca la 1º fecha");
					ConsultaFech = JOptionPane.showInputDialog("Introduzca la 2º fecha");
 
					JOptionPane.showMessageDialog(null,"PABELLONES EXISTENTES ENTRE LAS FECHAS INTRODUCIDAS" +"\n" + "\n"
							+ "Código: " + desc[encontrado]+"\n"
							+ "Aforo: " + afo[encontrado]);
 
				}
				//*******************************PENDIENTE***********************************
 
				if(menu2 == 4){ //SALIR
					System.exit(0);
				}
			}
		} catch (FileNotFoundException e)
		{
			e.printStackTrace();
		}
		catch (IOException IOE)
		{
			IOE.printStackTrace();
		}
		System.out.println("\nEjecución terminada.");
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaac Daniel

BufferedReader, me devulve null al pinchar la opción de VER DATOS PABELLON

Publicado por Isaac Daniel (12 intervenciones) el 20/11/2014 21:37:04
Bueno, espero que no sea muy tarde,

Te dejo el codigo del problema que planteas. Todo esta echo en un solo documento.

No esta echo 100% con las reglas de manejo de string, pero por lo menos te servira de base. Modificalo a como lo piden, si tienes alguna duda, comenta.

Nota: El codigo funciona en todas las opciones que pides.
Adjunto el archivo con el codigo completo ya que no me permitio pegarlo todo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
/**
 *@author Isaac Batista
 * twitter @codeisaac
 *
 * Programa en java que gestiona la informacion de pabellones 
 * con ficheros.
 * Para laWebDelProgramador
 * 
 * Este codigo se realizo con NetBeans, pero tambien se puede ejecutar desde la consola 
 * compilandolo con el comando javac Pabellon.java
 * y ejecutandolo con java Pabellon.
 * 
 * El codigo se realizo en una sola hoja para que no se confundan con los archivos de las
 * clases en caso de que ballan empezando a programar.
 * 
 * Para los que ya tienen un poco de tiempo como ejercicio pueden separar las clases 
 * y compilarlo por separado.
 */
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
 
import static java.lang.Integer.parseInt;
 
 
import java.text.DateFormat;
import java.text.ParseException;
 
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Scanner;
 
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
 
class UnPabellon{
 
	private int codigoP;
	private String descripcionP;
	private int aforoP;
	private String fechaIniP;
 
	//Constructor por default
	public UnPabellon(){
 
	}
 
	//Segundo constructor
	public UnPabellon(int codigoP, String descripcionP, int aforoP, String fechaIniP){
		this.codigoP = codigoP;
		this.descripcionP = descripcionP;
		this.aforoP = aforoP;
		this.fechaIniP = fechaIniP;
	}
 
	//setters de la clase UnPabellon.
	public void setCodigoP(int codigoP)			{ this.codigoP = codigoP; }
	public void setDescripcionP(String descripcionP) 	{ this.descripcionP = descripcionP; }
	public void setAforoP(int aforoP) 			{ this.aforoP = aforoP; }
	public void setFechaIniP(String fechaIniP) 		{ this.fechaIniP = fechaIniP; }
 
	//getters de la clase UnPabellon.
	public int getCodigoP() 				{ return codigoP; }
	public String getDescripcionP() 			{ return descripcionP; }
	public int getAforoP() 					{ return aforoP; }
	public String getFechaIniP() 				{ return fechaIniP; }
 
	//Sobrecargamos el metodo toString para que nos muestre los datos de la clase UnPabellon
	@Override
	public String toString(){
 
		StringBuilder sb = new StringBuilder();
 
		sb.append("\n Código del Pabellón: ");
		sb.append(codigoP);
		sb.append("\n Descripción del Pabellón: ");
		sb.append(descripcionP);
		sb.append("\n Aforo del Pabellón: ");
		sb.append(aforoP);
		sb.append("\n Fecha de construcción del Pabellón: ");
		sb.append(fechaIniP);
 
		return sb.toString();
	}
}
 
class Ventana extends Frame{
 
    //private Frame frame;
    private JPanel panel;
 
    private JButton boton1;
    private JButton boton2;
    private JButton boton3;
    private JButton boton4;
    private JButton boton5;
 
    private final static int ANCHO = 300;
    private final static int ALTO = 200;
 
    private UnPabellon aux;
 
    private File file;
 
 
    public Ventana (){
        inicializa();
 
    }
 
    private Ventana inicializa(){
        //frame = new Frame("MENÚ");
        setTitle("MENÚ");
        panel = new JPanel();
 
        boton1 = new JButton("Introducir Pabellón");
        boton2 = new JButton("Ver datos de Pabellón");
        boton3 = new JButton("Ver Pabellón de mayor aforo");
        boton4 = new JButton("Ver Pabellones construidos según fecha");
        boton5 = new JButton("Salir");
 
        //Introduce Pabellon
        boton1.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent ev){
                List<UnPabellon> newPabellon;
 
                newPabellon = new ArrayList<>();
                newPabellon.add(leerPabellon());
                guardaPabellon(newPabellon);
            }
        });
 
        //Accion para buscar un pabellon por codigo.
        boton2.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent ev){
                int buscaCodigoPabellon;
                aux = new UnPabellon();
 
                buscaCodigoPabellon = parseInt(JOptionPane.showInputDialog("Introduzca el código del "
                                                            + "pabellón a visualizar"));
 
                aux = mostrarPabellon(buscaCodigoPabellon);
                if(aux.getCodigoP() != 0){
                    JOptionPane.showMessageDialog(boton2, aux.toString());
                }else{
                    JOptionPane.showMessageDialog(boton2, "El codigo no es valido o no se encuentra en la base de datos");
                }
                //JOptionPane.showMessageDialog(boton2, mostrarPabellon());
 
            }
        });
 
        //Busca el pabellon con mayor aforo
        boton3.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent ev){
            aux = new UnPabellon();
 
            aux = mostrarPabellon();
            if(aux.getCodigoP() != 0){
                    JOptionPane.showMessageDialog(boton3, aux.toString());
                }else{
                    JOptionPane.showMessageDialog(boton3, "No se encuentra en la base de datos");
                }
        }
        });
 
        //Buscar entre rangos de fecha y mostrar codigo y aforo
        boton4.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e){
                String fechaIn, fechaFi;
                StringBuilder sb = new StringBuilder();
 
                fechaIn = JOptionPane.showInputDialog("Introduce fecha inicial");
                fechaFi = JOptionPane.showInputDialog("Introduce fecha final");
                List<UnPabellon> busqueda = buscarPabellones(fechaIn, fechaFi);
 
                sb.append("Los datos entre ");
                sb.append(fechaIn);
                sb.append(" y ");
                sb.append(fechaFi);
                sb.append(" son:");
                sb.append("\nCodigo\t---\tAforo");
                for (UnPabellon unPabellon : busqueda) {
                    sb.append("\n");
                    sb.append("  ");
                    sb.append(unPabellon.getCodigoP());
                    sb.append("\t---\t");
                    sb.append(unPabellon.getAforoP());
                    //sb.append(" ");
                    //sb.append(unPabellon.getFechaIniP());
                }
                JOptionPane.showMessageDialog(boton4, sb);
            }
        });
 
 
        //Accion para cerrar la ventana con el boton de "Salir"
        boton5.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e){
                System.exit(0);
            }
        });
 
 
        panel.add(boton1);
        panel.add(boton2);
        panel.add(boton3);
        panel.add(boton4);
        panel.add(boton5);
 
        //Evento para cerrar la Ventana.
        addWindowListener(new WindowAdapter(){
            @Override
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
        add(panel);
        setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
        setSize(ANCHO, ALTO);
        setVisible(true);
 
        return this;
    }
 
    /**
     * Metodo para consultar los datos que se encuentra entre un rango de fechas
     * @param fecha1
     * @param fecha2
     * @return consulta
     */
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar