Ejemplo de 3 capas con java

Iniciado por Rijhording, 25 Abril 2010, 08:21 AM

0 Miembros y 1 Visitante están viendo este tema.

sapito169

#30
Cita de: raao10 en  8 Octubre 2012, 17:43 PM
Hola!! q tal por aca me estoy iniciando en el mundo de los sistemas en 3 capas y me ha parecido fabuloso el aporte de todos.. pero me gustaria si me pudieran ayudar en la parte en donde muestra un arreglo para visualizar una tabla de los datos... q no he podido entender... aunque hice el ejemplo no me sale.
codigo completo

Código (java) [Seleccionar]

public class Main {
public static void main(String[] args) {
RepositorioTarea repositorioTarea = new RepositorioTarea();
ServicioTarea servicioTarea = new ServicioTarea(repositorioTarea);
FrmPrincipal frmPrincipal = new FrmPrincipal(servicioTarea);
frmPrincipal.setVisible(true);
}
}



Código (java) [Seleccionar]

import java.awt.BorderLayout;

public class FrmPrincipal extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField txtTareaNombre;
private JTable table;

private ServicioTarea servicioTarea;

public FrmPrincipal(ServicioTarea servicioTarea) {
this.servicioTarea = servicioTarea;
init();
}

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmPrincipal frame = new FrmPrincipal();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public FrmPrincipal() {
init();
}

private void init() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);

JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.NORTH);
panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));

JLabel lblNewLabel = new JLabel("Tarea");
panel.add(lblNewLabel);

txtTareaNombre = new JTextField();
panel.add(txtTareaNombre);
txtTareaNombre.setColumns(10);

JButton btnAgrega = new JButton("agrega");

panel.add(btnAgrega);

JScrollPane scrollPane = new JScrollPane();
contentPane.add(scrollPane, BorderLayout.CENTER);

table = new JTable();
scrollPane.setViewportView(table);
table.setModel(new DefaultTableModel(new Object[][] {}, new String[] {
"Codigo", "Descripcion", "fecha" }));
btnAgrega.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
servicioTarea.agregar(new Tarea(null, txtTareaNombre.getText(),
null));

List<Tarea> tareas = servicioTarea.tareas();
DefaultTableModel defaultTableModel = (DefaultTableModel) table
.getModel();
defaultTableModel.setRowCount(0);
for (Tarea tarea : tareas) {
defaultTableModel.addRow(new Object[] { tarea.getId(),
tarea.getNombre(), tarea.getDate() });
}
}
});
}

}


Código (java) [Seleccionar]

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;

public class RepositorioTarea {
private HashMap<Integer, Tarea> hashMap = new HashMap<>();

public void agregar(Tarea tarea) {
int size = hashMap.size();
hashMap.put(size + 1,
new Tarea(size + 1, tarea.getNombre(), tarea.getDate()));
}

public List<Tarea> listar() {
ArrayList<Tarea> respuesta = new ArrayList<>();
Collection<Tarea> values = hashMap.values();
for (Tarea tarea : values) {
respuesta.add(new Tarea(tarea.getId(), tarea.getNombre(), tarea
.getDate()));
}
return respuesta;
}

}



Código (java) [Seleccionar]

import java.util.Date;
import java.util.List;

public class ServicioTarea {

private final RepositorioTarea repositorioTarea;

public ServicioTarea(RepositorioTarea repositorioTarea) {
this.repositorioTarea = repositorioTarea;
}

public void agregar(Tarea tarea) {
tarea.setDate(new Date());
repositorioTarea.agregar(tarea);
}

public List<Tarea> tareas() {
return repositorioTarea.listar();
}
}


Código (java) [Seleccionar]

import java.util.Date;

public class Tarea {
private Integer id;
private String nombre;
private Date date;

public Tarea(Integer id, String nombre, Date date) {
this.id = id;
this.nombre = nombre;
this.date = date;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public Date getDate() {
return date;
}

public void setDate(Date date) {
this.date = date;
}

}


porfavor respondeme te lo suplico

ed0810

Pido POR FAVOR a la comunidad que escribamos BIEN. Que seamos ingenieros no significa que cometamos errores de ortografía detestables!