/*
* 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();
(this).setVisible(true);
}
/**
* 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();
AddCalendarMenuItem = 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[] {null} ));
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 Consulta");
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);
}
});
SearchLabel.setText("Buscador");
SearchButton.setText("Buscar");
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", "Viernes", "Sabado", "Domingo"
}
) {
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, true, 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);
FileMenu.setText("File");
Save1.setText("Guardar Pacientes");
Save1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
saveTablePat();
}
});
FileMenu.add(Save1);
Save2.setText("Guardar Horario");
Save2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
saveTableSch();
}
});
FileMenu.add(Save2);
Load1.setText("Cargar Pacientes");
Load1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
loadTablePat();
}
});
FileMenu.add(Load1);
Load2.setText("Cargar Horario");
Load2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
loadTableSch();
}
});
FileMenu.add(Load2);
MenuBar.add(FileMenu);
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);
AddCalendarMenuItem.setText("Agregar Hora Paciente");
AddCalendarMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
AddCalendarMenuItemActionPerformed(evt);
}
});
EditMenu.add(AddCalendarMenuItem);
EditMenu.add(jSeparator1);
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 AddCalendarMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddCalendarMenuItemActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_AddCalendarMenuItemActionPerformed
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();
if(AddPatientLabel.getText() == "Agregar Paciente"){
}
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(""))
{
Paciente paciente = new Paciente(name , id , phone , description , address , treatment);
this.pacientes.add(paciente);
javax.swing.table.DefaultTableModel model = (javax.swing.table.DefaultTableModel) jTable1.getModel();
model.addRow(new Object[]{id , name , address , phone , treatment , treatment , description , description});
// "RUT", "Nombre", "Direccion", "Telefono", "Tratamiento", "Precio", "Descripcion", "Proxima Hora"
javax.swing.JOptionPane.showMessageDialog(this,
"Paciente agregado con éxito.");
}
else
{
javax.swing.JOptionPane.showMessageDialog(this,
"Algún 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");
}//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:
//Agregar codigo para eliminar al paciente de la base de datos
}//GEN-LAST:event_DeleteActionPerformed
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();
//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); // 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(File 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(File 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(File 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(File 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 pacientes = new ArrayList();;
private javax.swing.JButton AddButton;
private javax.swing.JButton AddButton1;
private javax.swing.JMenuItem AddCalendarMenuItem;
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("."));
// End of variables declaration//GEN-END:variables
}