Advertisement
Guest User

Untitled

a guest
Mar 4th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.43 KB | None | 0 0
  1. package com.allemandword;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.Font;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.KeyEvent;
  8. import java.awt.event.KeyListener;
  9. import java.awt.image.BufferedImage;
  10. import java.io.File;
  11. import java.io.IOException;
  12. import java.io.InputStream;
  13. import java.util.regex.Matcher;
  14. import java.util.regex.Pattern;
  15.  
  16. import javax.imageio.ImageIO;
  17. import javax.swing.JButton;
  18. import javax.swing.JFrame;
  19. import javax.swing.JLabel;
  20. import javax.swing.JPanel;
  21. import javax.swing.JTextField;
  22.  
  23. public class Fenetre extends JFrame {
  24. private JTextField jtf = new JTextField();
  25. private JTextField jtf2 = new JTextField();
  26. private JButton bouton = new JButton();
  27. private JLabel jlabel = new JLabel("");
  28. private JLabel sequenceLabel = new JLabel("Séquence (laissez blanc pour nouvelle séquence) : ");
  29.  
  30. private JLabel motEnAllemand = new JLabel(" Mot en allemand : ");
  31. private JLabel motEnFrancais = new JLabel(" Traduction en français : ");
  32. private JLabel erreur = new JLabel();
  33. private JTextField sequenceJTF = new JTextField();
  34.  
  35.  
  36.  
  37. public Fenetre(){
  38. this.setTitle("Vocabulaire d'allemand v2");
  39. try {
  40. String imagePath = "/allemandword.png";
  41. InputStream imgStream = this.getClass().getResourceAsStream(imagePath);
  42. BufferedImage myImg;
  43. myImg = ImageIO.read(imgStream);
  44. this.setIconImage(myImg);
  45. } catch (IOException e) {
  46. e.printStackTrace();
  47. } catch (IllegalArgumentException e) {
  48. e.printStackTrace();
  49. }
  50. this.setSize(350, 250);
  51. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  52. this.setLocationRelativeTo(null);
  53. this.setResizable(false);
  54. JPanel top = new JPanel();
  55. Font police = new Font("Arial", Font.PLAIN, 14);
  56. jtf.setFont(police);
  57. jtf.setPreferredSize(new Dimension(150, 30));
  58. jtf.addKeyListener(new jtfListener());
  59. jtf2.setFont(police);
  60. jtf2.setPreferredSize(new Dimension(150, 30));
  61. jtf2.addKeyListener(new jtf2Listener());
  62. top.add(motEnAllemand);
  63. top.add(jtf);
  64. top.add(motEnFrancais);
  65. top.add(jtf2);
  66. bouton.setPreferredSize(new Dimension(200,30));
  67. bouton.setText("Générer le document Word");
  68. bouton.addActionListener(new BoutonListener());
  69. bouton.setEnabled(false);
  70. jlabel.setPreferredSize(new Dimension(200,15));
  71. top.add(jlabel);
  72. top.add(sequenceLabel);
  73. sequenceJTF.setPreferredSize(new Dimension(20,20));
  74. top.add(sequenceJTF);
  75. top.add(bouton);
  76. erreur.setPreferredSize(new Dimension(200,15));
  77. top.add(erreur);
  78. this.setContentPane(top);
  79. this.setVisible(true);
  80. }
  81.  
  82.  
  83. class jtfListener implements KeyListener {
  84.  
  85. public void keyPressed(KeyEvent event) {
  86. if (event.getKeyCode() == 10 && !jtf.getText().equals("")) {
  87. System.out.println("Mot allemand entré : " + jtf.getText());
  88. jtf2.requestFocus();
  89. }
  90. }
  91. public void keyReleased(KeyEvent event) {}
  92. public void keyTyped(KeyEvent event) {}
  93.  
  94. }
  95.  
  96. class jtf2Listener implements KeyListener {
  97.  
  98. public void keyPressed(KeyEvent event) {
  99. if (event.getKeyCode() == 10 && !jtf2.getText().equals("") && !jtf.getText().equals("")) {
  100. AllemandWord.currentGermanWord = jtf.getText();
  101. AllemandWord.currentFrenchWord = jtf2.getText();
  102. System.out.println("Mot allemand entré : \"" + AllemandWord.currentGermanWord + "\"");
  103.  
  104. //enlève les espaces avant et après le mot
  105. Pattern pattern = Pattern.compile("(^ +)|( +$)");
  106. Matcher matcher = pattern.matcher(AllemandWord.currentGermanWord);
  107. AllemandWord.currentGermanWord = matcher.replaceAll("");
  108.  
  109. //enlève les double espaces
  110. Pattern pattern2 = Pattern.compile(" +");
  111. Matcher matcher2 = pattern2.matcher(AllemandWord.currentGermanWord);
  112. AllemandWord.currentGermanWord = matcher2.replaceAll(" ");
  113.  
  114. System.out.println("Mot allemand entré, sans espaces : \"" + AllemandWord.currentGermanWord + "\"");
  115.  
  116. //Mettre une majuscule au début du string
  117. char[] placeholderChars = AllemandWord.currentGermanWord.toCharArray();
  118. placeholderChars[0] = Character.toUpperCase(placeholderChars[0]);
  119. AllemandWord.currentGermanWord = String.valueOf(placeholderChars);
  120. System.out.println("Mot allemand entré avec majuscule: \"" + AllemandWord.currentGermanWord + "\"");
  121.  
  122. // Si le mot allemand est un nom, mettre une majuscule
  123. if (AllemandWord.currentGermanWord.startsWith("Der ") ||
  124. AllemandWord.currentGermanWord.startsWith("Das ") ||
  125. AllemandWord.currentGermanWord.startsWith("Die ")) {
  126. char[] placeholderChars2 = AllemandWord.currentGermanWord.toCharArray();
  127. placeholderChars2[4] = Character.toUpperCase(placeholderChars2[4]);
  128. AllemandWord.currentGermanWord = String.valueOf(placeholderChars2);
  129. }
  130. System.out.println("Mot allemand entré avec majuscule au mot : \"" + AllemandWord.currentGermanWord + "\"");
  131.  
  132. AllemandWord.listOfGermanWords.add(AllemandWord.currentGermanWord);
  133.  
  134. //enlève les espaces avant et après le mot
  135. Pattern pattern3 = Pattern.compile("(^ +)|( +$)");
  136. Matcher matcher3 = pattern3.matcher(AllemandWord.currentFrenchWord);
  137. AllemandWord.currentFrenchWord = matcher3.replaceAll("");
  138.  
  139. //enlève les double espaces
  140. Pattern pattern4 = Pattern.compile(" +");
  141. Matcher matcher4 = pattern4.matcher(AllemandWord.currentFrenchWord);
  142. AllemandWord.currentFrenchWord = matcher4.replaceAll(" ");
  143.  
  144. //Mettre une majuscule au début du string
  145. char[] placeholderChars3 = AllemandWord.currentFrenchWord.toCharArray();
  146. placeholderChars3[0] = Character.toUpperCase(placeholderChars3[0]);
  147. AllemandWord.currentFrenchWord = String.valueOf(placeholderChars3);
  148.  
  149. AllemandWord.listOfFrenchWords.add(AllemandWord.currentFrenchWord);
  150.  
  151. jtf.setText("");
  152. jtf2.setText("");
  153. jtf.requestFocus();
  154. bouton.setEnabled(true);
  155. }
  156. }
  157. public void keyReleased(KeyEvent event) {}
  158. public void keyTyped(KeyEvent event) {}
  159.  
  160. }
  161.  
  162. class BoutonListener implements ActionListener {
  163.  
  164. public void actionPerformed(ActionEvent e) {
  165. System.out.println("Creation du document word");
  166. String str = sequenceJTF.getText();
  167. Pattern pattern = Pattern.compile(" ");
  168. Matcher matcher = pattern.matcher(str);
  169. str = matcher.replaceAll("");
  170. try {
  171. AllemandWord.sequence = Integer.parseInt(str);
  172. } catch (NumberFormatException e1) {
  173. System.out.println("Aucune séquence entrée");
  174. System.out.println("séquence = \"" + str + "\"");
  175. AllemandWord.sequence = 1;
  176. while (new File(System.getProperty("user.home") + "/Allemand vocab/" + "AllemandVocab"
  177. + String.valueOf(AllemandWord.sequence)).exists()) {
  178. AllemandWord.sequence++;
  179. }
  180. }
  181. AllemandWord.sortWords();
  182. }
  183. }
  184.  
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement