Edit interface Raccourcis claviers + refactor de code

This commit is contained in:
LucasV-IUT
2022-03-06 17:41:26 +01:00
parent 07bf18ff33
commit 6e0da3e290
26 changed files with 330 additions and 241 deletions
@@ -6,12 +6,11 @@
package lecteur_pdf.raccourcisClavier;
import org.w3c.dom.Text;
import lecteur_pdf.menuBar.menuItems.MenuItem;
import javax.swing.*;
import java.awt.*;
import java.awt.event.InputEvent;
import java.io.Serializable;
import java.awt.event.KeyEvent;
import java.util.HashMap;
import java.util.Map;
@@ -25,23 +24,66 @@ import java.util.Map;
*/
public class RaccourcisClavier extends JFrame {
public static Map<String, KeyStroke> raccourcis = new HashMap<>();
public static Map<String, JMenuItem> listeItem = new HashMap<>();
public static Map<JMenuItem, String> gestionnaireRaccourcis
= new HashMap<>();
public final String[][] RACCOURCIS = {
{"Ouvrir", "o",},
{"Fermer", "f",},
{"Quitter", "x",},
{"Mode Plein Ecran", "p",},
{"Page Prédédente", "m",},
{"Page Suivante", "l",},
{"Zoom 50%", "&",},
{"Zoom 100%", "é",},
{"Zoom 150%", "\"",},
{"Page Entière", "a",},
{"Pleine Largeur", "z",},
{"Nouvelle Fenêtre", "n",},
// { "Mode Séparé",},
// { "Mode Synchronisé",},
{"Modifier Touches", "!",}
};
public RaccourcisClavier() {
super("Modification des raccourcis claviers");
JPanel panel = new JPanel();
for (String nomOptions : raccourcis.keySet()) {
panel.add(new ligneRaccourci(nomOptions,
(char) raccourcis.get(nomOptions)
.getKeyCode()));
JPanel panel = new JPanel(new GridLayout(RACCOURCIS.length, 1, 10, 5));
System.out.println(listeItem);
for (int i = 0; i < listeItem.size(); i++) {
RaccourcisElement raccourcisElement = new RaccourcisElement(RACCOURCIS[i][0], listeItem.get(RACCOURCIS[i][0]));
// Si l'actions n'as pas de raccourcis, mettre celui par défaut
// try {
// listeItem.get(RACCOURCIS[i][0]).getAccelerator();
// } catch (NullPointerException e) {
// listeItem.get(RACCOURCIS[i][0]).setAccelerator(KeyStroke.getKeyStroke(RACCOURCIS[i][1].charAt(0), KeyEvent.CTRL_DOWN_MASK));
// }
panel.add(raccourcisElement);
}
add(panel);
add(new JScrollPane(panel));
// JPanel panel = new JPanel();
// for (String nomOptions : raccourcis.keySet()) {
// panel.add(new ligneRaccourci(nomOptions,
// (char) raccourcis.get(nomOptions)
// .getKeyCode()));
// }
// add(panel);
pack();
setSize(200, 400);
setResizable(false);
setMinimumSize(new Dimension(400, 200));
// setSize(200, 400);
// setResizable(false);
setVisible(true);
}
private void chargerRaccourcisDefaut() {
}
private void chargerRaccourcis() {
}
}
@@ -0,0 +1,58 @@
package lecteur_pdf.raccourcisClavier;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
public class RaccourcisElement extends JPanel {
JLabel nomElement;
JButton btnRaccourcis;
KeyEvent raccourcis;
JMenuItem menuItem;
public RaccourcisElement(String nom, JMenuItem menuItem) {
super(new GridLayout(1, 2));
nomElement = new JLabel(nom);
this.menuItem = menuItem;
btnRaccourcis = new JButton();
add(nomElement);
add(btnRaccourcis);
btnRaccourcis.addActionListener(this::action);
// this.setVisible(false);
}
public void action(ActionEvent evt) {
// TODO ecoute la frappe de clavier et change le raccourcis
// KeyListener kl = new KeyListener() {
// @Override
// public void keyTyped(KeyEvent e) {}
//
// @Override
// public void keyPressed(KeyEvent e) {
// setCaractereRaccourcis(e.getKeyChar());
// }
//
// @Override
// public void keyReleased(KeyEvent e) {}
// };
// addKeyListener(kl);
// removeKeyListener(kl);
// btnRaccourcis.setText(String.valueOf(caractereRaccourcis));
// }
//
// public void setMenuItem(JMenuItem menuItem) {
// this.menuItem = menuItem;
// this.setVisible(true);
// }
//
// public void setCaractereRaccourcis(char caractereRaccourcis) {
// this.caractereRaccourcis = caractereRaccourcis;
// menuItem.setAccelerator(KeyStroke.getKeyStroke(caractereRaccourcis, KeyEvent.CTRL_DOWN_MASK));
}
}
@@ -12,34 +12,34 @@ import java.awt.event.ActionListener;
import java.util.Locale;
import java.util.Scanner;
/**
* TODO class comment
*/
public class ligneRaccourci extends JPanel implements ActionListener {
private JLabel raccourciLabel;
private JPanel optionsRaccourcis;
private JButton inputButton;
Scanner entree = new Scanner(System.in);
public ligneRaccourci(String labelName, char raccourcis) {
raccourciLabel.setText(labelName);
inputButton.setText(String.valueOf(raccourcis));
add(optionsRaccourcis);
inputButton.addActionListener(this);
}
public JLabel getRaccourciLabel() {
return raccourciLabel;
}
public JButton getInputButton() {
return inputButton;
}
@Override
public void actionPerformed(ActionEvent e) {
inputButton.setText(
String.valueOf(entree.next().charAt(0)).toUpperCase(Locale.ROOT));
}
}
///**
// * TODO class comment
// */
//public class ligneRaccourci extends JPanel implements ActionListener {
// private JLabel raccourciLabel;
// private JPanel optionsRaccourcis;
// private JButton inputButton;
//
// Scanner entree = new Scanner(System.in);
//
// public ligneRaccourci(String labelName, char raccourcis) {
// raccourciLabel.setText(labelName);
// inputButton.setText(String.valueOf(raccourcis));
// add(optionsRaccourcis);
// inputButton.addActionListener(this);
// }
//
// public JLabel getRaccourciLabel() {
// return raccourciLabel;
// }
//
// public JButton getInputButton() {
// return inputButton;
// }
//
// @Override
// public void actionPerformed(ActionEvent e) {
// inputButton.setText(
// String.valueOf(entree.next().charAt(0)).toUpperCase(Locale.ROOT));
// }
//}