Hola a todos amigos, vereis necesito entregar un pequeño trabajo relizado en java para aprobar, lo tengo casi todo hecho, pero me falta una pequeña modificiación, que no soy capaz de hacerlo es por si me podiesi exar una mano gracias.
Esta es la clase principal
import java.util.Date;
public class Cds {
private String titulo;
private int numcds;
private String categoria;
private String artista;
private boolean prestado;
private Date fprestado;
private String director;
public Cds(String titulo,int numcds,String categoria,String artista,boolean prestado,Date fprestado,String director){
cambiartitulo(titulo);
muchas gracias de antemano,espero vuestra ayuda muchas gracias otra vez
saludos
cambiarnumcds(numcds);
cambiarcategoria(categoria);
cambiarartista(artista);
this.prestado=prestado;
cambiarfprestado(fprestado);
cambiardirector(director);
}
public String obtertitulo(){
return titulo;
}
public void cambiartitulo(String novotitulo){
titulo=novotitulo;
}
public int obternumcds(){
return numcds;
}
public void cambiarnumcds(int novonumcds){
numcds=novonumcds;
}
public String obtercategoria(){
return categoria;
}
public void cambiarcategoria(String novocategoria){
categoria=novocategoria;
}
public String obterartista(){
return artista;
}
public void cambiarartista(String novoartista){
artista=novoartista;
}
public Date obterfprestado(){
return fprestado;
}
public void cambiarfprestado(Date novofprestado){
fprestado=novofprestado;
}
public boolean obterprestado(){
return prestado;
}
public void cambiarprestado(boolean novoprestado){
prestado=novoprestado;
}
public String obterdirector(){
return director;
}
public void cambiardirector(String novodirector){
director=novodirector;
}
public String aCadea(){
return "Título: "+titulo+"\nNumero de cds/dvds: "+numcds+"\nCategoria a la que pertenece: "+categoria+"\nArtista: "+artista+"\nFecha del Prestamo: "+fprestado+"\nDirector: "+director;
}
}
y este es el interfaz corresponiente.
import java.awt.Component;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import java.sql.*;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Interfaz extends JFrame{
private Container contenedor;
private GridBagLayout esquema;
private GridBagConstraints restricciones;
private JLabel lbltitulo,lblnumcds,lblcategoria,lblartista,lblprestado,lbldirector;
private JTextField txttitulo,txtnumcds,txtcategoria,txtartista,txtdirector;
private JCheckBox cbprestado;
private JButton btnAnterior,btnSiguiente;
private int num=0;
private Object [][] fila = new Object[6][6];
private Cds cd;
private Cds[] cdsdvds = new Cds[5];
Connection conexion;
ResultSet tabla;
public void actualizarcampos (int indice){
cd=cdsdvds[num];
txttitulo.setText(cd.obtertitulo());
txtnumcds.setText(""+cd.obternumcds());
txtcategoria.setText(cd.obtercategoria());
txtartista.setText(cd.obterartista());
txtdirector.setText(cd.obterdirector());
cbprestado.setSelected(cd.obterprestado());
repaint();
}
public Interfaz (){
super ("InterfazCds");
contenedor = getContentPane();
esquema = new GridBagLayout();
contenedor.setLayout(esquema);
restricciones = new GridBagConstraints();
lbltitulo = new JLabel ("Título del CD/DVD:");
lblnumcds = new JLabel ("Número de CDS/DVDS:");
lblcategoria = new JLabel ("Categoria del CD/DVD:");
lblartista = new JLabel ("Artista:");
lblprestado = new JLabel ("Prestado si/no:");
lbldirector = new JLabel ("Director:");
txttitulo = new JTextField ();
txtnumcds = new JTextField ();
txtcategoria = new JTextField ();
txtartista = new JTextField ();
cbprestado = new JCheckBox ();
txtdirector = new JTextField ();
btnAnterior = new JButton ("Anterior");
btnSiguiente = new JButton ("Siguiente");
btnAnterior.addActionListener(new Manejador());
btnSiguiente.addActionListener(new Manejador());
restricciones.fill = GridBagConstraints.BOTH;
try{
Class.forName ("org.postgresql.Driver");
String baseDatos="dbc:Postgresql://www.danielcastelao.org:5432/dacostaroddb";
conexion=DriverManager.getConnection(baseDatos,"dacostarod","vabcewv5");
Statement sentencia=conexion.createStatement();
sentencia.execute("select * from cdss");
tabla=sentencia.getResultSet();
int c=0;
while(tabla.next()){
for (int i=0;i<6;i++)
fila[c][i] = tabla.getObject(i+1);
c++;
}
while (tabla.isAfterLast()==false){
System.out.println(tabla.getString(1)+"\t"+tabla.getString(2)+"\t"+tabla.getString(3));
tabla.next();
}
tabla.close();
conexion.close();
}
catch(ClassNotFoundException eClass){
System.out.println(eClass);
}
catch(SQLException eSql){
System.out.println(eSql);
}
txttitulo.setText(String.valueOf(fila[0][0]));
txtnumcds.setText(String.valueOf(fila[0][1]));
txtcategoria.setText(String.valueOf(fila[0][2]));
txtartista.setText(String.valueOf(fila[0][3]));
txtdirector.setText(String.valueOf(fila[0][4]));
cbprestado.setText(String.valueOf(fila[0][5]));
agregarComponente (lbltitulo,0,0,2,1);
agregarComponente (lblnumcds,1,0,2,1);
agregarComponente (lblcategoria,2,0,2,1);
agregarComponente (lblartista,3,0,2,1);
agregarComponente (lbldirector,4,0,2,1);
agregarComponente (lblprestado,5,0,2,1);
agregarComponente (txttitulo,0,2,2,1);
agregarComponente (txtnumcds,1,2,2,1);
agregarComponente (txtcategoria,2,2,2,1);
agregarComponente (txtartista,3,2,2,1);
agregarComponente (txtdirector,4,2,2,1);
agregarComponente (cbprestado,5,2,2,1);
agregarComponente (btnAnterior,6,0,2,1);
agregarComponente (btnSiguiente,6,2,2,1);
btnAnterior.setEnabled(false);
setSize (300,200);
setVisible(true);
actualizarcampos(num);
}
private void agregarComponente(Component componente,int fila, int columna, int anchura, int altura){
restricciones.gridx = columna;
restricciones.gridy = fila;
restricciones.gridwidth = anchura;
restricciones.gridheight = altura;
esquema.setConstraints( componente, restricciones );
contenedor.add( componente );
}
public static void main(String[] args) {
Interfaz aplicacion = new Interfaz();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class Manejador implements ActionListener{
public void actionPerformed (ActionEvent e){
if (e.getSource()==btnAnterior){
if (num>0)
num--;
btnSiguiente.setEnabled(true);
if(num==0)
{
btnAnterior.setEnabled(false);
}
}
if (e.getSource()==btnSiguiente){
btnAnterior.setEnabled(true);
num++;
if (num==cdsdvds.length-1)
{
btnSiguiente.setEnabled(false);
}
}
actualizarcampos(num);
}
}
{
}
}
lo que ahora tengo que hacer es lo siguiente:
añadirlle dos menús. Uno fonde
puedas elegir si consultas los datos (elformulario que esta hecho) y otro donde
utilices otro formulario que presente un listado de los datos de los cds
prestados en un jtextarea. estos dos formularios tiene que ser hijos del
principal, és dicir que teñen que estár insertados en el principal.