/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ import java.util.*; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; import java.io.*; import javax.swing.*; import javax.swing.table.*; /** * * @author johannes */ public class DentalGUI extends javax.swing.JFrame { /** * Creates new form DentalGUI */ public DentalGUI() { initComponents(); if (new File(pacientes).isFile()){ loadTablePat(pacientes); } if (new File(horario).isFile()){ loadTableSch(horario); } (this).setVisible(true); //Cambiar esto para la entrega (this).arregloTratamientos.add(new Treatment("Frenillos",25000)); TreatmentBox.removeAll(); TreatmentBox2.removeAll(); for(int i = 0; i< arregloTratamientos.size() ;i++){ if(i == 0){ TreatmentBox.insertItemAt((String) arregloTratamientos.get(i).getTitle(),i); TreatmentBox2.insertItemAt((String) arregloTratamientos.get(i).getTitle(),i); TreatmentBox.removeItemAt(1); TreatmentBox2.removeItemAt(1); } else{ TreatmentBox.addItem((String) arregloTratamientos.get(i).getTitle()); TreatmentBox2.addItem((String) arregloTratamientos.get(i).getTitle()); } } } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { AddPatientFrame = new javax.swing.JFrame(); IDLabel = new javax.swing.JLabel(); AddPatientLabel = new javax.swing.JLabel(); IDField = new javax.swing.JTextField(); NameLabel = new javax.swing.JLabel(); NameField = new javax.swing.JTextField(); AddressLabel = new javax.swing.JLabel(); AddressField = new javax.swing.JTextField(); PhoneLabel = new javax.swing.JLabel(); PhoneField = new javax.swing.JTextField(); TreatmentBox = new javax.swing.JComboBox<>(); TreatmentLabel = new javax.swing.JLabel(); MonthsLabel = new javax.swing.JLabel(); MonthField = new javax.swing.JTextField(); DescriptionLabel = new javax.swing.JLabel(); jScrollPane2 = new javax.swing.JScrollPane(); DescriptionField = new javax.swing.JTextArea(); AddButton = new javax.swing.JButton(); DeletePatientFrame = new javax.swing.JFrame(); DeletePatientLabel = new javax.swing.JLabel(); InfoLabel = new javax.swing.JLabel(); Delete = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jTextField2 = new javax.swing.JTextField(); AddTreatmentFrame = new javax.swing.JFrame(); NewTreatmentLabel = new javax.swing.JLabel(); TreatmentNameLabel = new javax.swing.JLabel(); PriceLabel = new javax.swing.JLabel(); TreatmentNameField = new javax.swing.JTextField(); AddButton1 = new javax.swing.JButton(); PriceField = new javax.swing.JTextField(); DeleteTreatmentFrame = new javax.swing.JFrame(); DeleteTreatmentLabel = new javax.swing.JLabel(); TreatmentBox2 = new javax.swing.JComboBox<>(); TreatmentLabel2 = new javax.swing.JLabel(); DeleteButton2 = new javax.swing.JButton(); SearchLabel = new javax.swing.JLabel(); SearchField = new javax.swing.JTextField(); SearchButton = new javax.swing.JButton(); TabbedPane = new javax.swing.JTabbedPane(); jScrollPane1 = new javax.swing.JScrollPane(); jTable2 = new javax.swing.JTable(); PatientsInformationPane = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); MenuBar = new javax.swing.JMenuBar(); FileMenu = new javax.swing.JMenu(); Save1 = new javax.swing.JMenuItem(); Load1 = new javax.swing.JMenuItem(); Save2 = new javax.swing.JMenuItem(); Load2 = new javax.swing.JMenuItem(); EditMenu = new javax.swing.JMenu(); AddPatientMenuItem = new javax.swing.JMenuItem(); AddTreatmentMenuItem = new javax.swing.JMenuItem(); jSeparator1 = new javax.swing.JPopupMenu.Separator(); EditPatientMenuItem = new javax.swing.JMenuItem(); jSeparator2 = new javax.swing.JPopupMenu.Separator(); DeletePatientMenuItem = new javax.swing.JMenuItem(); DeleteItemMenuItem = new javax.swing.JMenuItem(); IDLabel.setText("RUT"); AddPatientLabel.setText("Agregar Paciente"); IDField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { IDFieldActionPerformed(evt); } }); NameLabel.setText("Nombre"); NameField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { NameFieldActionPerformed(evt); } }); AddressLabel.setText("Direccion"); AddressField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AddressFieldActionPerformed(evt); } }); PhoneLabel.setText("Telefono"); PhoneField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { PhoneFieldActionPerformed(evt); } }); TreatmentBox.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] {"Frenillos"} )); TreatmentLabel.setText("Tratamiento"); MonthsLabel.setText("Meses de Tratamiento"); MonthField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MonthFieldActionPerformed(evt); } }); DescriptionLabel.setText("Descripcion"); DescriptionField.setColumns(20); DescriptionField.setRows(5); jScrollPane2.setViewportView(DescriptionField); AddButton.setText("Agregar"); AddButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AddButtonActionPerformed(evt); } }); javax.swing.GroupLayout AddPatientFrameLayout = new javax.swing.GroupLayout(AddPatientFrame.getContentPane()); AddPatientFrame.getContentPane().setLayout(AddPatientFrameLayout); AddPatientFrameLayout.setHorizontalGroup( AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addGroup(AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addGroup(AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addGap(323, 323, 323) .addComponent(TreatmentBox, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(34, 34, 34) .addComponent(MonthField, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 31, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AddPatientFrameLayout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(AddButton) .addGap(145, 145, 145))) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addContainerGap() .addGroup(AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addComponent(IDField, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(NameField, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(AddressField, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(PhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addComponent(IDLabel) .addGap(52, 52, 52) .addComponent(NameLabel) .addGap(45, 45, 45) .addComponent(AddressLabel) .addGap(35, 35, 35) .addComponent(PhoneLabel))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(TreatmentLabel) .addGap(18, 18, 18) .addComponent(MonthsLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(DescriptionLabel) .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap()) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addGap(282, 282, 282) .addComponent(AddPatientLabel) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); AddPatientFrameLayout.setVerticalGroup( AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addGap(14, 14, 14) .addComponent(AddPatientLabel) .addGap(18, 18, 18) .addGroup(AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(IDLabel) .addComponent(NameLabel) .addComponent(AddressLabel) .addComponent(PhoneLabel) .addComponent(TreatmentLabel) .addComponent(MonthsLabel) .addComponent(DescriptionLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(AddPatientFrameLayout.createSequentialGroup() .addGroup(AddPatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(IDField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(NameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(AddressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(PhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(TreatmentBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(MonthField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(AddButton)) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(29, Short.MAX_VALUE)) ); AddPatientFrameLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {IDField, IDLabel}); DeletePatientLabel.setText("Eliminar Paciente"); InfoLabel.setText("Para eliminar paciente ingrese el nombre o el numero de Rut"); Delete.setText("Eliminar"); Delete.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { DeleteActionPerformed(evt); } }); jLabel1.setText("RUT"); jLabel2.setText("Nombre"); jTextField1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jTextField1ActionPerformed(evt); } }); jTextField2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jTextField2ActionPerformed(evt); } }); javax.swing.GroupLayout DeletePatientFrameLayout = new javax.swing.GroupLayout(DeletePatientFrame.getContentPane()); DeletePatientFrame.getContentPane().setLayout(DeletePatientFrameLayout); DeletePatientFrameLayout.setHorizontalGroup( DeletePatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DeletePatientFrameLayout.createSequentialGroup() .addGroup(DeletePatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DeletePatientFrameLayout.createSequentialGroup() .addGap(75, 75, 75) .addComponent(jLabel1) .addGap(106, 106, 106) .addComponent(jLabel2)) .addGroup(DeletePatientFrameLayout.createSequentialGroup() .addGap(56, 56, 56) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(53, 53, 53) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(DeletePatientFrameLayout.createSequentialGroup() .addGap(126, 126, 126) .addComponent(Delete)) .addGroup(DeletePatientFrameLayout.createSequentialGroup() .addGap(116, 116, 116) .addComponent(DeletePatientLabel)) .addGroup(DeletePatientFrameLayout.createSequentialGroup() .addGap(21, 21, 21) .addComponent(InfoLabel))) .addContainerGap(74, Short.MAX_VALUE)) ); DeletePatientFrameLayout.setVerticalGroup( DeletePatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DeletePatientFrameLayout.createSequentialGroup() .addGap(24, 24, 24) .addComponent(DeletePatientLabel) .addGap(36, 36, 36) .addGroup(DeletePatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(DeletePatientFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(Delete) .addGap(18, 18, 18) .addComponent(InfoLabel) .addContainerGap(25, Short.MAX_VALUE)) ); NewTreatmentLabel.setText("Nuevo Tratamiento"); TreatmentNameLabel.setText("Nombre Tratamiento"); PriceLabel.setText("Precio por mes"); TreatmentNameField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { TreatmentNameFieldActionPerformed(evt); } }); AddButton1.setText("Agregar"); AddButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AddButton1ActionPerformed(evt); } }); PriceField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { PriceFieldActionPerformed(evt); } }); javax.swing.GroupLayout AddTreatmentFrameLayout = new javax.swing.GroupLayout(AddTreatmentFrame.getContentPane()); AddTreatmentFrame.getContentPane().setLayout(AddTreatmentFrameLayout); AddTreatmentFrameLayout.setHorizontalGroup( AddTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddTreatmentFrameLayout.createSequentialGroup() .addGroup(AddTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddTreatmentFrameLayout.createSequentialGroup() .addGap(42, 42, 42) .addGroup(AddTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(TreatmentNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(TreatmentNameField)) .addGap(73, 73, 73) .addGroup(AddTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(PriceField, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(PriceLabel))) .addGroup(AddTreatmentFrameLayout.createSequentialGroup() .addGap(120, 120, 120) .addComponent(NewTreatmentLabel)) .addGroup(AddTreatmentFrameLayout.createSequentialGroup() .addGap(135, 135, 135) .addComponent(AddButton1))) .addContainerGap(46, Short.MAX_VALUE)) ); AddTreatmentFrameLayout.setVerticalGroup( AddTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(AddTreatmentFrameLayout.createSequentialGroup() .addContainerGap(29, Short.MAX_VALUE) .addComponent(NewTreatmentLabel) .addGap(35, 35, 35) .addGroup(AddTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(TreatmentNameLabel) .addComponent(PriceLabel)) .addGap(18, 18, 18) .addGroup(AddTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(TreatmentNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(PriceField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(AddButton1) .addGap(12, 12, 12)) ); DeleteTreatmentLabel.setText("Eliminar Tratamiento"); TreatmentBox2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] {null})); TreatmentLabel2.setText("Tratamiento"); DeleteButton2.setText("Eliminar"); DeleteButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { DeleteButton2ActionPerformed(evt); } }); javax.swing.GroupLayout DeleteTreatmentFrameLayout = new javax.swing.GroupLayout(DeleteTreatmentFrame.getContentPane()); DeleteTreatmentFrame.getContentPane().setLayout(DeleteTreatmentFrameLayout); DeleteTreatmentFrameLayout.setHorizontalGroup( DeleteTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DeleteTreatmentFrameLayout.createSequentialGroup() .addGap(88, 88, 88) .addGroup(DeleteTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(DeleteButton2) .addGroup(DeleteTreatmentFrameLayout.createSequentialGroup() .addComponent(TreatmentLabel2) .addGap(44, 44, 44) .addComponent(TreatmentBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, DeleteTreatmentFrameLayout.createSequentialGroup() .addContainerGap(161, Short.MAX_VALUE) .addComponent(DeleteTreatmentLabel) .addGap(156, 156, 156)) ); DeleteTreatmentFrameLayout.setVerticalGroup( DeleteTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DeleteTreatmentFrameLayout.createSequentialGroup() .addGap(25, 25, 25) .addComponent(DeleteTreatmentLabel) .addGap(44, 44, 44) .addGroup(DeleteTreatmentFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(TreatmentBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(TreatmentLabel2)) .addGap(34, 34, 34) .addComponent(DeleteButton2) .addContainerGap(32, Short.MAX_VALUE)) ); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); addWindowListener(new java.awt.event.WindowAdapter() { public void windowIconified(java.awt.event.WindowEvent evt) { formWindowIconified(evt); } public void windowClosing( java.awt.event.WindowEvent e) { saveTablePat(pacientes); saveTableSch(horario); System.exit(0); // normal exit } }); SearchLabel.setText("Buscador"); SearchButton.setText("Buscar"); SearchButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { SearchButtonActionPerformed(evt); } }); jTable2.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {"8:00", null, null, null, null, null, null}, {"8:30", null, null, null, null, null, null}, {"9:00", null, null, null, null, null, null}, {"9:30", null, null, null, null, null, null}, {"10:00", null, null, null, null, null, null}, {"10:30", null, null, null, null, null, null}, {"11:00", null, null, null, null, null, null}, {"11:30", null, null, null, null, null, null}, {"12:00", null, null, null, null, null, null}, {"12:30", null, null, null, null, null, null}, {"13:00", null, null, null, null, null, null}, {"14:00", "-", "-", "-", "-", "-", "-"}, {"14:30", null, null, null, null, null, null}, {"15:00", null, null, null, null, null, null}, {"15:30", null, null, null, null, null, null}, {"16:00", null, null, null, null, null, null}, {"16:30", null, null, null, null, null, null}, {"17:00", null, null, null, null, null, null} }, new String [] { "Hora", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" } ) { boolean[] canEdit = new boolean [] { false, true, true, true, true, true, true }; public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); jScrollPane1.setViewportView(jTable2); TabbedPane.addTab("Calendario", jScrollPane1); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "RUT", "Nombre", "Direccion", "Telefono", "Tratamiento", "Precio", "Descripcion", "Proxima Hora" } ) { Class[] types = new Class [] { java.lang.String.class, java.lang.Class.class, java.lang.Class.class, java.lang.Class.class, java.lang.Class.class, java.lang.Class.class, java.lang.Class.class, java.lang.Class.class }; boolean[] canEdit = new boolean [] { false, false, false, false, false, false, false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); PatientsInformationPane.setViewportView(jTable1); TabbedPane.addTab("Pacientes", PatientsInformationPane); EditMenu.setText("Edit"); AddPatientMenuItem.setText("Agregar Paciente"); AddPatientMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AddPatientMenuItemActionPerformed(evt); } }); EditMenu.add(AddPatientMenuItem); AddTreatmentMenuItem.setText("Agregar Tratamiento"); AddTreatmentMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { AddTreatmentMenuItemActionPerformed(evt); } }); EditMenu.add(AddTreatmentMenuItem); EditPatientMenuItem.setText("Editar Paciente"); EditPatientMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EditPatientMenuItemActionPerformed(evt); } }); EditMenu.add(EditPatientMenuItem); EditMenu.add(jSeparator2); DeletePatientMenuItem.setText("Eliminar Paciente"); DeletePatientMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { DeletePatientMenuItemActionPerformed(evt); } }); EditMenu.add(DeletePatientMenuItem); DeleteItemMenuItem.setText("Eliminar Tratamiento"); DeleteItemMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { DeleteItemMenuItemActionPerformed(evt); } }); EditMenu.add(DeleteItemMenuItem); MenuBar.add(EditMenu); setJMenuBar(MenuBar); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(TabbedPane) .addGroup(layout.createSequentialGroup() .addComponent(SearchLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(SearchField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(SearchButton) .addGap(0, 656, Short.MAX_VALUE))) .addContainerGap()) ); layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {SearchButton, SearchField, SearchLabel}); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(SearchLabel) .addComponent(SearchField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(SearchButton)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(TabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 444, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {SearchButton, SearchField, SearchLabel}); pack(); }// //GEN-END:initComponents private void AddPatientMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddPatientMenuItemActionPerformed AddPatientFrame.setVisible(true); // TODO add your handling code here: AddPatientFrame.pack(); }//GEN-LAST:event_AddPatientMenuItemActionPerformed private void IDFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_IDFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_IDFieldActionPerformed private void NameFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NameFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_NameFieldActionPerformed private void AddressFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddressFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_AddressFieldActionPerformed private void PhoneFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PhoneFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_PhoneFieldActionPerformed private void MonthFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MonthFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_MonthFieldActionPerformed private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddButtonActionPerformed AddPatientFrame.setVisible(false); // TODO add your handling code here: String id = IDField.getText(); String name = NameField.getText(); String address = AddressField.getText(); String phone = PhoneField.getText(); String description = DescriptionField.getText(); String treatment = (String) TreatmentBox.getSelectedItem(); int price = Integer.parseInt(MonthField.getText());; Paciente paciente = new Paciente(name , id , phone , description , address , treatment); for(int i = 0; i< arregloTratamientos.size() ;i++){ if(treatment.equals(arregloTratamientos.get(i).getTitle())){ price = arregloTratamientos.get(i).getCost() * price; } } if(AddPatientLabel.getText().equals("Agregar Paciente")){ if (!name.equals("") && !id.equals("") && !phone.equals("")) { this.arregloPacientes.add(paciente); javax.swing.table.DefaultTableModel model = (javax.swing.table.DefaultTableModel) jTable1.getModel(); model.addRow(new Object[]{id , name , address , phone , treatment , Integer.toString(price) , description , ""}); // "RUT", "Nombre", "Direccion", "Telefono", "Tratamiento", "Precio", "Descripcion", "Proxima Hora" javax.swing.JOptionPane.showMessageDialog(this, "Paciente agregado con Exito."); } else { javax.swing.JOptionPane.showMessageDialog(this, "Algun dato no fue agregado correctamente, por favor intente denuevo. \n Agregue por lo menos nombre, rut y teléfono", "Mensaje de error!", javax.swing.JOptionPane.ERROR_MESSAGE); } } else { //Hacer codigo para que el paciente existente con esos datos cambie a los datos nuevos. AddPatientLabel.setText("Agregar Paciente"); if (!name.equals("") && !id.equals("") && !phone.equals("")) { this.arregloPacientes.add(paciente); javax.swing.table.DefaultTableModel model = (javax.swing.table.DefaultTableModel) jTable1.getModel(); int rows = model.getRowCount(); for(int i = 0; i < rows;i++){ String checkID = (String) model.getValueAt(i,0); if(id.equals(checkID)){ model.setValueAt(name,i,1); model.setValueAt(address,i,2); model.setValueAt(phone,i,3); model.setValueAt(treatment,i,4); model.setValueAt(Integer.toString(price),i,5); model.setValueAt(description,i,6); model.setValueAt("",i,7); javax.swing.JOptionPane.showMessageDialog(this, "Paciente editado con Exito."); } } // "RUT", "Nombre", "Direccion", "Telefono", "Tratamiento", "Precio", "Descripcion", "Proxima Hora" } else { javax.swing.JOptionPane.showMessageDialog(this, "Algun dato no fue agregado correctamente, por favor intente denuevo. \n Agregue por lo menos nombre, rut y teléfono", "Mensaje de error!", javax.swing.JOptionPane.ERROR_MESSAGE); } } IDField.setText(""); NameField.setText(""); AddressField.setText(""); PhoneField.setText(""); DescriptionField.setText(""); MonthField.setText(""); }//GEN-LAST:event_AddButtonActionPerformed private void EditPatientMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_EditPatientMenuItemActionPerformed AddPatientFrame.setVisible(true); // TODO add your handling code here: AddPatientFrame.pack(); AddPatientLabel.setText("Editar Paciente"+jTable1.getModel().getRowCount()); }//GEN-LAST:event_EditPatientMenuItemActionPerformed private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DeleteActionPerformed DeletePatientFrame.setVisible(false); // TODO add your handling code here: String id = jTextField1.getText(); String name = jTextField2.getText(); if (!name.equals("") || !id.equals("")) { javax.swing.table.DefaultTableModel model = (javax.swing.table.DefaultTableModel) jTable1.getModel(); int rows = model.getRowCount(); for(int i = 0; i < rows;i++){ String checkID = (String) model.getValueAt(i,0); String checkName = (String) model.getValueAt(i,1); if(id.equals(checkID)||name.equals(checkName)){ if(i+1 == rows){ model.setValueAt("",i,0); model.setValueAt("",i,1); model.setValueAt("",i,2); model.setValueAt("",i,3); model.setValueAt("",i,4); model.setValueAt("",i,5); model.setValueAt("",i,6); model.setValueAt("",i,7); } else{ id = (String) model.getValueAt(i+1,0); name = (String) model.getValueAt(i+1,1); model.setValueAt( model.getValueAt(i+1,0),i,0); model.setValueAt( model.getValueAt(i+1,1),i,1); model.setValueAt( model.getValueAt(i+1,2),i,2); model.setValueAt( model.getValueAt(i+1,3),i,3); model.setValueAt( model.getValueAt(i+1,4),i,4); model.setValueAt((String) model.getValueAt(i+1,5),i,5); model.setValueAt((String) model.getValueAt(i+1,6),i,6); model.setValueAt((String) model.getValueAt(i+1,7),i,7); } } } // "RUT", "Nombre", "Direccion", "Telefono", "Tratamiento", "Precio", "Descripcion", "Proxima Hora" } else { javax.swing.JOptionPane.showMessageDialog(this, "Algun dato no fue agregado correctamente, por favor intente denuevo. \n Agregue por lo menos nombre, rut y teléfono", "Mensaje de error!", javax.swing.JOptionPane.ERROR_MESSAGE); } //Agregar codigo para eliminar al paciente de la base de datos }//GEN-LAST:event_DeleteActionPerformed private void SearchButtonActionPerformed(java.awt.event.ActionEvent evt) { String a = SearchField.getText();// TODO add your handling code here: javax.swing.table.DefaultTableModel model = (javax.swing.table.DefaultTableModel) jTable1.getModel(); int rows = model.getRowCount(); for(int j = 0; j < rows;j++){ String checkID = (String) model.getValueAt(j,0); String checkName = (String) model.getValueAt(j,1); if(checkID.startsWith(a) || checkName.startsWith(a)){ for(int i=j; i>0 ;i--){ String id =(String) model.getValueAt(i,0); String name =(String) model.getValueAt(i,1); String address =(String) model.getValueAt(i,2); String phone = (String) model.getValueAt(i,3); String treatment = (String) model.getValueAt(i,4); String price = (String) model.getValueAt(i,5); String description =(String) model.getValueAt(i,6); String hour = (String) model.getValueAt(i,7); model.setValueAt( model.getValueAt(i-1,0),i,0); model.setValueAt( model.getValueAt(i-1,1),i,1); model.setValueAt( model.getValueAt(i-1,2),i,2); model.setValueAt( model.getValueAt(i-1,3),i,3); model.setValueAt( model.getValueAt(i-1,4),i,4); model.setValueAt((String) model.getValueAt(i-1,5),i,5); model.setValueAt((String) model.getValueAt(i-1,6),i,6); model.setValueAt((String) model.getValueAt(i-1,7),i,7); model.setValueAt( id,i-1,0); model.setValueAt( name,i-1,1); model.setValueAt( address,i-1,2); model.setValueAt( phone,i-1,3); model.setValueAt( treatment,i-1,4); model.setValueAt( price,i-1,5); model.setValueAt( description,i-1,6); model.setValueAt( hour,i-1,7); } } else { } } } private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jTextField1ActionPerformed private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField2ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jTextField2ActionPerformed private void DeletePatientMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DeletePatientMenuItemActionPerformed DeletePatientFrame.setVisible(true); // TODO add your handling code here: DeletePatientFrame.pack();// TODO add your handling code here: }//GEN-LAST:event_DeletePatientMenuItemActionPerformed private void TreatmentNameFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_TreatmentNameFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_TreatmentNameFieldActionPerformed private void PriceFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PriceFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_PriceFieldActionPerformed private void AddTreatmentMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddTreatmentMenuItemActionPerformed AddTreatmentFrame.setVisible(true); // TODO add your handling code here: AddTreatmentFrame.pack(); }//GEN-LAST:event_AddTreatmentMenuItemActionPerformed private void AddButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddButton1ActionPerformed AddTreatmentFrame.setVisible(false); // TODO add your handling code here: String price = PriceField.getText(); String name = TreatmentNameField.getText(); int price1 = Integer.parseInt(price); (this).arregloTratamientos.add(new Treatment(name,price1)); TreatmentBox.removeAll(); TreatmentBox2.removeAll(); for(int i = 0; i< arregloTratamientos.size() ;i++){ if(i == 0){ TreatmentBox.insertItemAt((String) arregloTratamientos.get(i).getTitle(),i); TreatmentBox2.insertItemAt((String) arregloTratamientos.get(i).getTitle(),i); TreatmentBox.removeItemAt(1); TreatmentBox2.removeItemAt(1); } else{ TreatmentBox.addItem((String) arregloTratamientos.get(i).getTitle()); TreatmentBox2.addItem((String) arregloTratamientos.get(i).getTitle()); } } //Agregar codigo que agregue nuevo tratamiento. Tambien hay q agregar el nuevo tratamiento a los comboboxes TreatmentNameField.setText(""); PriceField.setText(""); }//GEN-LAST:event_AddButton1ActionPerformed private void DeleteButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DeleteButton2ActionPerformed DeleteTreatmentFrame.setVisible(false); for(int i = 0; i< arregloTratamientos.size() ;i++){ if(TreatmentBox2.getSelectedItem().equals(arregloTratamientos.get(i).getTitle())){ (this).arregloTratamientos.remove(i); } } TreatmentBox.removeItem(TreatmentBox2.getSelectedItem()); TreatmentBox2.removeItem(TreatmentBox2.getSelectedItem()); // TODO add your handling code here: //TreatmentBox.deleteItem(TreatmentBox.getSelectedItem()); Se elimina de una forma asi creo. //Eliminar tratamiento }//GEN-LAST:event_DeleteButton2ActionPerformed private void DeleteItemMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DeleteItemMenuItemActionPerformed DeleteTreatmentFrame.setVisible(true); // TODO add your handling code here: DeleteTreatmentFrame.pack(); }//GEN-LAST:event_DeleteItemMenuItemActionPerformed private void formWindowIconified(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowIconified // TODO add your handling code here: }//GEN-LAST:event_formWindowIconified /** private void saveTablePat() { if (myJFileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION ) { saveTablePat(myJFileChooser.getSelectedFile()); } }**/ private void saveTablePat(String file) { try { ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream(file)); DefaultTableModel tableModel =(DefaultTableModel) jTable1.getModel(); out.writeObject(tableModel.getDataVector()); out.writeObject(getColumnNames1()); out.close(); } catch (Exception ex) { ex.printStackTrace(); } } /*private void saveTableSch() { if (myJFileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION ) { saveTableSch(myJFileChooser.getSelectedFile()); } }*/ private void saveTableSch(String file) { try { ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream(file)); DefaultTableModel tableModel =(DefaultTableModel) jTable2.getModel(); out.writeObject(tableModel.getDataVector()); out.writeObject(getColumnNames2()); out.close(); } catch (Exception ex) { ex.printStackTrace(); } } private Vector getColumnNames1() { Vector columnNames = new Vector(); for (int i = 0; i < jTable1.getColumnCount(); i++) columnNames.add(jTable1.getColumnName(i) ); return columnNames; } private Vector getColumnNames2() { Vector columnNames = new Vector(); for (int i = 0; i < jTable2.getColumnCount(); i++) columnNames.add(jTable2.getColumnName(i) ); return columnNames; } /*private void loadTablePat() { if (myJFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION ) loadTablePat(myJFileChooser.getSelectedFile()); }*/ private void loadTablePat(String file) { try { ObjectInputStream in = new ObjectInputStream( new FileInputStream(file)); Vector rowData = (Vector)in.readObject(); Vector columnNames = (Vector)in.readObject(); DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames); jTable1.setModel(tableModel); in.close(); } catch (Exception ex) { ex.printStackTrace(); } } /*private void loadTableSch() { if (myJFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION ) loadTableSch(myJFileChooser.getSelectedFile()); }*/ private void loadTableSch(String file) { try { ObjectInputStream in = new ObjectInputStream( new FileInputStream(file)); Vector rowData = (Vector)in.readObject(); Vector columnNames = (Vector)in.readObject(); DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames); jTable2.setModel(tableModel); in.close(); } catch (Exception ex) { ex.printStackTrace(); } } /** * @param args the command line arguments */ // Variables declaration - do not modify//GEN-BEGIN:variables private ArrayList arregloPacientes = new ArrayList(); private ArrayList arregloTratamientos = new ArrayList(); private javax.swing.JButton AddButton; private javax.swing.JButton AddButton1; private javax.swing.JFrame AddPatientFrame; private javax.swing.JLabel AddPatientLabel; private javax.swing.JMenuItem AddPatientMenuItem; private javax.swing.JFrame AddTreatmentFrame; private javax.swing.JMenuItem AddTreatmentMenuItem; private javax.swing.JTextField AddressField; private javax.swing.JLabel AddressLabel; private javax.swing.JButton Delete; private javax.swing.JButton DeleteButton2; private javax.swing.JMenuItem DeleteItemMenuItem; private javax.swing.JFrame DeletePatientFrame; private javax.swing.JLabel DeletePatientLabel; private javax.swing.JMenuItem DeletePatientMenuItem; private javax.swing.JFrame DeleteTreatmentFrame; private javax.swing.JLabel DeleteTreatmentLabel; private javax.swing.JTextArea DescriptionField; private javax.swing.JLabel DescriptionLabel; private javax.swing.JMenu EditMenu; private javax.swing.JMenuItem EditPatientMenuItem; private javax.swing.JButton EnterButton; private javax.swing.JMenu FileMenu; private javax.swing.JButton ForgottenPasswordButton; private javax.swing.JTextField IDField; private javax.swing.JLabel IDLabel; private javax.swing.JLabel InfoLabel; private javax.swing.JLabel InvalidUserOrPasswordLabel; private javax.swing.JFrame LoginFrame; private javax.swing.JMenuBar MenuBar; private javax.swing.JTextField MonthField; private javax.swing.JLabel MonthsLabel; private javax.swing.JTextField NameField; private javax.swing.JLabel NameLabel; private javax.swing.JLabel NewTreatmentLabel; private javax.swing.JScrollPane PatientsInformationPane; private javax.swing.JTextField PhoneField; private javax.swing.JLabel PhoneLabel; private javax.swing.JTextField PriceField; private javax.swing.JLabel PriceLabel; private javax.swing.JMenuItem Save1; private javax.swing.JMenuItem Load1; private javax.swing.JMenuItem Save2; private javax.swing.JMenuItem Load2; private javax.swing.JButton SearchButton; private javax.swing.JTextField SearchField; private javax.swing.JLabel SearchLabel; private javax.swing.JTabbedPane TabbedPane; private javax.swing.JComboBox TreatmentBox; private javax.swing.JComboBox TreatmentBox2; private javax.swing.JLabel TreatmentLabel; private javax.swing.JLabel TreatmentLabel2; private javax.swing.JTextField TreatmentNameField; private javax.swing.JLabel TreatmentNameLabel; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPasswordField jPasswordField1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JPopupMenu.Separator jSeparator1; private javax.swing.JPopupMenu.Separator jSeparator2; private javax.swing.JTable jTable1; private javax.swing.JTable jTable2; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; private JFileChooser myJFileChooser = new JFileChooser(new File(".")); private String pacientes = "pacientes.txt"; private String horario = "horario.txt"; // End of variables declaration//GEN-END:variables }