Java - cargar nombres de una base de datos en jcombobox

   
Vista:

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

cargar nombres de una base de datos en jcombobox

Publicado por Lawliet zhapyro_5@hotmail.com (249 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
Revisar política de publicidad