Advertisement
Guest User

Untitled

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