Java - mostrar palabra en vez de letra

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

mostrar palabra en vez de letra

Publicado por manuel (3 intervenciones) el 30/11/2019 06:55:13
Buenas .
Disculpen mi ignorancia estoy empezado en java con interfaz gráfica y tengo una duda cuando muestro información de una BD mysql en una JTable, lo que quiero es que el campo sexo el cual en la BD esta como F ó M la JTable lo muestre como masculino o femenino manteniendo el F o M en la bd.
Muchas gracias por vuestras respuestas.
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
Val: 186
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

mostrar palabra en vez de letra

Publicado por Juan (70 intervenciones) el 30/11/2019 13:12:25
podrias usar un condicional que antes de pasarlo verifique si es 'M' y lo ponga en masculino y si es 'F' que lo ponga en femenino. puedes enviar el código justo cuando pasas el valor a la tabla, para ayudarte mejor. para ver cómo obtienes los datos y como los pasas.
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
Val: 6
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

mostrar palabra en vez de letra

Publicado por manuel (3 intervenciones) el 30/11/2019 14:55:05
estimado esta es la parte donde lleno la tabla

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
rs = ps.executeQuery();
 
    ResultSetMetaData rsMd = rs.getMetaData();
    int cantidadColumnas = rsMd.getColumnCount();
 
    modelo.addColumn("Rut");
    modelo.addColumn("Nombre");
    modelo.addColumn("Género");
    modelo.addColumn("Edad");
    modelo.addColumn("Dirección");
    modelo.addColumn("Ciudad");
    modelo.addColumn("Isapre");
    modelo.addColumn("Donante");
 
    TableColumn tc = Listar.jtbl_TablaBusqueda.getColumnModel().getColumn(7);
    tc.setCellEditor(Listar.jtbl_TablaBusqueda.getDefaultEditor(Boolean.class));
    tc.setCellRenderer(Listar.jtbl_TablaBusqueda.getDefaultRenderer(Boolean.class));
 
 
    while (rs.next()) {
        Object[] filas = new Object[cantidadColumnas];
 
        for (int i = 0; i < cantidadColumnas; i++) {
 
            filas[i] = rs.getObject(i + 1);
        }
 
        modelo.addRow(filas);
    }
 
 } catch (SQLException e) {
    System.err.println(e.toString());
}
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: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

mostrar palabra en vez de letra

Publicado por Billy Joel (875 intervenciones) el 30/11/2019 18:00:02
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
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
 
public class CargarTabla {
 
    public void cargarTablaPersonas(JTable t) {
        String query = "select Rut, Nombre, Genero, Edad, Direccion, Ciudad, Isapre, Donante from personas where edad between ? and ?";
        List<String[]> lista = executeQuery(query, new String[]{"18", "60"});
        String[] cols = {"Rut", "Nombre", "Genero", "Edad", "Dirección", "Ciudad", "Isapre", "Donante"};
        String[][] data = new String[lista.size()][cols.length];
        for (int i = 0; i < data.length; i++) {
            data[i] = lista.get(i);
            /**
             * Si el genero es F entonces se coloca Femenino de otro modo
             * Masculino
             */
            data[i][2] = data[i][2].equalsIgnoreCase("F") ? "Femenino" : "Masculino";
        }
        t.setModel(new DefaultTableModel(data, cols));
    }
 
    public Connection getConnection() {
        String ip = "localhost";
        String db = "myDB";
        String user = "user";
        String password = "password";
        Connection cn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            cn = DriverManager.getConnection("jdbc:mysql://" + ip + ":3306/" + db, user, password);
        } catch (ClassNotFoundException | SQLException ex) {
            ex.printStackTrace(System.out);
        }
        return cn;
    }
 
    /**
     * Ejecuta una consulta a la base de datos. Devuelve una lista con los
     * registros de la consulta
     *
     * @param sqlCommand
     * @param params
     * @return
     */
    public List<String[]> executeQuery(String sqlCommand, String[] params) {
        Connection cn = null;
        PreparedStatement pst = null;
        ResultSet rs;
        List<String[]> rows = null;
        try {
            cn = getConnection();
            pst = cn.prepareStatement(sqlCommand);
            if (params != null && sqlCommand.contains("?")) {
                for (int i = 0; i < params.length; i++) {
                    pst.setObject(i + 1, params[i]);
                }
            }
            rs = pst.executeQuery();
            int cols = rs.getMetaData().getColumnCount();
            String[] row;
            rows = new ArrayList();
            while (rs.next()) {
                row = new String[cols];
                for (int i = 0; i < row.length; i++) {
                    row[i] = rs.getString(i + 1);
                }
                rows.add(row);
            }
        } catch (SQLException ex) {
            System.out.println("Error al ejecutar query: " + sqlCommand);
            ex.printStackTrace(System.out);
        } finally {
            try {
                if (pst != null && !pst.isClosed()) {
                    pst.close();
                }
                if (cn != null && !cn.isClosed()) {
                    cn.close();
                }
            } catch (SQLException ex) {
                ex.printStackTrace(System.out);
            }
        }
        return rows;
    }
 
    /**
     * Ejecuta un comnado a la base de datos
     *
     * @param sqlCommand
     * @param params
     * @return
     */
    public boolean executeStatement(String sqlCommand, String[] params) {
        Connection cn = null;
        PreparedStatement pst = null;
        int afectados = 0;
        try {
            cn = getConnection();
            pst = cn.prepareStatement(sqlCommand);
            if (params != null && sqlCommand.contains("?")) {
                for (int i = 0; i < params.length; i++) {
                    pst.setObject(i + 1, params[i]);
                }
            }
            afectados = pst.executeUpdate();
        } catch (SQLException ex) {
            System.out.println("Error al ejecutar sentencia: " + sqlCommand);
            System.out.println("Parametros: ");
            if (params != null) {
                for (String param : params) {
                    System.out.println(param);
                }
            }
            ex.printStackTrace(System.out);
        } finally {
            try {
                if (pst != null) {
                    pst.close();
                }
                if (cn != null) {
                    cn.close();
                }
            } catch (SQLException ex) {
                ex.printStackTrace(System.out);
            }
        }
        return afectados > 0;
    }
}

La consulta carga a las personas que estén en un rango de edad entre 18 y 60 años

Cualquier duda solo escribe o envíame un email.
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

mostrar palabra en vez de letra

Publicado por manuel (3 intervenciones) el 30/11/2019 19:04:52
buenisimo muchas gracias!!!!!
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