Reutilizacion de codigp
Hola, una pregunta mira, mi perograma ya kedo pero lo k ahora estoy tratando de hacer es reutlizar el codigo, ya k cada k lo unik k cambia es una variable, entonces estaba pensando en crear una funcion, para despues solo ir cambiando la variable segun corresponda, el codigo es:
bt2.addActionListener(//ACCION AL PULSAR EL BOTON
new ActionListener() {
public void actionPerformed( ActionEvent evento )//FUNCION
{
File archivo = null;
FileReader fr = null;
String linea;
String b;
ArrayList lineas = new ArrayList();
ArrayList lineas2=new ArrayList();
String p[]={ "$GPEVENT:TCP.Client.ePingSent",
"$GPEVENT:TCP.Client.ePacketSent",
"$GPEVENT:SYS.Timer.e0",
"$GPEVENT:SYS.Timer.e1",
"$GPEVENT:SYS.Timer.e2",
"$GPEVENT:SYS.Timer.e3",
"$GPEVENT:SYS.Timer.e4",
"$GPEVENT:SYS.Timer.e5",
"$GPEVENT:SYS.Timer.e6",
"$GPEVENT:SYS.Timer.e7",
"$GPEVENT:SYS.Timer.e8",
"$GPEVENT:SYS.Timer.e9",
"$GPEVENT:SYS.Timer.e10",
"$GPEVENT:SYS.Timer.e11",
"$GPEVENT:SYS.Timer.e12",
"$GPEVENT:SYS.Timer.e13",
"$GPEVENT:SYS.Timer.e14",
"$GPEVENT:SYS.Timer.e15",
"$GPEVENT:SYS.Timer.e16",
"$GPEVENT:SYS.Timer.e17",
"$GPEVENT:SYS.Timer.e18",
"$GPEVENT:SYS.Timer.e19",
"$GPEVENT:TCP.Client.eDisconnecting",
"$GPEVENT:TCP.Client.eDisconnected",
"$GPEVENT:GSM.GPRS.eDisconnecting",
"$GPEVENT:GSM.GPRS.eDisconnected",
"$GPEVENT:GSM.GPRS.eConnecting",
"$GPEVENT:GSM.GPRS.eConnected",
"$GPEVENT:TCP.Client.eConnecting",
"$GPEVENT:TCP.Client.eConnected",
"$GPEVENT:GSM.eCellChange",
"$GPEVENT:GSM.eOpFound",
"$GPEVENT:GSM.eOpLost",
"$GPEVENT:SYS.Device.eStart" };
try {
fr = new FileReader (s2);
BufferedReader br = new BufferedReader(fr);
while((linea=br.readLine())!=null){
lineas.add(linea); } //fin while
for (int j = 0 ; j < lineas.size() ; j++){
linea = (String)lineas.get(j);
StringTokenizer st = new StringTokenizer( linea,"=" );
while(st.hasMoreTokens()){ //inicio while2
b= st.nextToken();
for (int c = 0; c< p.length; c++ )
if(b.startsWith(p[c]))
lineas2.add(b); }//fin while2
} //fin for
for (int k = 0 ; k < lineas2.size() ; k++){
b=(String)lineas2.get(k);
}
//conteo areaSalida.append ("\n");
areaSalida.append ("EVENTOS"+ "\n");
for (int l = 0 ; l {
int h = 1;
for (int m = l + 1 ; m {
if ( lineas2.get(l)!=null && lineas2.get(m)!=null && lineas2.get(l).equals(lineas2.get(m)) )
{
h++;
lineas2.set(m,null); }}
if ( lineas2.get(l)!= null)
{
areaSalida.append ( lineas2.get(l)+ " " + h +"\n");
}}
}//FIN DEL TRY
catch(IOException e){
System.out.println(e);
}
finally{
try{ //el bloque finally se ejecuta siempre, por eso, si se cierra el fichero
if( fr != null){ //al final del primer try, y ha dado un error antes, pasaría
fr.close(); //al 1er catch y luego saldría, dejándolo abierto. Es conveniente
} //cerrarlo aquí, comprobando que no sea -por un error anterior, como
}catch (IOException e){ // no tener permisos de lectura o que no exista - de valor null.
}
}
}//fin ActionPerformed
}//fin ActionListener
); //FIN ACCION
hay 7 botones 1 por cada String p[], como prodria resolver esto???????
espero me puedas ayudar
GRAX
:)
bt2.addActionListener(//ACCION AL PULSAR EL BOTON
new ActionListener() {
public void actionPerformed( ActionEvent evento )//FUNCION
{
File archivo = null;
FileReader fr = null;
String linea;
String b;
ArrayList lineas = new ArrayList();
ArrayList lineas2=new ArrayList();
String p[]={ "$GPEVENT:TCP.Client.ePingSent",
"$GPEVENT:TCP.Client.ePacketSent",
"$GPEVENT:SYS.Timer.e0",
"$GPEVENT:SYS.Timer.e1",
"$GPEVENT:SYS.Timer.e2",
"$GPEVENT:SYS.Timer.e3",
"$GPEVENT:SYS.Timer.e4",
"$GPEVENT:SYS.Timer.e5",
"$GPEVENT:SYS.Timer.e6",
"$GPEVENT:SYS.Timer.e7",
"$GPEVENT:SYS.Timer.e8",
"$GPEVENT:SYS.Timer.e9",
"$GPEVENT:SYS.Timer.e10",
"$GPEVENT:SYS.Timer.e11",
"$GPEVENT:SYS.Timer.e12",
"$GPEVENT:SYS.Timer.e13",
"$GPEVENT:SYS.Timer.e14",
"$GPEVENT:SYS.Timer.e15",
"$GPEVENT:SYS.Timer.e16",
"$GPEVENT:SYS.Timer.e17",
"$GPEVENT:SYS.Timer.e18",
"$GPEVENT:SYS.Timer.e19",
"$GPEVENT:TCP.Client.eDisconnecting",
"$GPEVENT:TCP.Client.eDisconnected",
"$GPEVENT:GSM.GPRS.eDisconnecting",
"$GPEVENT:GSM.GPRS.eDisconnected",
"$GPEVENT:GSM.GPRS.eConnecting",
"$GPEVENT:GSM.GPRS.eConnected",
"$GPEVENT:TCP.Client.eConnecting",
"$GPEVENT:TCP.Client.eConnected",
"$GPEVENT:GSM.eCellChange",
"$GPEVENT:GSM.eOpFound",
"$GPEVENT:GSM.eOpLost",
"$GPEVENT:SYS.Device.eStart" };
try {
fr = new FileReader (s2);
BufferedReader br = new BufferedReader(fr);
while((linea=br.readLine())!=null){
lineas.add(linea); } //fin while
for (int j = 0 ; j < lineas.size() ; j++){
linea = (String)lineas.get(j);
StringTokenizer st = new StringTokenizer( linea,"=" );
while(st.hasMoreTokens()){ //inicio while2
b= st.nextToken();
for (int c = 0; c< p.length; c++ )
if(b.startsWith(p[c]))
lineas2.add(b); }//fin while2
} //fin for
for (int k = 0 ; k < lineas2.size() ; k++){
b=(String)lineas2.get(k);
}
//conteo areaSalida.append ("\n");
areaSalida.append ("EVENTOS"+ "\n");
for (int l = 0 ; l {
int h = 1;
for (int m = l + 1 ; m {
if ( lineas2.get(l)!=null && lineas2.get(m)!=null && lineas2.get(l).equals(lineas2.get(m)) )
{
h++;
lineas2.set(m,null); }}
if ( lineas2.get(l)!= null)
{
areaSalida.append ( lineas2.get(l)+ " " + h +"\n");
}}
}//FIN DEL TRY
catch(IOException e){
System.out.println(e);
}
finally{
try{ //el bloque finally se ejecuta siempre, por eso, si se cierra el fichero
if( fr != null){ //al final del primer try, y ha dado un error antes, pasaría
fr.close(); //al 1er catch y luego saldría, dejándolo abierto. Es conveniente
} //cerrarlo aquí, comprobando que no sea -por un error anterior, como
}catch (IOException e){ // no tener permisos de lectura o que no exista - de valor null.
}
}
}//fin ActionPerformed
}//fin ActionListener
); //FIN ACCION
hay 7 botones 1 por cada String p[], como prodria resolver esto???????
espero me puedas ayudar
GRAX
:)
1 respuesta
Respuesta de krlosnow
1