Advertisement
Guest User

main programacion

a guest
May 29th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.98 KB | None | 0 0
  1. package TrabajoFinal;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5.  
  6. import javax.swing.*;
  7. import javax.swing.table.DefaultTableModel;
  8. import javax.swing.border.EtchedBorder;
  9. import javax.swing.border.LineBorder;
  10.  
  11. public class Main extends JFrame {
  12.  
  13. //Atributos
  14. private String user,pass,url;
  15. private PersonasBD base;
  16. private JTable tableMDatos;
  17. private JTextField textFieldADNI;
  18. private JTextField textFieldANombre;
  19. private JTextField textFieldADireccion;
  20. private JTextField textFieldATelefono;
  21. private DefaultTableModel modeloTabla;
  22. private CardLayout cl;
  23. private JTextField textFieldADia;
  24. private JTextField textFieldAMes;
  25. private JTextField textFieldAAño;
  26. private JPanel Contenido;
  27. private JTextField textFieldMDNI;
  28. private JTextField textFieldMTelefono;
  29. private JTextField textFieldBDNI;
  30.  
  31. //Constructores
  32. public Main() {
  33. this.url =/*"jdbc:oracle:thin:@localhost:1521:bbddClase"*/"jdbc:oracle:thin:192.168.1.34:bbddclase";
  34. this.pass = "conexionbd";
  35. this.user = "conexionbd";
  36. base = new PersonasBD(user,pass,url);
  37.  
  38. getContentPane().setLayout(null);
  39. setSize(1000,700);
  40.  
  41. JPanel Principal = new JPanel();
  42. Principal.setBounds(0, 0, 420, 661);
  43. getContentPane().add(Principal);
  44. Principal.setLayout(null);
  45.  
  46.  
  47. JPanel Menu = new JPanel();
  48. Menu.setBounds(0, 0, 500, 64);
  49. Menu.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
  50. Principal.add(Menu);
  51. Menu.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
  52.  
  53. JButton btnAñadir = new JButton("A\u00F1adir");
  54. Menu.add(btnAñadir);
  55.  
  56. JButton btnModificar = new JButton("Modificar");
  57. Menu.add(btnModificar);
  58.  
  59. JButton btnEliminar = new JButton("Eliminar");
  60. Menu.add(btnEliminar);
  61.  
  62. Contenido = new JPanel();
  63. Contenido.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
  64. Contenido.setBounds(0, 63, 420, 598);
  65. Principal.add(Contenido);
  66. cl = new CardLayout();
  67. Contenido.setLayout(cl);
  68.  
  69. JPanel panelAñadir = new JPanel();
  70. panelAñadir.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
  71. panelAñadir.setBounds(0, 0, 500, 598);
  72. Contenido.add(panelAñadir);
  73. panelAñadir.setLayout(null);
  74.  
  75. JButton btnAAceptar = new JButton("Aceptar");
  76. btnAAceptar.setBounds(292, 538, 96, 34);
  77. panelAñadir.add(btnAAceptar);
  78.  
  79. JButton btnALimpiar = new JButton("Limpiar");
  80. btnALimpiar.setBounds(183, 538, 96, 34);
  81. panelAñadir.add(btnALimpiar);
  82.  
  83. JLabel labelAPanelAñadir = new JLabel("A\u00F1adir");
  84. labelAPanelAñadir.setFont(new Font("Tahoma", Font.PLAIN, 16));
  85. labelAPanelAñadir.setHorizontalAlignment(SwingConstants.CENTER);
  86. labelAPanelAñadir.setBounds(139, 22, 103, 29);
  87. panelAñadir.add(labelAPanelAñadir);
  88.  
  89. JLabel lblADNI = new JLabel("DNI:");
  90. lblADNI.setHorizontalAlignment(SwingConstants.LEFT);
  91. lblADNI.setBounds(23, 67, 46, 14);
  92. panelAñadir.add(lblADNI);
  93.  
  94. JLabel lblAANombre = new JLabel("Nombre:");
  95. lblAANombre.setHorizontalAlignment(SwingConstants.LEFT);
  96. lblAANombre.setBounds(23, 92, 54, 14);
  97. panelAñadir.add(lblAANombre);
  98.  
  99. JLabel lblAFNacimiento = new JLabel("F.Nacimiento:");
  100. lblAFNacimiento.setBounds(23, 117, 77, 14);
  101. panelAñadir.add(lblAFNacimiento);
  102.  
  103. JLabel lblAsep1 = new JLabel("/");
  104. lblAsep1.setHorizontalAlignment(SwingConstants.CENTER);
  105. lblAsep1.setBounds(142, 115, 29, 14);
  106. panelAñadir.add(lblAsep1);
  107.  
  108. JLabel lblAsep2 = new JLabel("/");
  109. lblAsep2.setHorizontalAlignment(SwingConstants.CENTER);
  110. lblAsep2.setBounds(200, 115, 29, 14);
  111. panelAñadir.add(lblAsep2);
  112.  
  113. JLabel lblADireccion = new JLabel("Direcci\u00F3n:");
  114. lblADireccion.setBounds(23, 142, 68, 14);
  115. panelAñadir.add(lblADireccion);
  116.  
  117. JLabel lblATelefono = new JLabel("Tel\u00E9fono:");
  118. lblATelefono.setBounds(23, 167, 54, 14);
  119. panelAñadir.add(lblATelefono);
  120.  
  121. textFieldADNI = new JTextField();
  122. textFieldADNI.setBounds(118, 62, 230, 20);
  123. panelAñadir.add(textFieldADNI);
  124. textFieldADNI.setColumns(10);
  125.  
  126. textFieldANombre = new JTextField();
  127. textFieldANombre.setBounds(118, 87, 230, 20);
  128. panelAñadir.add(textFieldANombre);
  129. textFieldANombre.setColumns(10);
  130.  
  131. textFieldADia = new JTextField();
  132. textFieldADia.setText("D");
  133. textFieldADia.setBounds(116, 112, 29, 20);
  134. panelAñadir.add(textFieldADia);
  135. textFieldADia.setColumns(10);
  136.  
  137. textFieldAMes = new JTextField();
  138. textFieldAMes.setText("M");
  139. textFieldAMes.setBounds(171, 112, 29, 20);
  140. panelAñadir.add(textFieldAMes);
  141. textFieldAMes.setColumns(10);
  142.  
  143. textFieldAAño = new JTextField();
  144. textFieldAAño.setText("A");
  145. textFieldAAño.setBounds(230, 112, 39, 20);
  146. panelAñadir.add(textFieldAAño);
  147. textFieldAAño.setColumns(10);
  148.  
  149. textFieldADireccion = new JTextField();
  150. textFieldADireccion.setBounds(118, 137, 230, 20);
  151. panelAñadir.add(textFieldADireccion);
  152. textFieldADireccion.setColumns(10);
  153.  
  154. textFieldATelefono = new JTextField();
  155. textFieldATelefono.setBounds(118, 162, 230, 20);
  156. panelAñadir.add(textFieldATelefono);
  157. textFieldATelefono.setColumns(10);
  158.  
  159. JPanel panelModificar = new JPanel();
  160. panelModificar.setBounds(0, 0, 500, 598);
  161. Contenido.add(panelModificar);
  162. panelModificar.setLayout(null);
  163.  
  164. JPanel panelBorrar = new JPanel();
  165. panelBorrar.setBounds(0, 0, 500, 598);
  166. Contenido.add(panelBorrar);
  167. panelBorrar.setLayout(null);
  168.  
  169. JPanel Motrar = new JPanel();
  170. Motrar.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
  171. Motrar.setBounds(421, 0, 563, 661);
  172. getContentPane().add(Motrar);
  173. Motrar.setLayout(null);
  174.  
  175. JLabel labelMostar = new JLabel("Mostar Datos");
  176. labelMostar.setFont(new Font("Tahoma", Font.BOLD, 25));
  177. labelMostar.setHorizontalAlignment(SwingConstants.CENTER);
  178. labelMostar.setBounds(142, -2, 211, 68);
  179. Motrar.add(labelMostar);
  180.  
  181. JScrollPane scrollTabla = new JScrollPane();
  182. scrollTabla.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
  183. scrollTabla.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
  184. scrollTabla.setBounds(28, 60, 500, 504);
  185. Motrar.add(scrollTabla);
  186. tableMDatos = new JTable();
  187. modeloTabla = new DefaultTableModel(
  188. new String[][] {
  189. },
  190. new String[] {
  191. "DNI", "Nombre", "F.Nacimiento", "Direccion", "Telefono"
  192. });
  193. tableMDatos.setFillsViewportHeight(true);
  194. scrollTabla.setViewportView(tableMDatos);
  195. tableMDatos.setModel(modeloTabla);
  196.  
  197. JButton btnActualizar = new JButton("Actualizar");
  198. btnActualizar.setBounds(411, 603, 96, 34);
  199. getContentPane().setPreferredSize(null);
  200. Motrar.add(btnActualizar);
  201. btnActualizar.addMouseListener(new MouseAdapter() {
  202. public void mouseClicked(MouseEvent event){
  203. refrescarTabla();
  204. }
  205. });
  206.  
  207. btnAñadir.addMouseListener(new MouseAdapter(){
  208. public void mouseClicked(MouseEvent event){
  209. cambiarPanel("añadir");
  210. }
  211. });
  212.  
  213. btnModificar.addMouseListener(new MouseAdapter(){
  214. public void mouseClicked(MouseEvent event){
  215. cambiarPanel("modificar");
  216. }
  217. });
  218.  
  219. btnEliminar.addMouseListener(new MouseAdapter(){
  220. public void mouseClicked(MouseEvent event){
  221. cambiarPanel("borrar");
  222. }
  223. });
  224.  
  225. btnALimpiar.addMouseListener(new MouseAdapter() {
  226. public void mouseClicked(MouseEvent e) {
  227. limpiarPanel();
  228. }
  229. });
  230.  
  231. btnAAceptar.addMouseListener(new MouseAdapter() {
  232. public void mouseClicked(MouseEvent e){
  233.  
  234. Persona nuevaPersona=new Persona(textFieldADNI.getText(),textFieldANombre.getText(), new java.sql.Date(Integer.parseInt(textFieldAAño.getText()),
  235. Integer.parseInt(textFieldAMes.getText()),Integer.parseInt(textFieldADia.getText())), textFieldADireccion.getText(), Integer.parseInt(textFieldATelefono.getText()));
  236. base.altaPersona(nuevaPersona);
  237. refrescarTabla();
  238. limpiarPanel();
  239. }
  240. });
  241.  
  242.  
  243.  
  244. cl.addLayoutComponent(panelAñadir, "añadir");
  245. cl.addLayoutComponent(panelModificar, "modificar");
  246.  
  247. JButton buttonMModificar = new JButton("Modificar");
  248. buttonMModificar.setBounds(290, 531, 96, 34);
  249. panelModificar.add(buttonMModificar);
  250.  
  251. buttonMModificar.addMouseListener(new MouseAdapter(){
  252. public void mouseClicked(MouseEvent event){
  253. if (modificarPersona()){
  254. refrescarTabla();
  255. } else {
  256. System.out.println("Pendiente de insertar aqui un jdialog dando error de DNI");
  257. }
  258. }
  259. });
  260.  
  261. JButton btnMBuscar = new JButton("Buscar");
  262. btnMBuscar.setBounds(184, 531, 96, 34);
  263. panelModificar.add(btnMBuscar);
  264.  
  265. JLabel labelPanelModificar = new JLabel("Modificar");
  266. labelPanelModificar.setHorizontalAlignment(SwingConstants.CENTER);
  267. labelPanelModificar.setFont(new Font("Tahoma", Font.PLAIN, 16));
  268. labelPanelModificar.setBounds(140, 11, 103, 29);
  269. panelModificar.add(labelPanelModificar);
  270.  
  271. JLabel labelMDNI = new JLabel("DNI:");
  272. labelMDNI.setHorizontalAlignment(SwingConstants.LEFT);
  273. labelMDNI.setBounds(75, 54, 46, 14);
  274. panelModificar.add(labelMDNI);
  275.  
  276. JLabel labelMTelefono = new JLabel("Tel\u00E9fono:");
  277. labelMTelefono.setBounds(75, 85, 46, 14);
  278. panelModificar.add(labelMTelefono);
  279.  
  280. textFieldMDNI = new JTextField();
  281. textFieldMDNI.setColumns(10);
  282. textFieldMDNI.setBounds(153, 51, 77, 20);
  283. panelModificar.add(textFieldMDNI);
  284.  
  285. textFieldMTelefono = new JTextField();
  286. textFieldMTelefono.setColumns(10);
  287. textFieldMTelefono.setBounds(153, 82, 86, 20);
  288. panelModificar.add(textFieldMTelefono);
  289. cl.addLayoutComponent(panelBorrar, "borrar");
  290.  
  291. JButton buttonBEliminar = new JButton("Eliminar");
  292. buttonBEliminar.setBounds(271, 535, 96, 34);
  293. panelBorrar.add(buttonBEliminar);
  294.  
  295. buttonBEliminar.addMouseListener(new MouseAdapter() {
  296. public void mouseClicked(MouseEvent e) {
  297. base.bajaPersona(textFieldBDNI.getText());
  298. refrescarTabla();
  299. }
  300. });
  301.  
  302. JButton buttonBBuscar = new JButton("Buscar");
  303. buttonBBuscar.setBounds(165, 535, 96, 34);
  304. panelBorrar.add(buttonBBuscar);
  305.  
  306. JLabel labelBDNI = new JLabel("DNI:");
  307. labelBDNI.setHorizontalAlignment(SwingConstants.LEFT);
  308. labelBDNI.setBounds(87, 60, 46, 14);
  309. panelBorrar.add(labelBDNI);
  310.  
  311. textFieldBDNI = new JTextField();
  312. textFieldBDNI.setColumns(10);
  313. textFieldBDNI.setBounds(165, 57, 77, 20);
  314. panelBorrar.add(textFieldBDNI);
  315.  
  316. JLabel labelBorrar = new JLabel("Eliminar");
  317. labelBorrar.setHorizontalAlignment(SwingConstants.CENTER);
  318. labelBorrar.setFont(new Font("Tahoma", Font.PLAIN, 16));
  319. labelBorrar.setBounds(139, 17, 103, 29);
  320. panelBorrar.add(labelBorrar);
  321.  
  322. this.rellenarTabla();
  323. setVisible(true);
  324.  
  325. }
  326. //Metodos
  327. private void rellenarTabla(){
  328. //Rellena la tabla con los resultados de la consulta SELECT * FROM PERSONAS. La fecha puede dar problema
  329. for(Persona p : base.consultarPersonas()){
  330. String[] fila = {p.getDni(), p.getNombre(),p.getFechaNac().toLocaleString().split(" ")[0],p.getDireccion(), ""+p.getTlf()};
  331. modeloTabla.addRow(fila);
  332. }
  333. }
  334.  
  335. private void limpiarTabla(){
  336. //Elimina todas las lineas en la tabla
  337. for (int i=0; i<modeloTabla.getRowCount(); i++){
  338. modeloTabla.removeRow(i);
  339. }
  340. }
  341.  
  342. private void refrescarTabla(){
  343. this.limpiarTabla();
  344. this.rellenarTabla();
  345. }
  346.  
  347. private void cambiarPanel(String nombrePanel){
  348. //Los nombres de los paneles son "añadir", "modificar" y "borrar", todos en minnusculas
  349. cl.show(Contenido, nombrePanel);
  350. }
  351.  
  352. private void limpiarPanel(){ //Metodo que al pulsar el boton Limpiar del panelAñadir elimine el contenido de los JTextField
  353.  
  354. textFieldADNI.setText("");
  355. textFieldANombre.setText("");
  356. textFieldADia.setText("");
  357. textFieldAMes.setText("");
  358. textFieldAAño.setText("");
  359. textFieldADireccion.setText("");
  360. textFieldATelefono.setText("");
  361. }
  362.  
  363. private boolean modificarPersona(){
  364. return base.modificarPersona(textFieldMDNI.getText(), Integer.parseInt(textFieldMTelefono.getText()) );
  365. }
  366.  
  367.  
  368. //MAIN
  369. public static void main(String[] args) {
  370. new Main();
  371.  
  372. } //FIN DE MAIN
  373. } //FIN DEL ARCHIVO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement