Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.allemandword;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import javax.imageio.ImageIO;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- public class Fenetre extends JFrame {
- private JTextField jtf = new JTextField();
- private JTextField jtf2 = new JTextField();
- private JButton bouton = new JButton();
- private JLabel jlabel = new JLabel("");
- private JLabel sequenceLabel = new JLabel("Séquence (laissez blanc pour nouvelle séquence) : ");
- private JLabel motEnAllemand = new JLabel(" Mot en allemand : ");
- private JLabel motEnFrancais = new JLabel(" Traduction en français : ");
- private JLabel erreur = new JLabel();
- private JTextField sequenceJTF = new JTextField();
- public Fenetre(){
- this.setTitle("Vocabulaire d'allemand v2");
- try {
- String imagePath = "/allemandword.png";
- InputStream imgStream = this.getClass().getResourceAsStream(imagePath);
- BufferedImage myImg;
- myImg = ImageIO.read(imgStream);
- this.setIconImage(myImg);
- } catch (IOException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- }
- this.setSize(350, 250);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setLocationRelativeTo(null);
- this.setResizable(false);
- JPanel top = new JPanel();
- Font police = new Font("Arial", Font.PLAIN, 14);
- jtf.setFont(police);
- jtf.setPreferredSize(new Dimension(150, 30));
- jtf.addKeyListener(new jtfListener());
- jtf2.setFont(police);
- jtf2.setPreferredSize(new Dimension(150, 30));
- jtf2.addKeyListener(new jtf2Listener());
- top.add(motEnAllemand);
- top.add(jtf);
- top.add(motEnFrancais);
- top.add(jtf2);
- bouton.setPreferredSize(new Dimension(200,30));
- bouton.setText("Générer le document Word");
- bouton.addActionListener(new BoutonListener());
- bouton.setEnabled(false);
- jlabel.setPreferredSize(new Dimension(200,15));
- top.add(jlabel);
- top.add(sequenceLabel);
- sequenceJTF.setPreferredSize(new Dimension(20,20));
- top.add(sequenceJTF);
- top.add(bouton);
- erreur.setPreferredSize(new Dimension(200,15));
- top.add(erreur);
- this.setContentPane(top);
- this.setVisible(true);
- }
- class jtfListener implements KeyListener {
- public void keyPressed(KeyEvent event) {
- if (event.getKeyCode() == 10 && !jtf.getText().equals("")) {
- System.out.println("Mot allemand entré : " + jtf.getText());
- jtf2.requestFocus();
- }
- }
- public void keyReleased(KeyEvent event) {}
- public void keyTyped(KeyEvent event) {}
- }
- class jtf2Listener implements KeyListener {
- public void keyPressed(KeyEvent event) {
- if (event.getKeyCode() == 10 && !jtf2.getText().equals("") && !jtf.getText().equals("")) {
- AllemandWord.currentGermanWord = jtf.getText();
- AllemandWord.currentFrenchWord = jtf2.getText();
- System.out.println("Mot allemand entré : \"" + AllemandWord.currentGermanWord + "\"");
- //enlève les espaces avant et après le mot
- Pattern pattern = Pattern.compile("(^ +)|( +$)");
- Matcher matcher = pattern.matcher(AllemandWord.currentGermanWord);
- AllemandWord.currentGermanWord = matcher.replaceAll("");
- //enlève les double espaces
- Pattern pattern2 = Pattern.compile(" +");
- Matcher matcher2 = pattern2.matcher(AllemandWord.currentGermanWord);
- AllemandWord.currentGermanWord = matcher2.replaceAll(" ");
- System.out.println("Mot allemand entré, sans espaces : \"" + AllemandWord.currentGermanWord + "\"");
- //Mettre une majuscule au début du string
- char[] placeholderChars = AllemandWord.currentGermanWord.toCharArray();
- placeholderChars[0] = Character.toUpperCase(placeholderChars[0]);
- AllemandWord.currentGermanWord = String.valueOf(placeholderChars);
- System.out.println("Mot allemand entré avec majuscule: \"" + AllemandWord.currentGermanWord + "\"");
- // Si le mot allemand est un nom, mettre une majuscule
- if (AllemandWord.currentGermanWord.startsWith("Der ") ||
- AllemandWord.currentGermanWord.startsWith("Das ") ||
- AllemandWord.currentGermanWord.startsWith("Die ")) {
- char[] placeholderChars2 = AllemandWord.currentGermanWord.toCharArray();
- placeholderChars2[4] = Character.toUpperCase(placeholderChars2[4]);
- AllemandWord.currentGermanWord = String.valueOf(placeholderChars2);
- }
- System.out.println("Mot allemand entré avec majuscule au mot : \"" + AllemandWord.currentGermanWord + "\"");
- AllemandWord.listOfGermanWords.add(AllemandWord.currentGermanWord);
- //enlève les espaces avant et après le mot
- Pattern pattern3 = Pattern.compile("(^ +)|( +$)");
- Matcher matcher3 = pattern3.matcher(AllemandWord.currentFrenchWord);
- AllemandWord.currentFrenchWord = matcher3.replaceAll("");
- //enlève les double espaces
- Pattern pattern4 = Pattern.compile(" +");
- Matcher matcher4 = pattern4.matcher(AllemandWord.currentFrenchWord);
- AllemandWord.currentFrenchWord = matcher4.replaceAll(" ");
- //Mettre une majuscule au début du string
- char[] placeholderChars3 = AllemandWord.currentFrenchWord.toCharArray();
- placeholderChars3[0] = Character.toUpperCase(placeholderChars3[0]);
- AllemandWord.currentFrenchWord = String.valueOf(placeholderChars3);
- AllemandWord.listOfFrenchWords.add(AllemandWord.currentFrenchWord);
- jtf.setText("");
- jtf2.setText("");
- jtf.requestFocus();
- bouton.setEnabled(true);
- }
- }
- public void keyReleased(KeyEvent event) {}
- public void keyTyped(KeyEvent event) {}
- }
- class BoutonListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- System.out.println("Creation du document word");
- String str = sequenceJTF.getText();
- Pattern pattern = Pattern.compile(" ");
- Matcher matcher = pattern.matcher(str);
- str = matcher.replaceAll("");
- try {
- AllemandWord.sequence = Integer.parseInt(str);
- } catch (NumberFormatException e1) {
- System.out.println("Aucune séquence entrée");
- System.out.println("séquence = \"" + str + "\"");
- AllemandWord.sequence = 1;
- while (new File(System.getProperty("user.home") + "/Allemand vocab/" + "AllemandVocab"
- + String.valueOf(AllemandWord.sequence)).exists()) {
- AllemandWord.sequence++;
- }
- }
- AllemandWord.sortWords();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement