Java - Agregar campo en jTable

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Agregar campo en jTable

Publicado por Sergio (2 intervenciones) el 23/09/2019 05:37:30
Como andan ?? Alguien me podría decir como se agrega una fila a un formulario?


Dado un archivo con líneas de tres campos, vendedor, fecha y cantidad vendida, explique cómo haría
un programa que genere un archivo de salida con los mismos primeros tres campos y agregando un
campo más con la cantidad total vendida correspondiente al vendedor.


Sin-titulo
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
Imágen de perfil de pablo hernandez
Val: 580
Bronce
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Agregar campo en jTable

Publicado por pablo hernandez (149 intervenciones) el 23/09/2019 16:51:29
Buenas Sergio no sé sí lo que quieres hacer es una columna extra de forma dinamica o de que otra forma, pero sí quieres añadir esa columna intentalo creando un arreglo donde pases esa columna esta vez y luego ese arreglo lo pasas como parametro en tu instancia del jtable
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 Billy Joel
Val: 1.825
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Agregar campo en jTable

Publicado por Billy Joel (468 intervenciones) el 30/09/2019 03:31:36
Este es un programa de lectura y escritura de archivos. Acá te dejo este tutorial que siempre utilizo cuando se trata de lectua y escritura de archivos.

Utilizo la colección Map para la sumatoria de ventas.
Acá te dejo mas información sobre los HashMaps

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
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class SergioIO {
 
    public static List<String[]> lectura() {
        File archivo;
        FileReader fr = null;
        BufferedReader br;
        List<String[]> registros = new ArrayList();
        try {
            archivo = new File("C:\\entrada.txt");
            fr = new FileReader(archivo);
            br = new BufferedReader(fr);
 
            // Lectura del fichero
            String linea;
            while ((linea = br.readLine()) != null) {
                //System.out.println(linea);
                registros.add(linea.split("\t"));
            }
        } catch (IOException e) {
            e.printStackTrace(System.out);
        } finally {
            try {
                if (fr != null) {
                    fr.close();
                }
            } catch (IOException e2) {
                e2.printStackTrace(System.out);
            }
        }
        return registros;
    }
 
    public static void escritura(List<String[]> registros) {
        FileWriter fichero = null;
        PrintWriter pw;
        try {
            fichero = new FileWriter("C:\\salida.txt");
            pw = new PrintWriter(fichero);
            registros.forEach(r->{
                for (int i = 0; i < r.length; i++) {
                    pw.print(r[i] + (i + 1 < r.length ? "\t" : ""));
                }
                pw.println();
            });
        } catch (IOException e) {
            e.printStackTrace(System.out);
        } finally {
            try {
                if (null != fichero) {
                    fichero.close();
                }
            } catch (IOException e2) {
                e2.printStackTrace(System.out);
            }
        }
    }
 
    public static void main(String[] args) {
        List<String[]> registros = lectura();
        List<String[]> salida = new ArrayList(registros.size());
        Map<String, Integer> vendedores = new HashMap();
        for (int i = 0; i < registros.size(); i++) {
            if (i == 0) {
                salida.add(new String[]{"Vendedor", "Fecha", "Cantidad", "TotalMes"});
            } else {
                salida.add(new String[]{
                    registros.get(i)[0],
                    registros.get(i)[1],
                    registros.get(i)[2],
                    "0"
                });
                String nombre = registros.get(i)[0];
                int total = Integer.parseInt(registros.get(i)[2]);
                vendedores.put(nombre, vendedores.containsKey(nombre) ? vendedores.get(nombre) + total : total);
            }
        }
        for (int i = 1; i < registros.size(); i++) {
            salida.get(i)[3] = vendedores.get(salida.get(i)[0]).toString();
        }
        salida.forEach(r -> {
            for (int i = 0; i < r.length; i++) {
                System.out.print(r[i] + (i + 1 < r.length ? "\t" : "\n"));
            }
        });
 
        escritura(salida);
    }
}

Adjunto también el archivo de entrada que he utilizado.

Saludos,
Billy Joel
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