JAVA COMPONENTS
Links
//COMPONENTES <
/*
COMPONENTES JTABLE, JLABEL, JTEXTFIELD,
*/
package E_SWING;
import java.awt.Color;
import java.awt.FlowLayout;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Alberto
*/
public class Componentes {
JTextField generico;
//TABLA1
private DefaultTableModel modelo;
private Object[][] filas; //el primer [] corresponde a una fila, el segundo[] a las columnas
// filas de arrays de objetos = va a contener las filas que
// he encontrado en la base de datos : ACUMULA LOS DATOS LEIDOS.
protected ArrayList<Object[]> objetosFilas = new ArrayList();
private Object[][] datosFila= {
{"Mercurio", 2440.0, false},
{"Venus", 19940.0, true},
{"Juìter", 240.0, false},
};
String[] columnNames = {"Columna1", "Columna2"};
String[] titulosMetadata;
int numeroColumnas = 2;
//TABLA2
private DefaultTableModel modelo2;
public Componentes(){}
//BASIC TABLE
public void BasicTable(){
JTable tabla = new JTable();
tabla.setAutoCreateRowSorter(true);
tabla.setModel(this.modelo);
modelo.getDataVector().removeAllElements(); // borramos todos los elementos anteriores..
modelo.setRowCount(0); //ponemos todas las filas a 0
modelo.addRow(new Object[]{/*filasTabla.getDouble(columna)*/});
modelo.addColumn("Columna");
modelo.fireTableDataChanged();
String[] columnNamesBasic;
ArrayList<Object[]> FilasBase = new ArrayList();
//add(new JscrollPane(tabla), BorderLayout.CENTER);
}
//TABLA 2
public void Tabla1(){
JTable tabla = new JTable();
modelo = new DefaultTableModel(filas, columnNames);
tabla.setModel(this.modelo); // ahora este es nuevo modelo...
}
//TABLA 2
public void Tabla2(){
JTable tabla = new JTable();
modelo2 = new DefaultTableModel() {
@Override
public boolean isCellEditable(int fila, int columna) { //AVOIDS CELL EDITING
return false; //Con esto conseguimos que la tabla no se pueda editar
}
};
tabla.setModel(this.modelo2);
tabla.setVisible(true);
}
//METADATA
public void Metadatas() throws SQLException{
Connection conexion = null;
PreparedStatement comandoSQL;
// comandoSQL =conexion.prepareStatement();
ResultSetMetaData informacionDatosEncontrados;
ResultSet filasTabla = null;
// filasTabla= comandoSQL.executeQuery("SELECT * FROM Table");
informacionDatosEncontrados = filasTabla.getMetaData();
informacionDatosEncontrados.getColumnCount();
titulosMetadata = new String[numeroColumnas];
}
//METODOS DE COLUMNAS
//Se pueden poner una a una o con un array de Strings
public void columnas(){
String[] titulosColumnas = new String[0];
titulosColumnas[0] = "Columna1";
modelo.setColumnIdentifiers(titulosColumnas);
modelo.addColumn("Identificación");
// this.modelo.setColumnIdentifiers(this.miFER_ConsultaSQL.getAA_titulos());
String[] columnNames = {"Columna1", "Columna2"};
modelo.setColumnIdentifiers(columnNames);
}
//METODOS DE FILAS
//Array de objetos
public void filas() throws SQLException{
ArrayList<Object[]> objetosFilas = new ArrayList();
objetosFilas.clear(); //para borrar todos los elementos de un arraylist
modelo.setRowCount(0); //ponemos todas las filas a 0
Object[][] filas2 = new Object[0][0];
// this.modelo.addRow(/*filas2.get(1)*/);
ResultSet filasTabla = null;
while(filasTabla.next() ){ // mientras consiga una nueva fila (se puede mover a la siguiente ) = obtener siguiente fila.
// cargamos la fila en el arraylist.
Object[] filaNueva = new Object[numeroColumnas]; // creamos un array de objetos del tamaño de las columnas encontradas
for (int i=0; i < this.numeroColumnas; i++) filaNueva[i]= filasTabla.getString(i+1); // por posicion (el +1 porque getString empieza a contar de 1;
objetosFilas.add(filaNueva);
}
}
public void filasBDOO(){
//EN BDOO Mantenimiento
// TypedQuery<Cliente> query = comandoBD.createQuery("SELECT c FROM Cliente c", Cliente.class);
// List<Cliente> results = query.getResultList(); // ya tengo la lista de clientes
// for (Cliente c : results){ // por cada cliente
// // ccargamos la fila en la rejilla
// Object[] filaNueva = {c.id, c.nombre }; // tenemos que añadir un array de objetos..
// modelo.addRow(filaNueva); // añadirmos fila a fila (fila completa, no podemos añadir celda a celda)
//
// }
}
//VALE para varios componentes, Label, TextField,
public void Generico(){
generico.setText("Texto Generico");
generico.setSize(700,20);
generico.setForeground(Color.blue);
}
public void Label(){
JLabel label = new JLabel();
label.setText("Texto del JLabel");
label.setSize(700,20);
label.setForeground(Color.blue);
}
public void TextField(){
JTextField textField = new JTextField();
textField.setText("Texto del JTextField");
textField.setSize(700,20);
}
public void TextArea(){
JTextArea textArea = new JTextArea();
textArea.setText("Texto JTextArea");
}
//PANEL CON UN LABEL
public void Panel(){
JPanel panel = new JPanel();
panel.setSize(400, 500);
panel.setLayout(new FlowLayout()); //LAYOUT UNO DETRAS DE OTRO
//Añadiendo un elemento al JPanel
JLabel JLabelMax = new JLabel();
panel.add(JLabelMax);
JLabelMax.setVisible(true);
JLabelMax.setText("Maximo");
}
}