oct 09
Método recursivo para setear propiedades a todos los componentes swing contenidos en el que se mande. Por ejemplo le mandas el nombre de un panel y todos los que estén dentro de el quedarán a no editable. Pero puedes aplicar los cambios que quieras y solo a determinadas instancias. Por ejemplo, si solo quieres poner en rojo la letra de las JLabel borras todo excepto la llamada recursiva y pones:
1
| if(component instanceof JLabel) ((JLabel) component).setForeground(Color.RED); |
NOTA: IntegerField, LimitedTextField y DecimalField no son componentes propios de swing, si no variaciones del JTextField creadas por un compañero y yo mismo para determinados propósitos. Y el componente JDateChooser está sacado del JCalendar, puedes encontrar la librería en esta web.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| private void enableFields(boolean option, JComponent jCompo) {
Component [] arrayCompo = jCompo.getComponents();
for (Component component : arrayCompo) {
if(component instanceof IntegerField) ((IntegerField) component).setEnabled(option);
if(component instanceof LimitedTextField) ((LimitedTextField) component).setEnabled(option);
if(component instanceof DecimalField) ((DecimalField) component).setEnabled(option);
if(component instanceof JTextField) ((JTextField) component).setEnabled(option);
if(component instanceof JTextArea) ((JTextArea) component).setEnabled(option);
if(component instanceof JComboBox) ((JComboBox) component).setEnabled(option);
if(component instanceof JButton) ((JButton) component).setEnabled(option);
if(component instanceof JDateChooser) ((JDateChooser) component).getDateEditor().setEnabled(option);
if(component instanceof JRadioButton) ((JRadioButton) component).setEnabled(option);
if(component instanceof JCheckBox) ((JCheckBox) component).setEnabled(option);
if(component instanceof JSlider) ((JSlider) component).setEnabled(option);
if(component instanceof JSpinner) ((JSpinner) component).setEnabled(option);
if(component instanceof JComponent) enableFields(option, (JComponent)component);
}
} |
1
2
3
4
| //habilitar
enableFields(true,MiPanel.this);
//deshabilitar
enableFields(false,MiPanel.this); |
Etiquetas: Java • programacion • swing
abr 16
Tengo esto muy abandonado, pero entre estudios y otras situaciones no dispongo de demasiado tiempo y ganas. Ahora mismo estoy de practicas en una empresa de software, de momento estoy haciendo pruebas y leyendo documentación de Java, JSP y demás derivados.
Hoy he hecho una clase para conectar a base de datos, y la pongo aquí para compartirla y revivir un poco el blog:
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
| import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Conectadb{
//variables miembro
private String usuario;
private String clave;
private String url;
private String driverClassName;
private Connection conn = null;
private Statement estancia;
//CONSTRUCTORES
//Constructor que toma los datos de conexion por medio de parametros
public Conectadb(String usuario, String clave, String url, String driverClassName) {
this.usuario = usuario;
this.clave = clave;
this.url = url;
this.driverClassName = driverClassName;
}
//Constructor que crea la conexion sin parametros con unos definidos en la clase
//(meter los datos correspondientes)
public Conectadb() {
//poner los datos apropiados
this.usuario = "usuario";
this.clave = "clave";
this.url = "xxxx:xxxx://url:puerto/lugar";
this.driverClassName = "el.driver.de.la.base.datos";
}
//metodos para recuperar los datos de conexion
public String getClave() {
return clave;
}
public String getUrl() {
return url;
}
public String getUsuario() {
return usuario;
}
public Connection getConn() {
return conn;
}
public String getDriverClassName() {
return driverClassName;
}
//metodos para establecer los valores de conexion
public void setClave(String clave) {
this.clave = clave;
}
public void setUrl(String url) {
this.url = url;
}
public void setUsuario(String usuario) throws SQLException {
this.usuario = usuario;
}
public void setConn(Connection conn) {
this.conn = conn;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
//la conexion propiamente dicha
public void conectar() throws SQLException {
try {
Class.forName(this.driverClassName).newInstance();
this.conn = DriverManager.getConnection(this.url, this.usuario, this.clave);
} catch (Exception err) {
System.out.println("Error " + err.getMessage());
}
}
//Cerrar la conexion
public void cierraConexion() throws SQLException {
this.conn.close();
}
//METODOS PARA TRABAJAR CON LA BASE DE DATOS
public ResultSet consulta(String consulta) throws SQLException {
this.estancia = (Statement) conn.createStatement();
return this.estancia.executeQuery(consulta);
}
public void actualizar(String actualiza) throws SQLException {
this.estancia = (Statement) conn.createStatement();
estancia.executeUpdate(actualiza);
}
public ResultSet borrar(String borra) throws SQLException {
Statement st = (Statement) this.conn.createStatement();
return (ResultSet) st.executeQuery(borra);
}
public int insertar(String inserta) throws SQLException {
Statement st = (Statement) this.conn.createStatement();
return st.executeUpdate(inserta);
}
} |
Etiquetas: base de datos • Java • programacion • sql