package vista;
import javax.swing.JPanel;
import java.awt.Rectangle;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.RowFilter;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import java.awt.Color;
import javax.swing.JScrollPane;
import editor.EditorAgregarProducto;
import editor.EditorPresupuesto;
import base.Servicio;
public class ModificarPresupuesto extends PanelGeneral {
private static final long serialVersionUID = 1L;
private JPanel panelPersona = null;
private JTextField textoTelefono = null;
private JTextField textoNyAdeC = null;
private Etiqueta etiquetaIdCliente = null;
private JButton buscarCliente = null;
private Etiqueta etiquetaNyAdeC = null;
private Etiqueta etiquetaTelefono = null;
private JTextField textoIdCliente = null;
private JPanel panelPresupuesto = null;
private Etiqueta etiquetaNumero = null;
private JTextField textoFecha = null;
private Etiqueta etiquetaResponsable = null;
private JTextField textoNumero = null;
private Etiqueta etiquetaFecha = null;
private JTextField textoResponsable = null;
private JButton botonResponsable = null;
private JPanel panelSelecSer = null;
private Etiqueta etiquetaServicio = null;
static private ModificarPresupuesto singletonRegistrarPresupuesto = null;
private Etiqueta etiquetaSumaTotal = null;
private JTextField textoSumaTotal = null;
private JPanel panelContPre = null;
private JTextField textoNomPro = null;
private TableRowSorter<TableModel> modeloOrdenado;
Tabla table = new Tabla(-1,-1,-1);
DefaultTableModel dtm= (DefaultTableModel)table.getModel();
JScrollPane scrollPane = new JScrollPane(table);
String[] prueba = new String[8];
private JButton botonAceptar = null;
private JButton botonCancelar = null;
private Etiqueta etiquetaDescripcion;
private Etiqueta etiquetaCosto;
private Etiqueta etiquetaTiempo;
private JTextField textoServicio;
private JTextField textoDescripcion;
private JTextField textoCosto;
private JTextField textoTiempo;
static JDialog dialog=new JDialog();
private JButton seleccionarServicio = null;
private JButton botonAgregarP = null;
private JPanel panelDatosBien = null;
private JComboBox selectorTipoBien = null;
private Etiqueta jLabel9 = null;
private Etiqueta etiquetaMarca = null;
private Etiqueta etiquetaModelo = null;
private JTextField textoMarca = null;
private JTextField textoModelo = null;
private Etiqueta etiquetaNombre;
private Etiqueta etiquetaApellido;
/**
* This is the default constructor
* @param editorPresupuesto
* @param dtm3
*/
/*despues de ponerle nombres a las columnas
TableColumn agregarColumn;
agregarColumn = table.getColumnModel().getColumn(5);
agregarColumn.setCellEditor(new Myeditor(table));
agregarColumn.setCellRenderer(new Myrenderer(true));*/
public ModificarPresupuesto(DefaultTableModel dtm3, EditorPresupuesto editorPresupuesto) {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setBackground(new Color(209, 217, 237));
this.getEtiquetaRutaNavegacion().setText(" Inicio/Presupuesto");
this.add(getPanelPersona(), null);
this.add(getPanelSelecSer(), null);
this.add(getPanelPresupuesto(), null);
this.add(getPanelContPre(), null);
this.add(getBotonAceptar(), null);
this.add(getBotonCancelar(), null);
}
// static public ModificarPresupuesto getSingletonRegistrarPresupuesto() {
//
// if (singletonRegistrarPresupuesto == null) {
// singletonRegistrarPresupuesto = new ModificarPresupuesto();
//
// }else{
// singletonRegistrarPresupuesto.limpiar(singletonRegistrarPresupuesto);
// }
// return singletonRegistrarPresupuesto;
// }
/**
* This method initializes panelPersona
*
* @return javax.swing.JPanel
*/
private JPanel getPanelPersona() {
if (panelPersona == null) {
etiquetaNombre = new Etiqueta();
etiquetaNombre.setBounds(new Rectangle(15, 40, 123, 20));
etiquetaNombre.setText("Nombre y apellido:");
etiquetaNombre.setEnabled(false);
etiquetaApellido = new Etiqueta();
etiquetaApellido.setBounds(new Rectangle(15, 70, 123, 20));
etiquetaApellido.setText("Nombre y apellido:");
etiquetaApellido.setEnabled(false);
etiquetaIdCliente = new Etiqueta();
etiquetaIdCliente.setBounds(new Rectangle(15, 50, 100, 20));
etiquetaIdCliente.setText("Numero:");
etiquetaIdCliente.setEnabled(false);
etiquetaTelefono = new Etiqueta();
etiquetaTelefono.setBounds(new Rectangle(15, 110, 100, 20));
etiquetaTelefono.setText("Telefono:");
etiquetaTelefono.setEnabled(false);
textoTelefono = new JTextField();
textoTelefono.setBounds(new Rectangle(120, 110, 100, 20));
textoTelefono.setEnabled(false);
panelPersona = new JPanel();
panelPersona.setLayout(null);
panelPersona.setOpaque(true);
panelPersona.setBounds(new Rectangle(15, 190, 400, 147));
panelPersona.add(textoTelefono, null);
panelPersona.add(getTextoNyAdeC(), null);
panelPersona.add(etiquetaIdCliente, null);
panelPersona.add(etiquetaNyAdeC, null);
panelPersona.add(etiquetaTelefono, null);
panelPersona.add(getTextoIdCliente(), null);
panelPersona.setBorder( new TitledBorder("Datos Persona") );
}
return panelPersona;
}
/**
* This method initializes textoTelefono
*
* @return javax.swing.JTextField
*/
/**
* This method initializes textoNyAdeC
*
* @return javax.swing.JTextField
*/
private JTextField getTextoNyAdeC() {
if (textoNyAdeC == null) {
textoNyAdeC = new JTextField();
textoNyAdeC.setBounds(new Rectangle(120, 80, 120, 20));
textoNyAdeC.setEnabled(false);
}
return textoNyAdeC;
}
/**
* This method initializes buscarCliente
*
* @return javax.swing.JButton
*/
public void termino(){
dialog.dispose();
}
public void setTextoIdCliente(String id){
textoIdCliente.setText(id);
}
public void setTextoNyAdeC(String n){
textoNyAdeC.setText(n);
}
public void setTextoTelefono(String t){
textoTelefono.setText(t);
}
/**
* This method initializes textoIdCliente
*
* @return javax.swing.JTextField
*/
private JTextField getTextoIdCliente() {
if (textoIdCliente == null) {
textoIdCliente = new JTextField();
textoIdCliente.setBounds(new Rectangle(120, 50, 100, 20));
textoIdCliente.setEnabled(false);
}
return textoIdCliente;
}
/**
* This method initializes panelPresupuesto
*
* @return javax.swing.JPanel
*/
private JPanel getPanelPresupuesto() {
if (panelPresupuesto == null) {
etiquetaSumaTotal = new Etiqueta();
etiquetaSumaTotal.setBounds(new Rectangle(15, 110, 100, 20));
etiquetaSumaTotal.setText("Suma total:");
etiquetaFecha = new Etiqueta();
etiquetaFecha.setBounds(new Rectangle(15, 80, 100, 20));
etiquetaFecha.setText("Vencimiento:");
etiquetaResponsable = new Etiqueta();
etiquetaResponsable.setBounds(new Rectangle(15, 50, 100, 20));
etiquetaResponsable.setText("Responsable:");
etiquetaNumero = new Etiqueta();
etiquetaNumero.setBounds(new Rectangle(15, 20, 100, 20));
etiquetaNumero.setText("Numero:");
panelPresupuesto = new JPanel();
panelPresupuesto.setLayout(null);
panelPresupuesto.setBounds(new Rectangle(15, 15, 400, 150));
panelPresupuesto.add(etiquetaNumero, null);
panelPresupuesto.add(etiquetaResponsable, null);
panelPresupuesto.add(getTextoFecha(), null);
panelPresupuesto.add(getTextoNumero(), null);
panelPresupuesto.add(etiquetaFecha, null);
panelPresupuesto.add(getTextoResponsable(), null);
// panelPresupuesto.add(getBotonResponsable(), null);
panelPresupuesto.setBorder( new TitledBorder("Datos Presupuesto") );
panelPresupuesto.add(etiquetaSumaTotal, null);
panelPresupuesto.add(getTextoSumaTotal(), null);
}
return panelPresupuesto;
}
/**
* This method initializes textoFecha
*
* @return javax.swing.JTextField
*/
private JTextField getTextoFecha() {
if (textoFecha == null) {
textoFecha = new JTextField();
textoFecha.setBounds(new Rectangle(120, 80, 100, 20));
}
return textoFecha;
}
/**
* This method initializes textoNumero
*
* @return javax.swing.JTextField
*/
private JTextField getTextoNumero() {
if (textoNumero == null) {
textoNumero = new JTextField();
textoNumero.setBounds(new Rectangle(120, 20, 60, 20));
}
return textoNumero;
}
/**
* This method initializes textoResponsable
*
* @return javax.swing.JTextField
*/
private JTextField getTextoResponsable() {
if (textoResponsable == null) {
textoResponsable = new JTextField();
textoResponsable.setBounds(new Rectangle(120, 50, 100, 20));
}
return textoResponsable;
}
/**
* This method initializes panelSelecSer
*
* @return javax.swing.JPanel
*/
private JPanel getPanelSelecSer() {
if (panelSelecSer == null) {
etiquetaServicio = new Etiqueta();
etiquetaServicio.setBounds(new Rectangle(15, 20, 120, 20));
etiquetaServicio.setText("Servicio:");
textoServicio = new JTextField();
textoServicio.setBounds(new Rectangle(140, 20, 100, 20));
textoServicio.setEditable(false);
etiquetaDescripcion = new Etiqueta();
etiquetaDescripcion.setBounds(new Rectangle(15, 50, 120, 20));
etiquetaDescripcion.setText("Descripci�n");
textoDescripcion = new JTextField();
textoDescripcion.setBounds(new Rectangle(140, 50, 100, 20));
textoDescripcion.setEditable(false);
etiquetaCosto = new Etiqueta();
etiquetaCosto.setBounds(new Rectangle(15, 80, 120, 20));
etiquetaCosto.setText("Costo minimo");
textoCosto = new JTextField();
textoCosto.setBounds(new Rectangle(140, 80, 100, 20));
textoCosto.setEditable(false);
etiquetaTiempo = new Etiqueta();
etiquetaTiempo.setBounds(new Rectangle(15, 110, 120, 20));
etiquetaTiempo.setText("Tiempo ejecucion");
textoTiempo = new JTextField();
textoTiempo.setBounds(new Rectangle(140, 110, 100, 20));
textoTiempo.setEditable(false);
panelSelecSer = new JPanel();
panelSelecSer.setLayout(null);
panelSelecSer.setBounds(new Rectangle(450, 15, 500, 150));
panelSelecSer.setBorder( new TitledBorder("Servicio") );
panelSelecSer.add(etiquetaServicio, null);
panelSelecSer.add(textoServicio, null);
panelSelecSer.add(etiquetaDescripcion, null);
panelSelecSer.add(textoDescripcion, null);
panelSelecSer.add(etiquetaCosto, null);
panelSelecSer.add(textoCosto, null);
panelSelecSer.add(etiquetaTiempo, null);
panelSelecSer.add(textoTiempo, null);
}
return panelSelecSer;
}
/**
* This method initializes panelSelecPro
*
* @return javax.swing.JPanel
*/
/*public void inicializarTablaPro(){
dtm.addColumn("Id producto");
dtm.addColumn("Nombre");
dtm.addColumn("stock");
dtm.addColumn("precio");
scrollPane.setVisible(true);
//scrollPane.setBounds(new Rectangle(10, 30, 600, 400));
table.setCellSelectionEnabled(false);
modeloOrdenado = new TableRowSorter<TableModel>(dtm);
table.setRowSorter(modeloOrdenado);
table.setRowSelectionAllowed(true); //realiza la seleccion de toda la fila
// this.add(scrollPane);
cargarTablaPro();
textoNomPro.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent e) {
modeloOrdenado.setRowFilter(RowFilter.regexFilter(textoNomPro.getText(), 1));
}
});
}*/
/*public void cargarTablaPro(){
dtm.setNumRows(0);
for(int i=0;i<ServicioDTO.listaServicios().size();i++ ){
c =(Servicio)ServicioDTO.listaServicios().get(i);
insertarFilaPro(c);
}
scrollPane.setBounds(new Rectangle(10,50, 480, 140));
scrollPane.setVisible(true);
}
public void insertarFilaPro(Servicio c)
{
prueba[0] = c.getIdServicio().toString();
prueba[1] = c.getNombre();
prueba[2] = c.getDescripcion();
prueba[3] = c.getTipoBien();
prueba[4] = Integer.toString(c.getCostoMinimo());
prueba[5] = Integer.toString(c.getTiempoEjecucion());
dtm.addRow(prueba);
//scrollPane.setBorder(new TitledBorder( new LineBorder(Color.BLACK) ,"",0, 0, new Font("TimesRoman", Font.BOLD, 18), Color.BLACK));
}*/
/**
* This method initializes textoSumaTotal
*
* @return javax.swing.JTextField
*/
private JTextField getTextoSumaTotal() {
if (textoSumaTotal == null) {
textoSumaTotal = new JTextField();
textoSumaTotal.setBounds(new Rectangle(120, 110, 60, 20));
}
return textoSumaTotal;
}
/**
* This method initializes selectorEsCliente
*
* @return javax.swing.JComboBox
*/
/**
* This method initializes panelContPre
*
* @return javax.swing.JPanel
*/
private JPanel getPanelContPre() {
if (panelContPre == null) {
inicializarTabla();
panelContPre = new JPanel();
panelContPre.setLayout(null);
panelContPre.setBounds(new Rectangle(450, 190, 500, 332));
panelContPre.setBorder( new TitledBorder("Contenido del presupuesto") );
panelContPre.add(scrollPane);
// panelContPre.add(getBotonAgregarP());
}
return panelContPre;
}
/**private JButton getBotonAgregarP() {
if (botonAgregarP == null) {
botonAgregarP = new JButton();
botonAgregarP.setBounds(new Rectangle(380, 300, 100, 20));
botonAgregarP.setText("Agregar");
botonAgregarP.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
BuscarProducto m=new BuscarProducto(ModificarPresupuesto.this);
dialog.setContentPane(m.getContentPane());
dialog.setModal(true);
dialog.setBounds(200, 100, m.getWidth(), m.getHeight());
dialog.setVisible(true);
}
});
}
return botonAgregarP;
}*/
public void inicializarTabla(){
dtm.addColumn("Linea");
dtm.addColumn("Producto");
dtm.addColumn("Cantidad");
dtm.addColumn("Precio x Unidad");
dtm.addColumn("Total");
dtm.addColumn("");
TableColumn agregarSpinner;
agregarSpinner = table.getColumnModel().getColumn(2);
agregarSpinner.setCellEditor(new SpinnerEditor());
agregarSpinner.setCellRenderer(new SpinnerRenderer());
TableColumn agregarColumn;
agregarColumn = table.getColumnModel().getColumn(5);
agregarColumn.setCellEditor(new EditorPresupuesto(table,dtm));
agregarColumn.setCellRenderer(new RendererPresupuesto(true));
TableColumn tc = table2.getColumn("");//Obtienes la columna
tc.setMaxWidth(40);
tc.setMinWidth(40);
scrollPane2.setVisible(true);
//scrollPane.setBounds(new Rectangle(10, 30, 600, 400));
table2.setCellSelectionEnabled(false);
table2.setRowSelectionAllowed(true); //realiza la seleccion de toda la fila
// this.add(scrollPane);
cargarTabla();
}
public void cargarTabla(){
dtm2.setNumRows(0);
/*for(int i=0;i<ServicioDTO.listaServicios().size();i++ ){
c =(Servicio)ServicioDTO.listaServicios().get(i);
insertarFila(c);
}*/
prueba[0] = "1";
prueba[1] = "polarizado";
prueba[2] = "1";
prueba[3] = "100";
dtm2.addRow(prueba);
prueba[0] = "2";
prueba[1] = "polarizado";
prueba[2] = "1";
prueba[3] = "200";
dtm2.addRow(prueba);
scrollPane2.setBounds(new Rectangle(10,30, 480, 254));
scrollPane2.setVisible(true);
}
public void insertarFila(Servicio c)
{
prueba[0] = c.getIdServicio().toString();
prueba[1] = c.getNombre();
prueba[2] = c.getDescripcion();
prueba[3] = c.getTipoBien();
prueba[4] = Integer.toString(c.getCostoMinimo());
prueba[5] = Integer.toString(c.getTiempoEjecucion());
dtm2.addRow(prueba);
//scrollPane.setBorder(new TitledBorder( new LineBorder(Color.BLACK) ,"",0, 0, new Font("TimesRoman", Font.BOLD, 18), Color.BLACK));
}
/**
* This method initializes textoNomPro
*
* @return javax.swing.JTextField
*/
/**
* This method initializes botonAceptar
*
* @return javax.swing.JButton
*/
private JButton getBotonAceptar() {
if (botonAceptar == null) {
botonAceptar = new JButton();
botonAceptar.setBounds(new Rectangle(700, 550, 100, 20));
botonAceptar.setText("Aceptar");
}
return botonAceptar;
}
/**
* This method initializes botonCancelar
*
* @return javax.swing.JButton
*/
private JButton getBotonCancelar() {
if (botonCancelar == null) {
botonCancelar = new JButton();
botonCancelar.setBounds(new Rectangle(810, 550, 100, 20));
botonCancelar.setText("Cancelar");
}
return botonCancelar;
}
/**
* This method initializes seleccionarServicio
*
* @return javax.swing.JButton
*/
public void setTextoServicio(String nombre){
textoServicio.setText(nombre);
}
public void setTextoDescripcion(String des){
textoDescripcion.setText(des);
}
public void setTextoCosto(String c){
textoCosto.setText(c);
}
public void setTextoTiempo(String t){
textoTiempo.setText(t);
}
/**
* This method initializes panelDatosBien
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDatosBien() {
if (panelDatosBien == null) {
etiquetaModelo = new Etiqueta();
etiquetaModelo.setBounds(new Rectangle(15, 80, 100, 20));
etiquetaModelo.setText("Modelo");
etiquetaMarca = new Etiqueta();
etiquetaMarca.setBounds(new Rectangle(15, 50, 100, 20));
etiquetaMarca.setText("Marca");
jLabel9 = new Etiqueta();
jLabel9.setBounds(new Rectangle(15, 20, 100, 20));
jLabel9.setText("Tipo de bien");
panelDatosBien = new JPanel();
panelDatosBien.setLayout(null);
panelDatosBien.setBounds(new Rectangle(974, 333, 381, 161));
}
return panelDatosBien;
}
/**
* This method initializes selectorTipoBien
*
* @return javax.swing.JComboBox
*/
/**
* This method initializes textoMarca
*
* @return javax.swing.JTextField
*/
private JTextField getTextoMarca() {
if (textoMarca == null) {
textoMarca = new JTextField();
textoMarca.setBounds(new Rectangle(120, 50, 100, 20));
}
return textoMarca;
}
/**
* This method initializes textoModelo
*
* @return javax.swing.JTextField
*/
private JTextField getTextoModelo() {
if (textoModelo == null) {
textoModelo = new JTextField();
textoModelo.setBounds(new Rectangle(120, 80, 100, 20));
}
return textoModelo;
}
}