Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.12 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3. import javax.swing.*;
  4. import static javax.swing.JOptionPane.*;
  5. import java.awt.*;
  6. import java.awt.event.*;
  7. import java.sql.*;
  8. import java.text.*;
  9. import javax.swing.table.*;
  10.  
  11. class DatabaseKontroll{
  12. Dyr dyret;
  13. Gaupe gaupen;
  14. Hare haren;
  15. String databaseNavn = "Jdbc:mysql://localhost/dyreregister";
  16. String databasedriver ="com.mysql.jdbc.Driver";
  17. Connection tilkobling;
  18. String bruker = "root";
  19. String passord = "";
  20. Kontroll k;
  21. String sql;
  22.  
  23.  
  24. public DatabaseKontroll(String bruker, String passord, Kontroll k){
  25. this.bruker = bruker;
  26. this.passord = passord;
  27. this.k = k;
  28. try{
  29. Class.forName(databasedriver);
  30. tilkobling = DriverManager.getConnection(databaseNavn,bruker,passord);
  31. }catch(Exception e){
  32.  
  33. System.out.println("Forbindelsen feilet");
  34. }
  35. System.out.println("Forbindelse opprettet");
  36. }// Public DatabaseKontroll......
  37.  
  38.  
  39.  
  40. public void RegistrerNyGaupe(String kjønn, double lengde, double vekt, String sted, String dato){
  41. String dslag = "G";
  42. try{
  43. sql = "INSERT INTO tbldyr(dyreslag,kjonn,lengde,vekt,sted,dato) VALUES ('"+dslag+"','"+kjønn+"',"+lengde+","+vekt+",'"+sted+"','"+dato+"')";
  44. System.out.println(sql);
  45. Statement utsagn = tilkobling.createStatement();
  46. utsagn.executeUpdate(sql);
  47. }catch(Exception e){
  48. System.out.println("Kunne ikke sette inn i basen");
  49. }
  50. System.out.println("Innsetting Vellykket!");
  51. }//RegNyGaupe
  52.  
  53. public void Gaupegjennfangst(int id,String Dato,String Sted,double lengde,double vekt){//Send til geir
  54.  
  55. try{
  56. sql = "INSERT INTO tblgjenfangst(gfid,dato,sted,lengde,vekt) VALUES("+id+",'"+Dato+"','"+Sted+"',"+lengde+","+vekt+")";
  57. Statement utsagn = tilkobling.createStatement();
  58. utsagn.executeUpdate(sql);
  59. System.out.println("Registrering vellykket");
  60.  
  61.  
  62. }catch(Exception e){
  63.  
  64. System.out.println("Registrering mislykket ingen dyr registrert med denne iden!");
  65. }
  66. }
  67.  
  68.  
  69.  
  70.  
  71. public void RegistrerNyHare(String kjønn, double lengde, double vekt, String sted, String dato, String type, String farge){
  72. String dslag = "H";
  73. try{
  74. sql = "INSERT INTO tbldyr VALUES ("+0+",'"+dslag+"','"+kjønn+"',"+lengde+","+vekt+",'"+sted+"','"+dato+"','"+type+"','"+farge+"')";
  75. System.out.println(sql);
  76. Statement utsagn = tilkobling.createStatement();
  77. utsagn.executeUpdate(sql);
  78. }catch(Exception e){
  79. System.out.println("Kunne ikke sette inn i basen");
  80. }
  81. System.out.println("Innsetting Vellykket!");
  82. }//RegNyHare
  83.  
  84.  
  85. public ResultSet finnAlle(){
  86. sql = "SELECT * FROM tbldyr ORDER BY dyreslag";
  87. System.out.println(sql);
  88.  
  89. ResultSet res = null;
  90. Statement utsagn = null;
  91. try{
  92. utsagn = tilkobling.createStatement();
  93. res = utsagn.executeQuery(sql);
  94.  
  95. }catch(Exception e){
  96. System.out.println("Kunne ikke hente fra basen");
  97. }
  98. return res;
  99. }//Public Void FinnAlle
  100. public String finnDyreType(int id){
  101. sql = "SELECT dslag FROM tbldyr WHERE dyreid = "+id;
  102. System.out.println(sql);
  103.  
  104. ResultSet res = null;
  105. Statement utsagn = null;
  106. try{
  107. utsagn = tilkobling.createStatement();
  108. res = utsagn.executeQuery(sql);
  109. return res.getString("dslag");
  110. }catch(Exception e){
  111. System.out.println("Kunne ikke hente fra basen");
  112. }
  113. return null;
  114. }//Public Void FinnAlle
  115. public ResultSet finnAlleGf(){
  116. sql = "SELECT * FROM tblgjenfangst";
  117. System.out.println(sql);
  118.  
  119. ResultSet res = null;
  120. Statement utsagn = null;
  121. try{
  122. utsagn = tilkobling.createStatement();
  123. res = utsagn.executeQuery(sql);
  124.  
  125. }catch(Exception e){
  126. System.out.println("Kunne ikke hente fra basen");
  127. }
  128. return res;
  129. }//Public Void FinnAlle
  130.  
  131.  
  132. }//Klassen DatabaseKontroll
  133.  
  134.  
  135.  
  136.  
  137.  
  138. //----------------------START NY HARE DIALOG---------------------
  139. class NyHareDialog extends JDialog{
  140. Kontroll k;
  141. KnappelytterDialog knappelytter = new KnappelytterDialog();
  142. String kjønn;
  143. double lengde;
  144. double vekt;
  145. String sted;
  146. String dato;
  147. String type;
  148. String farge;
  149.  
  150. JButton okKnapp, avbrytKnapp;
  151. JPanel p1,p2,p3,p4,p5,p6,p7,p8;
  152. JLabel l1,l2,l3,l4,l5,l6,l7;
  153. JTextField t1,t2,t3,t4,t5,t6,t7;
  154.  
  155. private boolean ok;
  156.  
  157. public NyHareDialog(JFrame foreldre,Kontroll k){
  158. super(foreldre,"Registrer ny hare",true);
  159. this.k = k;
  160. add(new JLabel("Tast inn informasjon om ny hare: "),BorderLayout.NORTH);
  161. add(new HarePanel(),BorderLayout.SOUTH);
  162. setLocationRelativeTo(null);
  163. //setSize(300,300);
  164. pack();
  165. }
  166.  
  167.  
  168. private class KnappelytterDialog implements ActionListener {
  169. public void actionPerformed(ActionEvent hendelse) {
  170. String kommando = hendelse.getActionCommand();
  171. ok = kommando.equals("OK");
  172. setVisible(false);
  173. if(kommando.equals("OK")){
  174. String kjønn = t1.getText().toUpperCase();
  175. String lengdeT = t2.getText();
  176. Double lengde = Double.parseDouble(lengdeT);
  177. String vektT = t3.getText();
  178. Double vekt = Double.parseDouble(vektT);
  179. String sted = t4.getText();
  180. String dato = t5.getText();
  181. String type = t6.getText().toUpperCase();
  182. String farge = t7.getText();
  183.  
  184. if(kjønn.equals("")){
  185. showMessageDialog(null,"Kjønn må fylles ut");
  186. t1.requestFocusInWindow();
  187.  
  188. }else if(kjønn.toUpperCase().charAt(0)!='M' && kjønn.toUpperCase().charAt(0)!='F'){
  189. showMessageDialog(null,"Du må skrive M(Male) eller F(Female) i feltet Kjønn");
  190. t1.requestFocusInWindow();
  191.  
  192. }else if(lengdeT.equals("")){
  193. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  194. t2.requestFocusInWindow();
  195.  
  196. }else if(lengde.isNaN()){
  197. showMessageDialog(null,"Lengde må være et tall");
  198. t2.requestFocusInWindow();
  199.  
  200. }else if(vektT.equals("")){
  201. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  202. t4.requestFocusInWindow();
  203.  
  204. }else if(vekt.isNaN()){
  205. showMessageDialog(null,"Vekt må være et tall");
  206. t3.requestFocusInWindow();
  207.  
  208. }else if(sted.equals("")){
  209. showMessageDialog(null,"Sted må fylles ut");
  210. t4.requestFocusInWindow();
  211.  
  212. }else if(dato.equals("")){
  213. showMessageDialog(null,"Dato må fylles ut");
  214. t5.requestFocusInWindow();
  215. }else{
  216.  
  217. DatabaseKontroll db = new DatabaseKontroll("root","",k);
  218. db.RegistrerNyHare(kjønn,lengde,vekt,sted,dato,type,farge);
  219.  
  220. showMessageDialog(null,"Ok trykket. Ny hare registrert");
  221. setVisible(false);
  222. }
  223. }//If
  224. }
  225. }//Klassen KnappelytterDialog
  226.  
  227. public boolean visDialog(){
  228. setVisible(true);
  229. return ok;
  230. }
  231.  
  232. private class HarePanel extends JPanel {
  233.  
  234. public HarePanel() {
  235. setLayout(new GridLayout(8,2));
  236.  
  237. p1 = new JPanel();
  238. add(p1,BorderLayout.WEST);
  239. l1 = new JLabel("Kjønn: ");
  240. p1.add(l1,BorderLayout.WEST);
  241. t1 = new JTextField(10);
  242. p1.add(t1,BorderLayout.EAST);
  243.  
  244.  
  245. p2 = new JPanel();
  246. add(p2);
  247. l2 = new JLabel("Lengde: ");
  248. p2.add(l2,BorderLayout.WEST);
  249. t2 = new JTextField(10);
  250. p2.add(t2,BorderLayout.EAST);
  251.  
  252.  
  253. p3 = new JPanel();
  254. add(p3);
  255. l3 = new JLabel("Vekt: ");
  256. p3.add(l3,BorderLayout.WEST);
  257. t3 = new JTextField(10);
  258. p3.add(t3,BorderLayout.EAST);
  259.  
  260.  
  261. p4 = new JPanel();
  262. add(p4);
  263. l4 = new JLabel("Sted: ");
  264. p4.add(l4,BorderLayout.WEST);
  265. t4 = new JTextField(10);
  266. p4.add(t4,BorderLayout.EAST);
  267.  
  268.  
  269. p5 = new JPanel();
  270. add(p5);
  271. l5 = new JLabel("Dato: ");
  272. p5.add(l5,BorderLayout.WEST);
  273. t5 = new JTextField(10);
  274. p5.add(t5,BorderLayout.EAST);
  275.  
  276.  
  277. p6 = new JPanel();
  278. add(p6);
  279. l6 = new JLabel("Haretype(S/V): ");
  280. p6.add(l6,BorderLayout.WEST);
  281. t6 = new JTextField(10);
  282. p6.add(t6,BorderLayout.EAST);
  283.  
  284.  
  285.  
  286. p7 = new JPanel();
  287. add(p7);
  288. l7 = new JLabel("Farge: ");
  289. p7.add(l7,BorderLayout.WEST);
  290. t7 = new JTextField(10);
  291. p7.add(t7,BorderLayout.EAST);
  292.  
  293.  
  294. p6 = new JPanel();
  295. add(p6);
  296. avbrytKnapp = new JButton("Avbryt");
  297. p6.add(avbrytKnapp);
  298. avbrytKnapp.addActionListener(knappelytter);
  299.  
  300. okKnapp = new JButton("OK");
  301. p6.add(okKnapp);
  302. okKnapp.addActionListener(knappelytter);
  303. }//Konstruktør
  304. }//Klassen HarePanel
  305. }//Klassen NyHareDialog
  306.  
  307. //----------------------SLUTT NY HARE DIALOG---------------------
  308.  
  309.  
  310.  
  311.  
  312. //----------------------START NY GAUPE DIALOG---------------------
  313.  
  314. class NyGaupeDialog extends JDialog{
  315. Kontroll k;
  316. public boolean ok;
  317. KnappelytterDialog knappelytter = new KnappelytterDialog();
  318. JButton okKnapp, avbrytKnapp;
  319. JPanel p1,p2,p3,p4,p5,p6;
  320. JLabel l1,l2,l3,l4,l5;
  321. JTextField t1,t2,t3,t4,t5;
  322.  
  323.  
  324. public NyGaupeDialog(JFrame foreldre,Kontroll k){
  325. super(foreldre,"Registrer ny gaupe",true);
  326. this.k = k;
  327. add(new JLabel("Tast inn informasjon om ny gaupe: "),BorderLayout.NORTH);
  328. add(new GaupePanel(),BorderLayout.SOUTH);
  329. setLocationRelativeTo(null);
  330. //setSize(300,300);
  331. pack();
  332. }//Public NyGaupeDialog
  333.  
  334. private class KnappelytterDialog implements ActionListener {
  335. public void actionPerformed(ActionEvent hendelse) {
  336. String kommando = hendelse.getActionCommand();
  337. ok = kommando.equals("OK");
  338.  
  339. if(kommando.equals("OK")){
  340.  
  341. String kjønn = t1.getText().toUpperCase();
  342. String lengdeT = t2.getText();
  343. Double lengde = Double.parseDouble(lengdeT);
  344. String vektT = t3.getText();
  345. Double vekt = Double.parseDouble(vektT);
  346. String sted = t4.getText();
  347. String dato = t5.getText();
  348.  
  349. if(kjønn.equals("")){
  350. showMessageDialog(null,"Kjønn må fylles ut");
  351. t1.requestFocusInWindow();
  352.  
  353. }else if(kjønn.toUpperCase().charAt(0)!='M' && kjønn.toUpperCase().charAt(0)!='F'){
  354. showMessageDialog(null,"Du må skrive M(Male) eller F(Female) i feltet Kjønn");
  355. t1.requestFocusInWindow();
  356.  
  357. }else if(lengdeT.equals("")){
  358. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  359. t2.requestFocusInWindow();
  360.  
  361. }else if(lengde.isNaN()){
  362. showMessageDialog(null,"Lengde må være et tall");
  363. t2.requestFocusInWindow();
  364.  
  365. }else if(vektT.equals("")){
  366. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  367. t4.requestFocusInWindow();
  368.  
  369. }else if(vekt.isNaN()){
  370. showMessageDialog(null,"Vekt må være et tall");
  371. t3.requestFocusInWindow();
  372.  
  373. }else if(sted.equals("")){
  374. showMessageDialog(null,"Sted må fylles ut");
  375. t4.requestFocusInWindow();
  376.  
  377. }else if(dato.equals("")){
  378. showMessageDialog(null,"Dato må fylles ut");
  379. t5.requestFocusInWindow();
  380. }else{
  381.  
  382. DatabaseKontroll db = new DatabaseKontroll("root","",k);
  383. db.RegistrerNyGaupe(kjønn,lengde,vekt,sted,dato);
  384. showMessageDialog(null,"Ok trykket. Ny gaupe registrert");
  385. setVisible(false);
  386. }
  387. }//If
  388. }//Metode actionPerformed
  389. }//Klassen KnappelytterDialog
  390.  
  391. public boolean visDialog(){
  392. setVisible(true);
  393. return ok;
  394. }
  395.  
  396.  
  397. private class GaupePanel extends JPanel {
  398.  
  399. public GaupePanel() {
  400. setLayout(new GridLayout(6,2));
  401.  
  402. p1 = new JPanel();
  403. add(p1);
  404. l1 = new JLabel("Kjønn: ");
  405. p1.add(l1);
  406. t1 = new JTextField(10);
  407. p1.add(t1);
  408.  
  409. p2 = new JPanel();
  410. add(p2);
  411. l2 = new JLabel("Lengde: ");
  412. p2.add(l2);
  413. t2 = new JTextField(10);
  414. p2.add(t2);
  415.  
  416. p3 = new JPanel();
  417. add(p3);
  418. l3 = new JLabel("Vekt: ");
  419. p3.add(l3);
  420. t3 = new JTextField(10);
  421. p3.add(t3);
  422.  
  423. p4 = new JPanel();
  424. add(p4);
  425. l4 = new JLabel("Sted: ");
  426. p4.add(l4);
  427. t4 = new JTextField(10);
  428. p4.add(t4);
  429.  
  430. p5 = new JPanel();
  431. add(p5);
  432. l5 = new JLabel("Dato: ");
  433. p5.add(l5);
  434. t5 = new JTextField(10);
  435. p5.add(t5);
  436.  
  437. p6 = new JPanel();
  438. add(p6);
  439. avbrytKnapp = new JButton("Avbryt");
  440. p6.add(avbrytKnapp);
  441. avbrytKnapp.addActionListener(knappelytter);
  442.  
  443. okKnapp = new JButton("OK");
  444. p6.add(okKnapp);
  445. okKnapp.addActionListener(knappelytter);
  446. }//Public GaupePanel
  447. }//Klassen GaupePanel
  448. }//Klassen NyGaupeDialog
  449.  
  450.  
  451. //----------------------SLUTT NY GAUPE DIALOG---------------------
  452.  
  453.  
  454.  
  455. //----------------------START GF GAUPE DIALOG---------------------
  456.  
  457. class GfGaupeDialog extends JDialog{
  458. Kontroll k;
  459. private boolean ok;
  460. KnappelytterDialog knappelytter = new KnappelytterDialog();
  461.  
  462.  
  463. JButton okKnapp, avbrytKnapp;
  464. JPanel p1,p2,p3,p4,p5,p6;
  465. JLabel l1,l2,l3,l4,l5;
  466. JTextField t1,t2,t3,t4,t5;
  467.  
  468.  
  469. public GfGaupeDialog(JFrame foreldre,Kontroll k){
  470. super(foreldre,"Registrer gjenfangst for gaupe",true);
  471. this.k =k;
  472. add(new JLabel("Tast inn nye opplysninger om gaupen: "),BorderLayout.NORTH);
  473. add(new GfGaupePanel(),BorderLayout.SOUTH);
  474. setLocationRelativeTo(null);
  475. //setSize(300,300);
  476. pack();
  477. }
  478.  
  479.  
  480. private class KnappelytterDialog implements ActionListener {
  481. public void actionPerformed(ActionEvent hendelse) {
  482. String kommando = hendelse.getActionCommand();
  483. DatabaseKontroll p = new DatabaseKontroll("root","",k);
  484. String idT = t1.getText();
  485. int id = Integer.parseInt(idT);
  486. String Dato = t2.getText();
  487. String Sted = t3.getText();
  488. String lengdeT = t4.getText();
  489. double lengde = Double.parseDouble(lengdeT);
  490. String vektT = t5.getText();
  491. double vekt = Double.parseDouble(vektT);
  492. ok = kommando.equals("OK");
  493. setVisible(false);
  494.  
  495. if(kommando.equals("OK")){
  496. p.Gaupegjennfangst(id, Dato, Sted, lengde, vekt);
  497. }
  498. }
  499. }//Klassen KnappelytterDialog
  500.  
  501. public boolean visDialog(){
  502. setVisible(true);
  503. return ok;
  504. }
  505.  
  506. private class GfGaupePanel extends JPanel {
  507.  
  508. public GfGaupePanel() {
  509. setLayout(new GridLayout(6,2));
  510.  
  511. p1 = new JPanel();
  512. add(p1);
  513. l1 = new JLabel("Tast inn Id: ");
  514. p1.add(l1);
  515. t1 = new JTextField(10);
  516. p1.add(t1);
  517.  
  518. p2 = new JPanel();
  519. add(p2);
  520. l2 = new JLabel("Dato: ");
  521. p2.add(l2);
  522. t2 = new JTextField(10);
  523. p2.add(t2);
  524.  
  525. p3 = new JPanel();
  526. add(p3);
  527. l3 = new JLabel("Sted: ");
  528. p3.add(l3);
  529. t3 = new JTextField(10);
  530. p3.add(t3);
  531.  
  532. p4 = new JPanel();
  533. add(p4);
  534. l4 = new JLabel("Lengde: ");
  535. p4.add(l4);
  536. t4 = new JTextField(10);
  537. p4.add(t4);
  538.  
  539. p5 = new JPanel();
  540. add(p5);
  541. l5 = new JLabel("Vekt: ");
  542. p5.add(l5);
  543. t5 = new JTextField(10);
  544. p5.add(t5);
  545.  
  546. p6 = new JPanel();
  547. add(p6);
  548. avbrytKnapp = new JButton("Avbryt");
  549. p6.add(avbrytKnapp);
  550. avbrytKnapp.addActionListener(knappelytter);
  551.  
  552. okKnapp = new JButton("OK");
  553. p6.add(okKnapp);
  554. okKnapp.addActionListener(knappelytter);
  555. }//Metode
  556. }//Klassen
  557. }//Klassen GfGaupeDialog
  558.  
  559. //----------------------SLUTT GF GAUPE DIALOG--------------------
  560.  
  561.  
  562.  
  563. //----------------------START GF HARE DIALOG---------------------
  564.  
  565. class GfHareDialog extends JDialog{
  566. Kontroll k;
  567. private boolean ok;
  568. KnappelytterDialog knappelytter = new KnappelytterDialog();
  569.  
  570. JButton okKnapp, avbrytKnapp;
  571. JPanel p1,p2,p3,p4,p5,p6,p7;
  572. JLabel l1,l2,l3,l4,l5,l6;
  573. JTextField t1,t2,t3,t4,t5,t6;
  574.  
  575. public GfHareDialog(JFrame foreldre, Kontroll k){
  576. super(foreldre,"Registrer gjenfangst for hare",true);
  577. this.k = k;
  578. add(new JLabel("Tast inn nye opplysninger om haren: "),BorderLayout.NORTH);
  579. add(new GfHarePanel(),BorderLayout.SOUTH);
  580. setLocationRelativeTo(null);
  581. //setSize(300,300);
  582. pack();
  583. }
  584.  
  585. private class KnappelytterDialog implements ActionListener {
  586. public void actionPerformed(ActionEvent hendelse) {
  587. String kommando = hendelse.getActionCommand();
  588. ok = kommando.equals("OK");
  589. setVisible(false);
  590.  
  591.  
  592. //GaupePanel g = new Gaupepanel();
  593. //1String kjønn = g.t1.getText();
  594. //lengdeT = t2.getText();
  595. //double lengde = Double.parseDouble(lengdeT);
  596. //vektT = t3.getText();
  597. //double vekt = Double.parseDouble(vektT);
  598. //dato = t4.getText();
  599. //dato = t5.getText();
  600. }
  601. }//Klassen KnappelytterDialog
  602.  
  603. public boolean visDialog(){
  604. setVisible(true);
  605. return ok;
  606. }
  607.  
  608.  
  609. private class GfHarePanel extends JPanel {
  610.  
  611. public GfHarePanel() {
  612. setLayout(new GridLayout(7,2));
  613.  
  614. p1 = new JPanel();
  615. add(p1);
  616. l1 = new JLabel("Tast inn Id: ");
  617. p1.add(l1);
  618. t1 = new JTextField(10);
  619. p1.add(t1);
  620. String kak = t1.getText();
  621.  
  622. p2 = new JPanel();
  623. add(p2);
  624. l2 = new JLabel("Dato: ");
  625. p2.add(l2);
  626. t2 = new JTextField(10);
  627. p2.add(t2);
  628.  
  629. p3 = new JPanel();
  630. add(p3);
  631. l3 = new JLabel("Sted: ");
  632. p3.add(l3);
  633. t3 = new JTextField(10);
  634. p3.add(t3);
  635.  
  636. p4 = new JPanel();
  637. add(p4);
  638. l4 = new JLabel("Lengde: ");
  639. p4.add(l4);
  640. t4 = new JTextField(10);
  641. p4.add(t4);
  642.  
  643. p5 = new JPanel();
  644. add(p5);
  645. l5 = new JLabel("Vekt: ");
  646. p5.add(l5);
  647. t5 = new JTextField(10);
  648. p5.add(t5);
  649.  
  650. p6 = new JPanel();
  651. add(p6);
  652. l6 = new JLabel("Vekt: ");
  653. p6.add(l6);
  654. t6 = new JTextField(10);
  655. p6.add(t6);
  656.  
  657. p7 = new JPanel();
  658. add(p7);
  659. avbrytKnapp = new JButton("Avbryt");
  660. p7.add(avbrytKnapp);
  661. avbrytKnapp.addActionListener(knappelytter);
  662.  
  663. okKnapp = new JButton("OK");
  664. p7.add(okKnapp);
  665. okKnapp.addActionListener(knappelytter);
  666. }//Metode
  667. }//Klassen
  668. }//Klassen GfHareDialog
  669.  
  670. //----------------------SLUTT GF HARE DIALOG---------------------
  671.  
  672.  
  673.  
  674. //----------------------START UTSKRIFT DIALOG---------------------
  675.  
  676. class UtskriftDialog extends JDialog{
  677. Kontroll k;
  678. private boolean ok;
  679. KnappelytterDialog knappelytter = new KnappelytterDialog();
  680. JButton lukkKnapp = new JButton("Lukk");
  681. JTable dyretabell = new JTable();
  682. JScrollPane rullefelt = new JScrollPane(dyretabell);
  683. final String []KOLONNENAVN = {"Id", "Type", "Kjønn", "Dato"};
  684. String [][] rader;
  685.  
  686. public UtskriftDialog(JFrame foreldre,Kontroll k){
  687. super(foreldre,"Utskrift av dyr",true);
  688. this.k = k;
  689. ArrayList<Dyr> liste = k.hentListe();
  690. rader = new String[liste.size()][4];
  691. int i = 0;
  692. for(Dyr d : liste){
  693. rader[i][0]=Integer.toString(d.hentId());
  694. if(d instanceof Hare)rader[i][1]="Hare";
  695. else rader[i][1]= "Gaupe";
  696. rader[i][2]=(d.hentKjønn());
  697. rader[i][3]=(d.hentDato());
  698. i++;
  699. }
  700. dyretabell.setModel(new DefaultTableModel(rader,KOLONNENAVN));
  701. setLayout(new BorderLayout());
  702. lukkKnapp.addActionListener(knappelytter);
  703. add(rullefelt,BorderLayout.CENTER);
  704. add(lukkKnapp,BorderLayout.SOUTH);
  705. setSize(900,200);
  706.  
  707. }
  708.  
  709.  
  710.  
  711. private class KnappelytterDialog implements ActionListener {
  712. public void actionPerformed(ActionEvent hendelse) {
  713. String kommando = hendelse.getActionCommand();
  714. if(kommando.equals("Lukk")){
  715. setVisible(false);
  716. }
  717. }
  718. }//Klassen KnappelytterDialog
  719.  
  720.  
  721. public boolean visDialog(){
  722. setVisible(true);
  723. return ok;
  724. }
  725.  
  726.  
  727. private class UtskriftPanel extends JPanel {
  728. Kontroll k;
  729.  
  730. public UtskriftPanel(Kontroll k) {
  731. this.k = k;
  732. KnappelytterDialog knappelytter = new KnappelytterDialog();
  733.  
  734. //JPanel p1,p2;
  735. JTextArea info = new JTextArea(20,70);
  736. JButton okKnapp;
  737.  
  738. setLayout(new GridLayout(2,1));
  739.  
  740. info.setLineWrap(true);
  741. info.setWrapStyleWord(true);
  742. info.setEditable(false);
  743. info.setText("kfhjkhj");
  744. JScrollPane scroll = new JScrollPane(info);
  745. add(scroll);
  746.  
  747. //p1 = new JPanel();
  748. //add(p1);
  749. //info = new JTextArea();
  750. //p1.add(info);
  751.  
  752. //p2 = new JPanel();
  753. //add(p2);
  754.  
  755. okKnapp = new JButton("OK");
  756. add(okKnapp);
  757. okKnapp.addActionListener(knappelytter);
  758.  
  759. }//Konstruktør
  760. }//Klassen UtskriftPanel
  761. }//Klassen UtskriftDialog
  762.  
  763. //----------------------SLUTT UTSKRIFT DIALOG---------------------
  764.  
  765.  
  766. class ForeldreVindu extends JFrame{
  767. Kontroll k = new Kontroll();
  768. private NyGaupeDialog nygaupeboks = new NyGaupeDialog(this,k);
  769. private NyHareDialog nyhareboks = new NyHareDialog(this,k);
  770. private GfGaupeDialog gfgaupeboks = new GfGaupeDialog(this,k);
  771. private GfHareDialog gfhareboks = new GfHareDialog(this,k);
  772. private UtskriftDialog utskriftboks = new UtskriftDialog(this,k);
  773.  
  774. JPanel p1;
  775. JButton b1,b2,b3,b4,b5;
  776. KnappeLytterForeldre knappelytter = new KnappeLytterForeldre();
  777.  
  778. public ForeldreVindu(){
  779. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  780.  
  781.  
  782. p1 = new JPanel();
  783. add(p1);
  784.  
  785. p1.setLayout(new GridLayout(5,1,5,5));
  786.  
  787. b1 = new JButton("Ny gaupe");
  788. p1.add(b1);
  789. b1.addActionListener(knappelytter);
  790.  
  791.  
  792. b2 = new JButton("Ny hare");
  793. p1.add(b2);
  794. b2.addActionListener(knappelytter);
  795.  
  796. b3 = new JButton("Gjenfangst hare");
  797. p1.add(b3);
  798. b3.addActionListener(knappelytter);
  799.  
  800. b4 = new JButton("Gjenfangst gaupe");
  801. p1.add(b4);
  802. b4.addActionListener(knappelytter);
  803.  
  804. b5 = new JButton("Utskrift");
  805. p1.add(b5);
  806. b5.addActionListener(knappelytter);
  807.  
  808. pack();
  809. }//PUBLIC ForeldreVindu
  810.  
  811. private class KnappeLytterForeldre implements ActionListener{
  812.  
  813. public void actionPerformed(ActionEvent hendelse){
  814. String kommando = hendelse.getActionCommand();
  815.  
  816. if(kommando.equals("Ny gaupe")){
  817. nygaupeboks.visDialog();
  818. }//If
  819.  
  820. if(kommando.equals("Ny hare")){
  821. nyhareboks.visDialog();
  822. }
  823.  
  824. if(kommando.equals("Gjenfangst gaupe")){
  825. gfgaupeboks.visDialog();
  826. }//If
  827.  
  828. if(kommando.equals("Gjenfangst hare")){
  829. gfhareboks.visDialog();
  830. }//If
  831.  
  832. if(kommando.equals("Utskrift")){
  833. utskriftboks.visDialog();
  834. }//If
  835. }//metode
  836. }//klassen KnappeLytterForeldre
  837. }//Klassen ForeldreVindu
  838.  
  839.  
  840. //------------------MAIN------------------------------------
  841.  
  842.  
  843. class DyreRegister extends JFrame{
  844. public static void main(String[] args) {
  845.  
  846. ForeldreVindu meny = new ForeldreVindu();
  847. meny.setSize(500,300);
  848. meny.setLocationRelativeTo(null);
  849. meny.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  850. meny.setVisible(true);
  851.  
  852. }//Main
  853. } //Programklasse
  854.  
  855.  
  856. //--------------------------START KONTROLL-----------------------------------
  857.  
  858. class Kontroll {
  859. DatabaseKontroll db = new DatabaseKontroll("root","",this);
  860. public Kontroll(){
  861. try{
  862. ResultSet res = db.finnAlle();
  863. while (res.next()){
  864. int id = res.getInt("dyreid");
  865. String dslag = res.getString("dyreslag");
  866. String kjønn = res.getString("kjonn");
  867. double lengde = res.getDouble("lengde");
  868. double vekt = res.getDouble("vekt");
  869. String sted = res.getString("sted");
  870. String dato = res.getString("dato");
  871. String type = res.getString("type");
  872. String farge = res.getString("farge");
  873. if(dslag.equals("H")){
  874. Hare dyr = new Hare(id,dslag,kjønn,lengde,vekt,sted,dato,type,farge);
  875. nyttDyr(dyr);
  876. }
  877. else if(dslag.equals("G")){
  878. Gaupe dyr = new Gaupe(id,dslag,kjønn,lengde,vekt,sted,dato);
  879. nyttDyr(dyr);
  880. }
  881. }//While
  882.  
  883. res = db.finnAlleGf();
  884. while(res.next()){
  885. int id = res.getInt("gfid");
  886. String type = db.finnDyreType(id);
  887. double lengde = res.getDouble("lengde");
  888. double vekt = res.getDouble("vekt");
  889. String sted = res.getString("sted");
  890. String dato = res.getString("dato");
  891. if(type.equals("H")){
  892. String farge = res.getString("farge");
  893. HareGjenfangst g = new HareGjenfangst(dato,sted,lengde,vekt,farge);
  894. finnDyr(id).regGjenfangst(g);
  895. }
  896. else{
  897. GaupeGjenfangst g = new GaupeGjenfangst(dato,sted,lengde,vekt);
  898. finnDyr(id).regGjenfangst(g);
  899. }
  900. }
  901. }catch(Exception e) {}
  902. }
  903. ArrayList <Dyr> dyreliste = new ArrayList <Dyr>();
  904.  
  905. public void nyttDyr(Dyr dyret) {
  906. dyreliste.add(dyret);
  907. }
  908.  
  909. public ArrayList hentListe() {
  910. return dyreliste;
  911. }
  912.  
  913. public void skrivDyr() {
  914. ArrayList liste = hentListe();
  915. int teller = 0;
  916. while(teller < liste.size()) {
  917. Dyr dyret = (Dyr)liste.get(teller);
  918. System.out.println(dyret.toString());
  919. ArrayList fangster = dyret.hentFangster();
  920. int nyteller = 0;
  921. if(fangster.size() > 0) System.out.println("GJENFANGSTER: ");
  922. while(nyteller < fangster.size()) {
  923. Gjenfangst gfs = (Gjenfangst)fangster.get(nyteller);
  924. System.out.println(gfs.toString());
  925. nyteller++;
  926. } //indre løkke
  927. teller++;
  928. } //ytre løkke
  929. }
  930. public Dyr finnDyr(int id) {
  931. Dyr dyret = null;
  932. int teller = 0;
  933. boolean funnet = false;
  934. while((teller < dyreliste.size())&&(!funnet)) {
  935. Dyr etdyr = (Dyr)dyreliste.get(teller);
  936. int dyrid = etdyr.hentId();
  937. if(dyrid == id) {
  938. funnet = true;
  939. dyret = etdyr;
  940. }
  941. else teller++;
  942. } //løkke
  943. return dyret;
  944. } //metode
  945.  
  946.  
  947. } //Klassen Kontroll
  948.  
  949. //----------------------------SLUTT KONTROLL-------------------------------
  950.  
  951.  
  952. //-----------------------------START DYR-----------------------------------
  953.  
  954. class Dyr {
  955. int id;
  956. String dslag;
  957. String kjønn;
  958. Double lengde;
  959. Double vekt;
  960. String fangststed;
  961. String dato;
  962. ArrayList <Gjenfangst>gjenfangster = new ArrayList<Gjenfangst>();
  963.  
  964. public Dyr(int i, String ds, String k, double l, double v, String s, String d) {
  965. id = i;
  966. dslag = ds;
  967. kjønn = k;
  968. lengde = l;
  969. vekt = v;
  970. fangststed = s;
  971. dato = d;
  972. } //Konstruktør
  973.  
  974. public ArrayList hentFangster() {
  975. return gjenfangster;
  976. }
  977.  
  978. public int hentId(){
  979. return id;
  980. }
  981. public String hentDslag(){
  982. return dslag;
  983. }
  984.  
  985. public String hentKjønn() {
  986. return kjønn;
  987. }
  988.  
  989. public double hentLengde() {
  990. return lengde;
  991. }
  992.  
  993. public double hentVekt() {
  994. return vekt;
  995. }
  996.  
  997. public String hentSted() {
  998. return fangststed;
  999. }
  1000.  
  1001. public String hentDato() {
  1002. return dato;
  1003. }
  1004.  
  1005. public void regGjenfangst(Gjenfangst g) {
  1006. gjenfangster.add(g);
  1007. }
  1008.  
  1009. public String hentData(){
  1010. return id+ "," +dslag+ "," +kjønn+ "," +lengde+ "," +vekt+ "," +fangststed+ "," +dato;
  1011. }
  1012.  
  1013. public String toString() {
  1014. return "Id : "+id+" Dyreslag: "+dslag+" Kjønn: "+kjønn+" Lengde: "+lengde+" Vekt: "+vekt+" Fangststed: "+fangststed+" Dato: "+dato;
  1015. }
  1016. } //Klassen Dyr
  1017.  
  1018.  
  1019.  
  1020. class Gaupe extends Dyr {
  1021.  
  1022. public Gaupe(int i, String ds, String k,double l,double v,String s,String d) {
  1023. super(i,ds,k,l,v,s,d);
  1024. } //Konstruktør
  1025. } //Klassen Gaupe
  1026.  
  1027.  
  1028.  
  1029. class Hare extends Dyr {
  1030. String type;
  1031. String farge;
  1032.  
  1033. public Hare(int i, String ds, String k,double l,double v,String s,String d,String t,String f) {
  1034. super(i,ds,k,l,v,s,d);
  1035. type = t;
  1036. farge = f;
  1037. } //Konstruktør
  1038.  
  1039. public String hentType() {
  1040. return type;
  1041. }
  1042.  
  1043. public String hentFarge() {
  1044. return farge;
  1045. }
  1046.  
  1047. public String hentData() {
  1048. return super.hentData()+","+type+","+farge;
  1049. } //metode
  1050.  
  1051. public String toString() {
  1052. return super.toString()+" Type: "+type+" Farge: "+farge;
  1053. }
  1054.  
  1055. } //Klassen Hare
  1056.  
  1057. class Gjenfangst {
  1058. String dato;
  1059. String gjenfangststed;
  1060. double lengde;
  1061. double vekt;
  1062.  
  1063. public Gjenfangst(String d,String gs,double l,double v) {
  1064. dato = d;
  1065. gjenfangststed = gs;
  1066. lengde = l;
  1067. vekt = v;
  1068. } //Konstruktør
  1069.  
  1070. public String hentDato() {
  1071. return dato;
  1072. }
  1073.  
  1074. public String hentSted() {
  1075. return gjenfangststed;
  1076. }
  1077. public double hentLengde() {
  1078. return lengde;
  1079. }
  1080.  
  1081. public double hentVekt() {
  1082. return vekt;
  1083. }
  1084.  
  1085. public String toString() {
  1086. return "Dato: "+dato+" Sted: "+gjenfangststed+" Lengde: "+lengde+" Vekt: "+vekt;
  1087. }
  1088.  
  1089. public String hentData() {
  1090. return dato+"/"+gjenfangststed+"/"+lengde+"/"+vekt;
  1091. }
  1092.  
  1093. } //Klassen Gjenfangst
  1094.  
  1095.  
  1096.  
  1097. class GaupeGjenfangst extends Gjenfangst {
  1098.  
  1099. public GaupeGjenfangst(String d,String gs,double l,double v) {
  1100. super(d,gs,l,v);
  1101. } //Konstruktør
  1102. } //Klassen GaupeGjenfangst
  1103.  
  1104.  
  1105.  
  1106. class HareGjenfangst extends Gjenfangst {
  1107. String farge;
  1108.  
  1109. public HareGjenfangst(String d,String gs,double l,double v,String f) {
  1110. super(d,gs,l,v);
  1111. farge = f;
  1112. } //Konstruktør
  1113.  
  1114. public String toString() {
  1115. return super.toString()+" farge: "+farge;
  1116. }
  1117.  
  1118. public String hentData() {
  1119. return super.hentData()+"/"+farge;
  1120. }
  1121. } //Klasse
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement