Advertisement
Guest User

Untitled

a guest
Mar 5th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.75 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package omtenta.ik1004;
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.BufferedWriter;
  10. import java.io.File;
  11. import java.io.FileReader;
  12. import java.io.IOException;
  13. import java.nio.charset.StandardCharsets;
  14. import java.nio.file.Files;
  15. import java.nio.file.Paths;
  16. import java.nio.file.StandardOpenOption;
  17. import java.sql.Connection;
  18. import java.sql.DriverManager;
  19. import java.sql.PreparedStatement;
  20. import java.sql.ResultSet;
  21. import java.sql.SQLException;
  22. import java.sql.Statement;
  23. import java.text.DateFormat;
  24. import java.text.SimpleDateFormat;
  25. import java.util.ArrayList;
  26. import java.util.Calendar;
  27. import java.util.List;
  28. import javafx.collections.FXCollections;
  29. import javafx.collections.ObservableList;
  30. import javafx.geometry.Insets;
  31. import javafx.scene.control.Button;
  32. import javafx.scene.control.Label;
  33. import javafx.scene.control.Menu;
  34. import javafx.scene.control.MenuBar;
  35. import javafx.scene.control.MenuItem;
  36. import javafx.scene.control.TableView;
  37. import javafx.scene.control.TextArea;
  38. import javafx.scene.image.Image;
  39. import javafx.scene.image.ImageView;
  40. import javafx.scene.layout.BorderPane;
  41. import javafx.scene.layout.GridPane;
  42. import javafx.scene.layout.HBox;
  43. import javafx.scene.layout.VBox;
  44.  
  45. /**
  46. *
  47. * @author h15andma
  48. */
  49. public class ServicePane extends BorderPane {
  50.  
  51. private Connection con;
  52. Image surImage;
  53. Image gladImage;
  54. Image neutralImage;
  55. ImageView imageView = new ImageView();
  56. private ObservableList<betyg> obsListBetyg = FXCollections.observableArrayList(getBetygen());
  57. Label surCount;
  58. Label neutralCount;
  59. Label gladCount;
  60. private TableView<betyg> tableView;
  61. int surCounter = 0;
  62. int neutralCounter = 0;
  63. int gladCounter = 0;
  64. TextArea tArea = new TextArea();
  65.  
  66. private String[] betygColumns = {"sur", "varken", "glad"};
  67. private String[] betygProperties = {"sur", "varken", "glad"};
  68.  
  69. public ServicePane() {
  70.  
  71. surImage = new Image("file:sur.png", 50, 50, false, false);
  72. gladImage = new Image("file:glad.jpg", 50, 50, false, false);
  73. neutralImage = new Image("file:neutral.png", 50, 50, false, false);
  74.  
  75. setTop(getVboxMenu());
  76. setCenter(getCenterPane());
  77. setBottom(getBottomTableView());
  78. }
  79.  
  80. private GridPane getCenterPane() {
  81. GridPane gp = new GridPane();
  82. HBox hbox = new HBox(70);
  83. HBox labelBox = new HBox(150);
  84.  
  85. gp.setPadding(new Insets(10, 10, 10, 10));
  86. hbox.setPadding(new Insets(10, 10, 10, 10));
  87. labelBox.setPadding(new Insets(10,10,10,10));
  88.  
  89.  
  90. Button sur = new Button();
  91. sur.setOnAction(e -> addSurCount());
  92. sur.setGraphic(new ImageView(surImage));
  93. surCount = new Label(String.valueOf(surCounter));
  94.  
  95. Button neutral = new Button();
  96. neutral.setOnAction(e -> addNeutralCount());
  97. neutral.setGraphic(new ImageView(neutralImage));
  98. neutralCount = new Label(String.valueOf(neutralCounter));
  99.  
  100. Button glad = new Button();
  101. glad.setOnAction(e -> addGladCount());
  102. glad.setGraphic(new ImageView(gladImage));
  103. gladCount = new Label(String.valueOf(gladCounter));
  104.  
  105. hbox.getChildren().addAll(sur, neutral, glad);
  106. labelBox.getChildren().addAll(surCount, neutralCount, gladCount);
  107.  
  108. gp.add(labelBox,0, 2);
  109. gp.add(hbox, 0, 1);
  110.  
  111. return gp;
  112. }
  113.  
  114. private VBox getVboxMenu() {
  115. VBox topContainer = new VBox();
  116. MenuBar mainMenu = new MenuBar();
  117. topContainer.getChildren().add(mainMenu);
  118.  
  119. Menu file = new Menu("Arkiv");
  120. MenuItem spara = new MenuItem("Spara till textfil");
  121. spara.setOnAction(e -> sparaTillText());
  122. MenuItem visa = new MenuItem("Visa textfil");
  123. visa.setOnAction(e -> visaText());
  124.  
  125. file.getItems().addAll(spara, visa);
  126. mainMenu.getMenus().add(file);
  127.  
  128. return topContainer;
  129. }
  130.  
  131. public List getBetygen() {
  132. List betygish = new ArrayList();
  133. int sCount = surCounter;
  134. int nCount = neutralCounter;
  135. int gCount = gladCounter;
  136.  
  137. betygish.add(new betyg(sCount, nCount, gCount));
  138.  
  139. return betygish;
  140. }
  141.  
  142. public List<betyg> getBetyg() {
  143. List<betyg> betygen = new ArrayList();
  144. try {
  145. Connection con = getConnection();
  146. Statement stmt = con.createStatement();
  147. String sql = "SELECT sur, varken, glad from h15andma_service";
  148.  
  149. ResultSet rs = stmt.executeQuery(sql);
  150.  
  151. while (rs.next()) {
  152. int surCount = rs.getInt("sur");
  153. int neutralCount = rs.getInt("varken");
  154. int gladCount = rs.getInt("glad");
  155.  
  156. betygen.add(new betyg(surCount, neutralCount, gladCount));
  157. }
  158. rs.close();
  159. stmt.close();
  160. con.close();
  161. return betygen;
  162. } catch (SQLException ex) {
  163. System.out.println(ServicePane.class.getName() + ex.getMessage());
  164. }
  165. return null;
  166. }
  167.  
  168. private Connection getConnection() {
  169. try {
  170. con = DriverManager.getConnection(
  171. "jdbc:mysql://utb-mysql.du.se:3306/db30",
  172. "db30",
  173. "FJJAcyMU");
  174. return con;
  175. } catch (SQLException ex) {
  176. System.out.println(ServicePane.class.getName() + ex.getMessage());
  177. }
  178. return null;
  179. }
  180.  
  181. public GridPane getBottomTableView() {
  182. GridPane bottomPane = new GridPane();
  183. HBox hbox = new HBox();
  184. hbox.setPadding(new Insets(10, 10, 10, 10));
  185.  
  186. tArea.setText("");
  187.  
  188. hbox.getChildren().add(tArea);
  189. bottomPane.add(hbox, 0, 1);
  190.  
  191. return bottomPane;
  192. }
  193.  
  194. public void addSurCount() {
  195. surCounter++;
  196. System.out.println(surCounter);
  197. surCount.setText(String.valueOf(surCounter));
  198.  
  199. try {
  200. con = getConnection();
  201. String updateSur = "UPDATE h15andma_service SET sur=? WHERE `h15andma_service`.`sur`=?";
  202. PreparedStatement preparedStatement = con.prepareStatement(updateSur);
  203. preparedStatement.setInt(1, surCounter);
  204. preparedStatement.setInt(2, surCounter - 1);
  205.  
  206. preparedStatement.executeUpdate();
  207. preparedStatement.close();
  208. con.close();
  209. } catch (SQLException ex) {
  210. System.out.println(ServicePane.class.getName() + ex.getMessage());
  211. }
  212.  
  213. }
  214.  
  215. public void addNeutralCount() {
  216. neutralCounter++;
  217. System.out.println(neutralCounter);
  218. neutralCount.setText(String.valueOf(neutralCounter));
  219.  
  220. try {
  221. con = getConnection();
  222. String updateNeutral = "UPDATE h15andma_service SET varken=? WHERE `h15andma_service`.`varken` =?";
  223. PreparedStatement preparedStatement = con.prepareStatement(updateNeutral);
  224. preparedStatement.setInt(1, neutralCounter);
  225. preparedStatement.setInt(2, neutralCounter - 1);
  226.  
  227. preparedStatement.executeUpdate();
  228. preparedStatement.close();
  229. con.close();
  230. } catch (SQLException ex) {
  231. System.out.println(ServicePane.class.getName() + ex.getMessage());
  232. }
  233.  
  234. }
  235.  
  236. public void addGladCount() {
  237. gladCounter++;
  238. System.out.println(gladCounter);
  239. gladCount.setText(String.valueOf(gladCounter));
  240.  
  241. try {
  242. con = getConnection();
  243. String updateGlad = "UPDATE h15andma_service SET glad=? WHERE `h15andma_service`.`glad` =?";
  244. PreparedStatement preparedStatement = con.prepareStatement(updateGlad);
  245. preparedStatement.setInt(1, gladCounter);
  246. preparedStatement.setInt(2, gladCounter - 1);
  247.  
  248. preparedStatement.executeUpdate();
  249. preparedStatement.close();
  250. con.close();
  251. } catch (SQLException ex) {
  252. System.out.println(ServicePane.class.getName() + ex.getMessage());
  253. }
  254. }
  255.  
  256. public void sparaTillText() {
  257. DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
  258. Calendar cal = Calendar.getInstance();
  259.  
  260. try {
  261. BufferedWriter writer = null;
  262.  
  263. writer = Files.newBufferedWriter(Paths.get("betyg.txt"), StandardCharsets.UTF_8, StandardOpenOption.APPEND);
  264.  
  265. writer.write(dateFormat.format(cal.getTime()) + "," + surCounter + "," + neutralCounter + "," + gladCounter);
  266. writer.newLine();
  267. writer.close();
  268. } catch (IOException ex) {
  269. System.out.println(ServicePane.class.getName() + ex.getMessage());
  270. }
  271. }
  272.  
  273. public void visaText() {
  274. try{
  275. File file = new File("betyg.txt");
  276. BufferedReader rd = new BufferedReader(new FileReader(file));
  277. String line;
  278. while ((line = rd.readLine()) != null)
  279. tArea.appendText(line + "\n");
  280. rd.close();
  281. }catch(IOException ex) {
  282. System.out.println(ServicePane.class.getName() + ex.getMessage());
  283. }
  284.  
  285.  
  286. }
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293. private BufferedReader getReader() {
  294. try {
  295. BufferedReader reader = null;
  296.  
  297. reader = Files.newBufferedReader(Paths.get("filmer.txt"), StandardCharsets.UTF_8);
  298.  
  299. return reader;
  300. }catch (IOException ex) {
  301. System.out.println(ServicePane.class.getName() + ex.getMessage());
  302. }
  303. return null;
  304.  
  305. }
  306.  
  307.  
  308.  
  309. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement