Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.64 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.  
  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. char 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. char 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 void 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. while (res.next()){
  95. int id = res.getInt("dyreid");
  96. String dslag = res.getString("dyreslag");
  97. String kjønn = res.getString("kjonn");
  98. double lengde = res.getDouble("lengde");
  99. double vekt = res.getDouble("vekt");
  100. String sted = res.getString("sted");
  101. String dato = res.getString("dato");
  102. String type = res.getString("type");
  103. String farge = res.getString("farge");
  104. Hare enhare = new Hare(id,dslag,kjønn,lengde,vekt,sted,dato,type,farge);
  105.  
  106. k.nyttDyr(enhare);
  107.  
  108. }//While
  109. }catch(Exception e){
  110. System.out.println("Kunne ikke hente fra basen");
  111. }
  112. }//Public Void FinnAlle
  113.  
  114.  
  115. }//Klassen DatabaseKontroll
  116.  
  117.  
  118.  
  119.  
  120.  
  121. //----------------------START NY HARE DIALOG---------------------
  122. class NyHareDialog extends JDialog{
  123. Kontroll k;
  124. KnappelytterDialog knappelytter = new KnappelytterDialog();
  125. String kjønn;
  126. double lengde;
  127. double vekt;
  128. String sted;
  129. String dato;
  130. String type;
  131. String farge;
  132.  
  133. JButton okKnapp, avbrytKnapp;
  134. JPanel p1,p2,p3,p4,p5,p6,p7,p8;
  135. JLabel l1,l2,l3,l4,l5,l6,l7;
  136. JTextField t1,t2,t3,t4,t5,t6,t7;
  137.  
  138. private boolean ok;
  139.  
  140. public NyHareDialog(JFrame foreldre,Kontroll k){
  141. super(foreldre,"Registrer ny hare",true);
  142. this.k = k;
  143. add(new JLabel("Tast inn informasjon om ny hare: "),BorderLayout.NORTH);
  144. add(new HarePanel(),BorderLayout.SOUTH);
  145. setLocationRelativeTo(null);
  146. //setSize(300,300);
  147. pack();
  148. }
  149.  
  150.  
  151. private class KnappelytterDialog implements ActionListener {
  152. public void actionPerformed(ActionEvent hendelse) {
  153. String kommando = hendelse.getActionCommand();
  154. ok = kommando.equals("OK");
  155. setVisible(false);
  156. if(kommando.equals("OK")){
  157. String kjønn = t1.getText();
  158. String lengdeT = t2.getText();
  159. Double lengde = Double.parseDouble(lengdeT);
  160. String vektT = t3.getText();
  161. Double vekt = Double.parseDouble(vektT);
  162. String sted = t4.getText();
  163. String dato = t5.getText();
  164. String type = t6.getText();
  165. String farge = t7.getText();
  166.  
  167. if(kjønn.equals("")){
  168. showMessageDialog(null,"Kjønn må fylles ut");
  169. t1.requestFocusInWindow();
  170.  
  171. }else if(kjønn.toUpperCase().charAt(0)!='M' && kjønn.toUpperCase().charAt(0)!='F'){
  172. showMessageDialog(null,"Du må skrive M(Male) eller F(Female) i feltet Kjønn");
  173. t1.requestFocusInWindow();
  174.  
  175. }else if(lengdeT.equals("")){
  176. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  177. t2.requestFocusInWindow();
  178.  
  179. }else if(lengde.isNaN()){
  180. showMessageDialog(null,"Lengde må være et tall");
  181. t2.requestFocusInWindow();
  182.  
  183. }else if(vektT.equals("")){
  184. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  185. t4.requestFocusInWindow();
  186.  
  187. }else if(vekt.isNaN()){
  188. showMessageDialog(null,"Vekt må være et tall");
  189. t3.requestFocusInWindow();
  190.  
  191. }else if(sted.equals("")){
  192. showMessageDialog(null,"Sted må fylles ut");
  193. t4.requestFocusInWindow();
  194.  
  195. }else if(dato.equals("")){
  196. showMessageDialog(null,"Dato må fylles ut");
  197. t5.requestFocusInWindow();
  198. }else{
  199.  
  200. DatabaseKontroll db = new DatabaseKontroll("root","",k);
  201. db.RegistrerNyHare(kjønn,lengde,vekt,sted,dato,type,farge);
  202.  
  203. showMessageDialog(null,"Ok trykket. Ny hare registrert");
  204. setVisible(false);
  205.  
  206. }
  207.  
  208. }//If
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217. }
  218. }//Klassen KnappelytterDialog
  219.  
  220. public boolean visDialog(){
  221. setVisible(true);
  222. return ok;
  223. }
  224.  
  225. private class HarePanel extends JPanel {
  226.  
  227. public HarePanel() {
  228.  
  229. setLayout(new GridLayout(8,2));
  230.  
  231. p1 = new JPanel();
  232. add(p1,BorderLayout.WEST);
  233. l1 = new JLabel("Kjønn: ");
  234. p1.add(l1,BorderLayout.WEST);
  235. t1 = new JTextField(10);
  236. p1.add(t1,BorderLayout.EAST);
  237.  
  238.  
  239. p2 = new JPanel();
  240. add(p2);
  241. l2 = new JLabel("Lengde: ");
  242. p2.add(l2,BorderLayout.WEST);
  243. t2 = new JTextField(10);
  244. p2.add(t2,BorderLayout.EAST);
  245.  
  246.  
  247. p3 = new JPanel();
  248. add(p3);
  249. l3 = new JLabel("Vekt: ");
  250. p3.add(l3,BorderLayout.WEST);
  251. t3 = new JTextField(10);
  252. p3.add(t3,BorderLayout.EAST);
  253.  
  254.  
  255. p4 = new JPanel();
  256. add(p4);
  257. l4 = new JLabel("Sted: ");
  258. p4.add(l4,BorderLayout.WEST);
  259. t4 = new JTextField(10);
  260. p4.add(t4,BorderLayout.EAST);
  261.  
  262.  
  263. p5 = new JPanel();
  264. add(p5);
  265. l5 = new JLabel("Dato: ");
  266. p5.add(l5,BorderLayout.WEST);
  267. t5 = new JTextField(10);
  268. p5.add(t5,BorderLayout.EAST);
  269.  
  270.  
  271. p6 = new JPanel();
  272. add(p6);
  273. l6 = new JLabel("Haretype(S/V): ");
  274. p6.add(l6,BorderLayout.WEST);
  275. t6 = new JTextField(10);
  276. p6.add(t6,BorderLayout.EAST);
  277.  
  278.  
  279.  
  280. p7 = new JPanel();
  281. add(p7);
  282. l7 = new JLabel("Farge: ");
  283. p7.add(l7,BorderLayout.WEST);
  284. t7 = new JTextField(10);
  285. p7.add(t7,BorderLayout.EAST);
  286.  
  287.  
  288. p6 = new JPanel();
  289. add(p6);
  290. avbrytKnapp = new JButton("Avbryt");
  291. p6.add(avbrytKnapp);
  292. avbrytKnapp.addActionListener(knappelytter);
  293.  
  294. okKnapp = new JButton("OK");
  295. p6.add(okKnapp);
  296. okKnapp.addActionListener(knappelytter);
  297. }//Konstruktør
  298. }//Klassen HarePanel
  299.  
  300.  
  301. }//Klassen NyHareDialog
  302.  
  303. //----------------------SLUTT NY HARE DIALOG---------------------
  304.  
  305.  
  306.  
  307.  
  308.  
  309. //----------------------START NY GAUPE DIALOG---------------------
  310.  
  311. class NyGaupeDialog extends JDialog{
  312. Kontroll k;
  313. public boolean ok;
  314. KnappelytterDialog knappelytter = new KnappelytterDialog();
  315. JButton okKnapp, avbrytKnapp;
  316. JPanel p1,p2,p3,p4,p5,p6;
  317. JLabel l1,l2,l3,l4,l5;
  318. JTextField t1,t2,t3,t4,t5;
  319.  
  320.  
  321. public NyGaupeDialog(JFrame foreldre,Kontroll k){
  322. super(foreldre,"Registrer ny gaupe",true);
  323. this.k = k;
  324. add(new JLabel("Tast inn informasjon om ny gaupe: "),BorderLayout.NORTH);
  325. add(new GaupePanel(),BorderLayout.SOUTH);
  326. setLocationRelativeTo(null);
  327. //setSize(300,300);
  328. pack();
  329. }//Public NyGaupeDialog
  330.  
  331. private class KnappelytterDialog implements ActionListener {
  332. public void actionPerformed(ActionEvent hendelse) {
  333. String kommando = hendelse.getActionCommand();
  334. ok = kommando.equals("OK");
  335.  
  336. if(kommando.equals("OK")){
  337.  
  338. String kjønn = t1.getText();
  339. String lengdeT = t2.getText();
  340. Double lengde = Double.parseDouble(lengdeT);
  341. String vektT = t3.getText();
  342. Double vekt = Double.parseDouble(vektT);
  343. String sted = t4.getText();
  344. String dato = t5.getText();
  345.  
  346. if(kjønn.equals("")){
  347. showMessageDialog(null,"Kjønn må fylles ut");
  348. t1.requestFocusInWindow();
  349.  
  350. }else if(kjønn.toUpperCase().charAt(0)!='M' && kjønn.toUpperCase().charAt(0)!='F'){
  351. showMessageDialog(null,"Du må skrive M(Male) eller F(Female) i feltet Kjønn");
  352. t1.requestFocusInWindow();
  353.  
  354. }else if(lengdeT.equals("")){
  355. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  356. t2.requestFocusInWindow();
  357.  
  358. }else if(lengde.isNaN()){
  359. showMessageDialog(null,"Lengde må være et tall");
  360. t2.requestFocusInWindow();
  361.  
  362. }else if(vektT.equals("")){
  363. showMessageDialog(null,"Lengde må fylles ut, kun tall");
  364. t4.requestFocusInWindow();
  365.  
  366. }else if(vekt.isNaN()){
  367. showMessageDialog(null,"Vekt må være et tall");
  368. t3.requestFocusInWindow();
  369.  
  370. }else if(sted.equals("")){
  371. showMessageDialog(null,"Sted må fylles ut");
  372. t4.requestFocusInWindow();
  373.  
  374. }else if(dato.equals("")){
  375. showMessageDialog(null,"Dato må fylles ut");
  376. t5.requestFocusInWindow();
  377. }else{
  378.  
  379. DatabaseKontroll db = new DatabaseKontroll("root","",k);
  380. db.RegistrerNyGaupe(kjønn,lengde,vekt,sted,dato);
  381.  
  382.  
  383.  
  384. showMessageDialog(null,"Ok trykket. Ny gaupe registrert");
  385. setVisible(false);
  386. }
  387.  
  388. }//If
  389. }//Metode actionPerformed
  390. }//Klassen KnappelytterDialog
  391.  
  392. public boolean visDialog(){
  393. setVisible(true);
  394. return ok;
  395. }
  396.  
  397.  
  398. private class GaupePanel extends JPanel {
  399.  
  400. public GaupePanel() {
  401.  
  402. setLayout(new GridLayout(6,2));
  403.  
  404. p1 = new JPanel();
  405. add(p1);
  406. l1 = new JLabel("Kjønn: ");
  407. p1.add(l1);
  408. t1 = new JTextField(10);
  409. p1.add(t1);
  410.  
  411.  
  412.  
  413. p2 = new JPanel();
  414. add(p2);
  415. l2 = new JLabel("Lengde: ");
  416. p2.add(l2);
  417. t2 = new JTextField(10);
  418. p2.add(t2);
  419.  
  420. p3 = new JPanel();
  421. add(p3);
  422. l3 = new JLabel("Vekt: ");
  423. p3.add(l3);
  424. t3 = new JTextField(10);
  425. p3.add(t3);
  426.  
  427. p4 = new JPanel();
  428. add(p4);
  429. l4 = new JLabel("Sted: ");
  430. p4.add(l4);
  431. t4 = new JTextField(10);
  432. p4.add(t4);
  433.  
  434.  
  435. p5 = new JPanel();
  436. add(p5);
  437. l5 = new JLabel("Dato: ");
  438. p5.add(l5);
  439. t5 = new JTextField(10);
  440. p5.add(t5);
  441.  
  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.  
  453.  
  454. }//Public GaupePanel
  455.  
  456.  
  457.  
  458.  
  459. }//Klassen GaupePanel
  460. }//Klassen NyGaupeDialog
  461.  
  462. //----------------------SLUTT NY GAUPE DIALOG---------------------
  463.  
  464.  
  465.  
  466. //----------------------START GF GAUPE DIALOG---------------------
  467.  
  468. class GfGaupeDialog extends JDialog{
  469. Kontroll k;
  470. private boolean ok;
  471. KnappelytterDialog knappelytter = new KnappelytterDialog();
  472.  
  473.  
  474. JButton okKnapp, avbrytKnapp;
  475. JPanel p1,p2,p3,p4,p5,p6;
  476. JLabel l1,l2,l3,l4,l5;
  477. JTextField t1,t2,t3,t4,t5;
  478.  
  479.  
  480. public GfGaupeDialog(JFrame foreldre,Kontroll k){
  481. super(foreldre,"Registrer gjenfangst for gaupe",true);
  482. this.k =k;
  483. add(new JLabel("Tast inn nye opplysninger om gaupen: "),BorderLayout.NORTH);
  484. add(new GfGaupePanel(),BorderLayout.SOUTH);
  485. setLocationRelativeTo(null);
  486. //setSize(300,300);
  487. pack();
  488. }
  489.  
  490.  
  491. private class KnappelytterDialog implements ActionListener {
  492. public void actionPerformed(ActionEvent hendelse) {
  493. String kommando = hendelse.getActionCommand();
  494. DatabaseKontroll p = new DatabaseKontroll("root","",k);
  495. String idT = t1.getText();
  496. int id = Integer.parseInt(idT);
  497. String Dato = t2.getText();
  498. String Sted = t3.getText();
  499. String lengdeT = t4.getText();
  500. double lengde = Double.parseDouble(lengdeT);
  501. String vektT = t5.getText();
  502. double vekt = Double.parseDouble(vektT);
  503. ok = kommando.equals("OK");
  504. setVisible(false);
  505.  
  506. if(kommando.equals("OK")){
  507. p.Gaupegjennfangst(id, Dato, Sted, lengde, vekt);
  508. }
  509.  
  510. //GJENFANGST DATA FOR GAUPE__________________________________________--------------
  511. }
  512. }//Klassen KnappelytterDialog
  513.  
  514.  
  515. public boolean visDialog(){
  516. setVisible(true);
  517. return ok;
  518. }
  519.  
  520. private class GfGaupePanel extends JPanel {
  521.  
  522. public GfGaupePanel() {
  523.  
  524. setLayout(new GridLayout(6,2));
  525.  
  526. p1 = new JPanel();
  527. add(p1);
  528. l1 = new JLabel("Tast inn Id: ");
  529. p1.add(l1);
  530. t1 = new JTextField(10);
  531. p1.add(t1);
  532.  
  533.  
  534. p2 = new JPanel();
  535. add(p2);
  536. l2 = new JLabel("Dato: ");
  537. p2.add(l2);
  538. t2 = new JTextField(10);
  539. p2.add(t2);
  540.  
  541. p3 = new JPanel();
  542. add(p3);
  543. l3 = new JLabel("Sted: ");
  544. p3.add(l3);
  545. t3 = new JTextField(10);
  546. p3.add(t3);
  547.  
  548. p4 = new JPanel();
  549. add(p4);
  550. l4 = new JLabel("Lengde: ");
  551. p4.add(l4);
  552. t4 = new JTextField(10);
  553. p4.add(t4);
  554.  
  555.  
  556. p5 = new JPanel();
  557. add(p5);
  558. l5 = new JLabel("Vekt: ");
  559. p5.add(l5);
  560. t5 = new JTextField(10);
  561. p5.add(t5);
  562.  
  563.  
  564. p6 = new JPanel();
  565. add(p6);
  566. avbrytKnapp = new JButton("Avbryt");
  567. p6.add(avbrytKnapp);
  568. avbrytKnapp.addActionListener(knappelytter);
  569.  
  570. okKnapp = new JButton("OK");
  571. p6.add(okKnapp);
  572. okKnapp.addActionListener(knappelytter);
  573. }//Metode
  574. }//Klassen
  575. }//Klassen GfGaupeDialog
  576.  
  577. //----------------------SLUTT GF GAUPE DIALOG--------------------
  578.  
  579.  
  580.  
  581. //----------------------START GF HARE DIALOG---------------------
  582.  
  583. class GfHareDialog extends JDialog{
  584. Kontroll k;
  585. private boolean ok;
  586. KnappelytterDialog knappelytter = new KnappelytterDialog();
  587.  
  588.  
  589. JButton okKnapp, avbrytKnapp;
  590. JPanel p1,p2,p3,p4,p5,p6,p7;
  591. JLabel l1,l2,l3,l4,l5,l6;
  592. JTextField t1,t2,t3,t4,t5,t6;
  593.  
  594.  
  595. //Gaupe nygaupe = new Gaupe(kjønn,lengde,vekt,sted,dato);
  596. //kontroll.nyttDyr(nygaupe);
  597.  
  598.  
  599. public GfHareDialog(JFrame foreldre, Kontroll k){
  600. super(foreldre,"Registrer gjenfangst for hare",true);
  601. this.k = k;
  602. add(new JLabel("Tast inn nye opplysninger om haren: "),BorderLayout.NORTH);
  603. add(new GfHarePanel(),BorderLayout.SOUTH);
  604. setLocationRelativeTo(null);
  605. //setSize(300,300);
  606. pack();
  607. }
  608. private class KnappelytterDialog implements ActionListener {
  609. public void actionPerformed(ActionEvent hendelse) {
  610. String kommando = hendelse.getActionCommand();
  611. ok = kommando.equals("OK");
  612. setVisible(false);
  613.  
  614.  
  615. //GaupePanel g = new Gaupepanel();
  616. //1String kjønn = g.t1.getText();
  617. //lengdeT = t2.getText();
  618. //double lengde = Double.parseDouble(lengdeT);
  619. //vektT = t3.getText();
  620. //double vekt = Double.parseDouble(vektT);
  621. //dato = t4.getText();
  622. //dato = t5.getText();
  623. }
  624. }//Klassen KnappelytterDialog
  625.  
  626.  
  627. public boolean visDialog(){
  628. setVisible(true);
  629. return ok;
  630. }
  631.  
  632.  
  633.  
  634.  
  635. private class GfHarePanel extends JPanel {
  636.  
  637. public GfHarePanel() {
  638.  
  639. setLayout(new GridLayout(7,2));
  640.  
  641. p1 = new JPanel();
  642. add(p1);
  643. l1 = new JLabel("Tast inn Id: ");
  644. p1.add(l1);
  645. t1 = new JTextField(10);
  646. p1.add(t1);
  647. String kak = t1.getText();
  648.  
  649.  
  650. p2 = new JPanel();
  651. add(p2);
  652. l2 = new JLabel("Dato: ");
  653. p2.add(l2);
  654. t2 = new JTextField(10);
  655. p2.add(t2);
  656.  
  657. p3 = new JPanel();
  658. add(p3);
  659. l3 = new JLabel("Sted: ");
  660. p3.add(l3);
  661. t3 = new JTextField(10);
  662. p3.add(t3);
  663.  
  664. p4 = new JPanel();
  665. add(p4);
  666. l4 = new JLabel("Lengde: ");
  667. p4.add(l4);
  668. t4 = new JTextField(10);
  669. p4.add(t4);
  670.  
  671.  
  672. p5 = new JPanel();
  673. add(p5);
  674. l5 = new JLabel("Vekt: ");
  675. p5.add(l5);
  676. t5 = new JTextField(10);
  677. p5.add(t5);
  678.  
  679.  
  680.  
  681. p6 = new JPanel();
  682. add(p6);
  683. l6 = new JLabel("Vekt: ");
  684. p6.add(l6);
  685. t6 = new JTextField(10);
  686. p6.add(t6);
  687.  
  688.  
  689. p7 = new JPanel();
  690. add(p7);
  691. avbrytKnapp = new JButton("Avbryt");
  692. p7.add(avbrytKnapp);
  693. avbrytKnapp.addActionListener(knappelytter);
  694.  
  695. okKnapp = new JButton("OK");
  696. p7.add(okKnapp);
  697. okKnapp.addActionListener(knappelytter);
  698. }//Metode
  699.  
  700. }//Klassen
  701. }//Klassen GfHareDialog
  702.  
  703. //----------------------SLUTT GF HARE DIALOG---------------------
  704.  
  705.  
  706.  
  707. //----------------------START UTSKRIFT DIALOG---------------------
  708.  
  709. class UtskriftDialog extends JDialog{
  710. Kontroll k;
  711. private boolean ok;
  712.  
  713. public UtskriftDialog(JFrame foreldre,Kontroll k){
  714. super(foreldre,"Utskrift av dyr",true);
  715. this.k = k;
  716. add(new JLabel("Følgende dyr er registrert: "),BorderLayout.NORTH);
  717. add(new UtskriftPanel(k),BorderLayout.WEST);
  718. //setLocationRelativeTo(null);
  719. setSize(900,200);
  720. //pack();
  721. }
  722.  
  723.  
  724. private class KnappelytterDialog implements ActionListener {
  725. public void actionPerformed(ActionEvent hendelse) {
  726. String kommando = hendelse.getActionCommand();
  727. DatabaseKontroll db = new DatabaseKontroll("root","",k);
  728. ok = kommando.equals("OK");
  729. db.finnAlle();
  730. k.skrivDyr();
  731. setVisible(false);
  732. }
  733. }//Klassen KnappelytterDialog
  734.  
  735.  
  736.  
  737. public boolean visDialog(){
  738. setVisible(true);
  739. return ok;
  740. }
  741.  
  742.  
  743.  
  744. private class UtskriftPanel extends JPanel {
  745. Kontroll k;
  746.  
  747. public UtskriftPanel(Kontroll k) {
  748. this.k = k;
  749. KnappelytterDialog knappelytter = new KnappelytterDialog();
  750.  
  751. JPanel p1,p2;
  752. JTextArea info = new JTextArea(20,70);
  753. JButton okKnapp;
  754.  
  755. setLayout(new GridLayout(2,1));
  756.  
  757. info.setLineWrap(true);
  758. info.setWrapStyleWord(true);
  759. info.setEditable(false);
  760. info.setText("Kak");
  761. JScrollPane scroll = new JScrollPane(info);
  762. add(scroll);
  763.  
  764. p1 = new JPanel();
  765. add(p1);
  766. info = new JTextArea();
  767. p1.add(info);
  768.  
  769. p2 = new JPanel();
  770. add(p2);
  771.  
  772. okKnapp = new JButton("OK");
  773. p2.add(okKnapp);
  774. okKnapp.addActionListener(knappelytter);
  775.  
  776. }//Konstruktør
  777.  
  778.  
  779.  
  780. }//Klassen UtskriftPanel
  781.  
  782.  
  783. }//Klassen UtskriftDialog
  784.  
  785. //----------------------SLUTT UTSKRIFT DIALOG---------------------
  786.  
  787.  
  788.  
  789.  
  790.  
  791. class ForeldreVindu extends JFrame{
  792. Kontroll k = new Kontroll();
  793. private NyGaupeDialog nygaupeboks = new NyGaupeDialog(this,k);
  794. private NyHareDialog nyhareboks = new NyHareDialog(this,k);
  795. private GfGaupeDialog gfgaupeboks = new GfGaupeDialog(this,k);
  796. private GfHareDialog gfhareboks = new GfHareDialog(this,k);
  797. private UtskriftDialog utskriftboks = new UtskriftDialog(this,k);
  798.  
  799.  
  800. JPanel p1,p2;
  801. JButton b1,b2,b3,b4,b5;
  802. KnappeLytterForeldre knappelytter = new KnappeLytterForeldre();
  803.  
  804.  
  805.  
  806. public ForeldreVindu(){
  807. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  808.  
  809. setLayout(new GridLayout(2,1));
  810.  
  811. p1 = new JPanel();
  812. add(p1);
  813. p2 = new JPanel();
  814. add(p2);
  815. p1.setLayout(new GridLayout(1,5,5,5));
  816.  
  817. b1 = new JButton("Ny gaupe");
  818. p1.add(b1);
  819. b1.addActionListener(knappelytter);
  820.  
  821.  
  822. b2 = new JButton("Ny hare");
  823. p1.add(b2);
  824. b2.addActionListener(knappelytter);
  825.  
  826. b3 = new JButton("Gjenfangst hare");
  827. p1.add(b3);
  828. b3.addActionListener(knappelytter);
  829.  
  830. b4 = new JButton("Gjenfangst gaupe");
  831. p1.add(b4);
  832. b4.addActionListener(knappelytter);
  833.  
  834. b5 = new JButton("Utskrift");
  835. p1.add(b5);
  836. b5.addActionListener(knappelytter);
  837.  
  838. pack();
  839. }//PUBLIC ForeldreVindu
  840.  
  841.  
  842.  
  843.  
  844.  
  845. private class KnappeLytterForeldre implements ActionListener{
  846.  
  847.  
  848. public void actionPerformed(ActionEvent hendelse){
  849. String kommando = hendelse.getActionCommand();
  850.  
  851. if(kommando.equals("Ny gaupe")){
  852. if(nygaupeboks.visDialog()){
  853. // showMessageDialog(null,"Ok trykket. Ny gaupe registrert");
  854. // System.out.println("Ok trykket. Ny gaupe registrert");
  855. }else{
  856. System.out.println("Avbryt trykket.");
  857. }//else
  858. }//If
  859.  
  860.  
  861.  
  862. if(kommando.equals("Ny hare")){
  863. if(nyhareboks.visDialog()){
  864.  
  865. System.out.println("Ok trykket. Ny hare registrert");
  866. System.out.println("");
  867. }else{
  868. System.out.println("Avbryt trykket.");
  869. }//else
  870. }
  871.  
  872. if(kommando.equals("Gjenfangst gaupe")){
  873. if(gfgaupeboks.visDialog()){
  874. System.out.println("Ok trykket. Gjenfangst på gaupe registrert");
  875. System.out.println("");
  876. }else{
  877. System.out.println("Avbryt trykket.");
  878. }//else
  879. }//If
  880.  
  881. if(kommando.equals("Gjenfangst hare")){
  882. if(gfhareboks.visDialog()){
  883. System.out.println("Ok trykket. Gjenfangst hare registrert");
  884. System.out.println("");
  885. }else{
  886. System.out.println("Avbryt trykket.");
  887. }//else
  888. }//If
  889.  
  890. if(kommando.equals("Utskrift")){
  891. if(utskriftboks.visDialog()){
  892.  
  893.  
  894. System.out.println("Ok trykket. Utskrift ok");
  895.  
  896. System.out.println("");
  897. }else{
  898. System.out.println("Avbryt trykket.");
  899. }//else
  900. }//If
  901.  
  902. }//metode
  903. }//klassen KnappeLytterForeldre
  904.  
  905.  
  906.  
  907.  
  908. }//Klassen ForeldreVindu
  909.  
  910.  
  911.  
  912.  
  913. //------------------MAIN------------------------------------
  914.  
  915.  
  916. class DyreRegister extends JFrame{
  917. public static void main(String[] args) {
  918.  
  919. ForeldreVindu meny = new ForeldreVindu();
  920. meny.setSize(1000,300);
  921. meny.setLocationRelativeTo(null);
  922. meny.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  923. meny.setVisible(true);
  924.  
  925. }//Main
  926. } //Programklasse
  927. //}//KLASSEN GUI
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934. class Kontroll {
  935.  
  936. ArrayList <Dyr> dyreliste = new ArrayList <Dyr>();
  937. String FILNAVN = "dyr.txt";
  938. String FANGSTFIL = "fangster.txt";
  939.  
  940.  
  941. public void nyttDyr(Dyr dyret) {
  942. dyreliste.add(dyret);
  943. }
  944.  
  945.  
  946. public ArrayList hentListe() {
  947. return dyreliste;
  948. }
  949.  
  950.  
  951. public void skrivDyr() {
  952. ArrayList liste = hentListe();
  953. int teller = 0;
  954. while(teller < liste.size()) {
  955. Dyr dyret = (Dyr)liste.get(teller);
  956. System.out.println(dyret.toString());
  957. ArrayList fangster = dyret.hentFangster();
  958. int nyteller = 0;
  959. if(fangster.size() > 0) System.out.println("GJENFANGSTER: ");
  960. while(nyteller < fangster.size()) {
  961. Gjenfangst gfs = (Gjenfangst)fangster.get(nyteller);
  962. System.out.println(gfs.toString());
  963. nyteller++;
  964. } //indre løkke
  965. teller++;
  966. } //ytre løkke
  967. }
  968.  
  969.  
  970.  
  971.  
  972.  
  973. } //Klassen Kontroll
  974.  
  975. class Dyr {
  976. int id;
  977. String dslag;
  978. String kjønn;
  979. Double lengde;
  980. Double vekt;
  981. String fangststed;
  982. String dato;
  983. ArrayList <Gjenfangst>gjenfangster = new ArrayList<Gjenfangst>();
  984.  
  985. public Dyr(int i, String ds, String k, double l, double v, String s, String d) {
  986. id = i;
  987. dslag = ds;
  988. kjønn = k;
  989. lengde = l;
  990. vekt = v;
  991. fangststed = s;
  992. dato = d;
  993. } //Konstruktør
  994.  
  995. public ArrayList hentFangster() {
  996. return gjenfangster;
  997. }
  998.  
  999. public int hentId(){
  1000. return id;
  1001. }
  1002. public String hentDslag(){
  1003. return dslag;
  1004. }
  1005.  
  1006. public String hentKjønn() {
  1007. return kjønn;
  1008. }
  1009.  
  1010. public double hentLengde() {
  1011. return lengde;
  1012. }
  1013.  
  1014. public double hentVekt() {
  1015. return vekt;
  1016. }
  1017.  
  1018. public String hentSted() {
  1019. return fangststed;
  1020. }
  1021.  
  1022. public String hentDato() {
  1023. return dato;
  1024. }
  1025.  
  1026. public void regGjenfangst(Gjenfangst g) {
  1027. gjenfangster.add(g);
  1028. }
  1029.  
  1030. public String hentData(){
  1031. return id+ "," +dslag+ "," +kjønn+ "," +lengde+ "," +vekt+ "," +fangststed+ "," +dato;
  1032. }
  1033.  
  1034. public String toString() {
  1035. return "Id : "+id+" Dyreslag: "+dslag+" Kjønn: "+kjønn+" Lengde: "+lengde+" Vekt: "+vekt+" Fangststed: "+fangststed+" Dato: "+dato;
  1036. }
  1037.  
  1038.  
  1039. } //Klassen Dyr
  1040.  
  1041. class Gaupe extends Dyr {
  1042.  
  1043. public Gaupe(int i, String ds, String k,double l,double v,String s,String d) {
  1044. super(i,ds,k,l,v,s,d);
  1045. } //Konstruktør
  1046.  
  1047.  
  1048.  
  1049. } //Klassen Gaupe
  1050.  
  1051. class Hare extends Dyr {
  1052. String type;
  1053. String farge;
  1054.  
  1055. public Hare(int i, String ds, String k,double l,double v,String s,String d,String t,String f) {
  1056. super(i,ds,k,l,v,s,d);
  1057. type = t;
  1058. farge = f;
  1059. } //Konstruktør
  1060.  
  1061. public String hentType() {
  1062. return type;
  1063. }
  1064.  
  1065. public String hentFarge() {
  1066. return farge;
  1067. }
  1068.  
  1069. public String hentData() {
  1070. return super.hentData()+","+type+","+farge;
  1071. } //metode
  1072.  
  1073. public String toString() {
  1074. return super.toString()+" Type: "+type+" Farge: "+farge;
  1075. }
  1076.  
  1077. } //Klassen Hare
  1078.  
  1079. class Gjenfangst {
  1080. String dato;
  1081. String gjenfangststed;
  1082. double lengde;
  1083. double vekt;
  1084.  
  1085. public Gjenfangst(String d,String gs,double l,double v) {
  1086. dato = d;
  1087. gjenfangststed = gs;
  1088. lengde = l;
  1089. vekt = v;
  1090. } //Konstruktør
  1091.  
  1092. public String hentDato() {
  1093. return dato;
  1094. }
  1095.  
  1096. public String hentSted() {
  1097. return gjenfangststed;
  1098. }
  1099. public double hentLengde() {
  1100. return lengde;
  1101. }
  1102.  
  1103. public double hentVekt() {
  1104. return vekt;
  1105. }
  1106.  
  1107. public String toString() {
  1108. return "Dato: "+dato+" Sted: "+gjenfangststed+" Lengde: "+lengde+" Vekt: "+vekt;
  1109. }
  1110.  
  1111. public String hentData() {
  1112. return dato+"/"+gjenfangststed+"/"+lengde+"/"+vekt;
  1113. }
  1114.  
  1115. } //Klassen Gjenfangst
  1116.  
  1117. class GaupeGjenfangst extends Gjenfangst {
  1118.  
  1119. public GaupeGjenfangst(String d,String gs,double l,double v) {
  1120. super(d,gs,l,v);
  1121. } //Konstruktør
  1122.  
  1123. } //Klassen GaupeGjenfangst
  1124.  
  1125. class HareGjenfangst extends Gjenfangst {
  1126. char farge;
  1127.  
  1128. public HareGjenfangst(String d,String gs,double l,double v,char f) {
  1129. super(d,gs,l,v);
  1130. farge = f;
  1131. } //Konstruktør
  1132.  
  1133. public String toString() {
  1134. return super.toString()+" farge: "+farge;
  1135. }
  1136.  
  1137. public String hentData() {
  1138. return super.hentData()+"/"+farge;
  1139. }
  1140.  
  1141. } //Klasse
  1142.  
  1143. /*class TekstGrensesnitt {
  1144.  
  1145. Kontroll kontroll = new Kontroll();
  1146. int antallgauper = 1;
  1147. int antallharer = 1;
  1148.  
  1149. public char menyvalg() {
  1150. System.out.println("******** DYREREGISTER ********");
  1151. System.out.println();
  1152. System.out.println("1: Registrere fangst");
  1153. System.out.println("2: Registrere gjenfangst");
  1154. System.out.println("3: Lese fra fil");
  1155. System.out.println("4: Lagre data");
  1156. System.out.println("5: Skrive ut alle dyr");
  1157. System.out.println("9: Avslutt");
  1158. System.out.println();
  1159. System.out.print("Skriv valg: ");
  1160. char valg = Terminal.lesChar();
  1161. return valg;
  1162. }
  1163.  
  1164. public void meny() {
  1165. boolean fortsett = true;
  1166. while(fortsett) {
  1167. System.out.println();
  1168. char valg = menyvalg();
  1169. switch(valg) {
  1170. case '1': regFangst();
  1171. break;
  1172. case '2': regGjenfangst();
  1173. break;
  1174. case '3': //lese();
  1175. break;
  1176. case '4': //lagre();
  1177. break;
  1178. case '5': skrivDyr();
  1179. break;
  1180. default: fortsett = false;
  1181. } //switch
  1182. } //while
  1183. } //metode
  1184.  
  1185. public void regFangst() {
  1186. System.out.println();
  1187. System.out.println("Velg dyreart:");
  1188. System.out.println("1: Gaupe");
  1189. System.out.println("2: Hare");
  1190. System.out.println();
  1191. System.out.print("Valgt dyreart: ");
  1192. char valg = Terminal.lesChar();
  1193. switch(valg) {
  1194. case '1': regGaupe();
  1195. break;
  1196. case '2': regHare();
  1197. break;
  1198. } //switch
  1199. } //metode
  1200.  
  1201. public void regGaupe() {
  1202. System.out.println();
  1203. System.out.println("REGISTRERING AV NY GAUPE");
  1204. System.out.println();
  1205. System.out.print("Dyrets kjønn: ");
  1206. char kjønn = Terminal.lesChar();
  1207. System.out.print("Dyrets lengde: ");
  1208. double lengde = Terminal.lesDouble();
  1209. System.out.print("Dyrets vekt: ");
  1210. double vekt = Terminal.lesDouble();
  1211. System.out.print("Fangststed: ");
  1212. String sted = Terminal.lesString();
  1213. System.out.print("Dato (DD.MM.YYYY): ");
  1214. String dato = Terminal.lesString();
  1215. int nr = antallgauper++;
  1216. String id = "G"+nr;
  1217. Gaupe nygaupe = new Gaupe(id,kjønn,lengde,vekt,sted,dato);
  1218. kontroll.nyttDyr(nygaupe);
  1219. } //metode
  1220.  
  1221. public void regHare() {
  1222. System.out.println();
  1223. System.out.println("REGISTRERING AV NY HARE");
  1224. System.out.println();
  1225. System.out.print("Dyrets kjønn: ");
  1226. char kjønn = Terminal.lesChar();
  1227. System.out.print("Dyrets lengde: ");
  1228. double lengde = Terminal.lesDouble();
  1229. System.out.print("Dyrets vekt: ");
  1230. double vekt = Terminal.lesDouble();
  1231. System.out.print("Type hare (v/s): ");
  1232. char type = Terminal.lesChar();
  1233. System.out.print("Farge (b/h): ");
  1234. char farge = Terminal.lesChar();
  1235. System.out.print("Fangststed: ");
  1236. String sted = Terminal.lesString();
  1237. System.out.print("Dato (DD.MM.YYYY): ");
  1238. String dato = Terminal.lesString();
  1239. int nr = antallharer++;
  1240. String id = "H"+nr;
  1241. Hare nyhare = new Hare(id,kjønn,lengde,vekt,sted,dato,type,farge);
  1242. kontroll.nyttDyr(nyhare);
  1243. }
  1244.  
  1245. public void regGjenfangst() {
  1246. System.out.println("******** REGISTRERING AV GJENFANGST ********");
  1247. System.out.println();
  1248. System.out.print("Dyrets id: ");
  1249. String id = Terminal.lesString();
  1250. Dyr dyret = kontroll.finnDyr(id);
  1251. if(dyret == null) System.out.println("Finner ikke dyret");
  1252. else {
  1253. char dyretype = id.charAt(0);
  1254. if(dyretype == 'H') {
  1255. HareGjenfangst hgf = lesHareGjenfangst();
  1256. dyret.regGjenfangst(hgf);
  1257. }
  1258. else {
  1259. GaupeGjenfangst ggf = lesGaupeGjenfangst();
  1260. dyret.regGjenfangst(ggf);
  1261. }
  1262. } //ytre else
  1263. } //metode
  1264.  
  1265. //public void lagre() {
  1266. // kontroll.lagreDyr();
  1267. //}
  1268.  
  1269. //public void lese() {
  1270. // kontroll.leseDyr();
  1271. //}
  1272.  
  1273. public void skrivDyr() {
  1274. ArrayList liste = kontroll.hentListe();
  1275. int teller = 0;
  1276. while(teller < liste.size()) {
  1277. Dyr dyret = (Dyr)liste.get(teller);
  1278. System.out.println(dyret.toString());
  1279. ArrayList fangster = dyret.hentFangster();
  1280. int nyteller = 0;
  1281. if(fangster.size() > 0) System.out.println("GJENFANGSTER: ");
  1282. while(nyteller < fangster.size()) {
  1283. Gjenfangst gfs = (Gjenfangst)fangster.get(nyteller);
  1284. System.out.println(gfs.toString());
  1285. nyteller++;
  1286. } //indre løkke
  1287. teller++;
  1288. } //ytre løkke
  1289. }
  1290.  
  1291. public HareGjenfangst lesHareGjenfangst() {
  1292. System.out.print("Dato (DD.MM.YYYY): ");
  1293. String dato = Terminal.lesString();
  1294. System.out.print("Fangststed: ");
  1295. String sted = Terminal.lesString();
  1296. System.out.print("Dyrets lengde: ");
  1297. double lengde = Terminal.lesDouble();
  1298. System.out.print("Dyrets vekt: ");
  1299. double vekt = Terminal.lesDouble();
  1300. System.out.print("Dyrets farge: ");
  1301. char farge = Terminal.lesChar();
  1302. HareGjenfangst gjf = new HareGjenfangst(dato,sted,lengde,vekt,farge);
  1303. return gjf;
  1304. }
  1305.  
  1306. public GaupeGjenfangst lesGaupeGjenfangst() {
  1307. System.out.print("Dato (DD.MM.YYYY): ");
  1308. String dato = Terminal.lesString();
  1309. System.out.print("Fangststed: ");
  1310. String sted = Terminal.lesString();
  1311. System.out.print("Dyrets lengde: ");
  1312. double lengde = Terminal.lesDouble();
  1313. System.out.print("Dyrets vekt: ");
  1314. double vekt = Terminal.lesDouble();
  1315. GaupeGjenfangst gjf = new GaupeGjenfangst(dato,sted,lengde,vekt);
  1316. return gjf;
  1317. }
  1318.  
  1319.  
  1320. } //Klassen TekstGrensesnitt
  1321. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement