Java - cargar nombres de una base de datos en jcombobox

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

cargar nombres de una base de datos en jcombobox

Publicado por Jose (5 intervenciones) el 02/12/2016 21:29:45
hola buenas tardes...me podrían ayudar con esta duda.
bueno el problema es el siguiente,necesito cargar nombres que tengo en una base de datos en acces a un jcombobox; como podria hacerlo?
como nota:el jcombobox deber a actualizarse en caso de que agregue un nuevo nombre al la base de datos.
**programo en netbeans**

bueno esta es mi duda y no se como resolverlo. muchas gracias de antemano.
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 Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

cargar nombres de una base de datos en jcombobox

Publicado por Lawliet (303 intervenciones) el 02/12/2016 21:44:15
Hola.

Crees que este código puede serte de utilidad, realizo el llenado de un JCombo mediante una consulta a base de datos.

LlenarCombo.java
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
public class LlenarCombo extends JFrame {
 
	private static final long serialVersionUID = -1313013814439124473L;
 
	private JComboBox cboRoles;
 
	public LlenarCombo() {
		super("Combos.");
		setSize(350, 90);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setResizable(false);
		cargarComponentes();
	}
 
	public void cargarComponentes() {
		cboRoles = new JComboBox();
		cboRoles.addItem("Seleccione");
		llenarComboRoles();
 
		Container container = getContentPane();
		container.setLayout(new GridLayout(1,1,10,10));
		container.add(new JLabel("Rol:"));
		container.add(cboRoles);
	}
 
	private void llenarComboRoles() {
		List<Rol> listaRoles = new Consultas().consultarRoles();
		for(Rol rol : listaRoles) {
			cboRoles.addItem(rol.getRolName());
		}
	}
}

Consultas.java
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
public class Consultas {
 
	public List<Rol> consultarRoles() {
		Connection conn = new Conexion().conexionMySql();
		List<Rol> listaRoles = new ArrayList<Rol>();
 
		PreparedStatement stmt = null;
		ResultSet rs = null;
 
		try {
			stmt = conn.prepareStatement("SELECT * FROM rol ORDER BY rolName");
			rs = stmt.executeQuery();
			while(rs.next()){
				Rol rol = new Rol(rs.getInt("rolId"), rs.getString("rolName"), rs.getString("rolDesc"));
				listaRoles.add(rol);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				rs.close();
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
 
		return listaRoles;
	}
}

Conexion.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Conexion {
 
	public Connection conexionMySql() {
		Connection connection = null;
		String url = "jdbc:mysql://localhost/sistema?autoReconnect=true&useSSL=false";
		String usuario = "root";
		String password = "";
 
		try {
			Class.forName("com.mysql.jdbc.Driver");
			connection = DriverManager.getConnection(url, usuario, password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
 
		return connection;
	}
}

Rol.java
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
public class Rol {
	private int rolId;
	private String rolName;
	private String rolDesc;
 
	public Rol() {}
 
	public Rol(int rolId, String rolName, String rolDesc) {
		this.rolId = rolId;
		this.rolName = rolName;
		this.rolDesc = rolDesc;
	}
 
	public int getRolId() {
		return rolId;
	}
 
	public void setRolId(int rolId) {
		this.rolId = rolId;
	}
 
	public String getRolName() {
		return rolName;
	}
 
	public void setRolName(String rolName) {
		this.rolName = rolName;
	}
 
	public String getRolDesc() {
		return rolDesc;
	}
 
	public void setRolDesc(String rolDesc) {
		this.rolDesc = rolDesc;
	}
}

Es importante mencionar que si quieres refrescar el JCombo, entonces será necesario que vuelvas a llamar el llenado de la lista al final de tu proceso para así reflejar los cambios.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!
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