*** empty log message ***
[thera-pi-2.git] / Reha / src / systemTools / PassWort.java
blob5eb06ca0d8385d865777a6b942ebdeca54777844
1 package systemTools;
3 import hauptFenster.Reha;
5 import java.awt.BorderLayout;
6 import java.awt.Dimension;
7 import java.awt.FlowLayout;
8 import java.awt.GridBagConstraints;
9 import java.awt.GridLayout;
10 import java.awt.Insets;
11 import java.awt.event.ActionEvent;
12 import java.awt.event.ActionListener;
13 import java.awt.event.KeyEvent;
14 import java.awt.event.KeyListener;
16 import javax.swing.ImageIcon;
17 import javax.swing.JLabel;
18 import javax.swing.JOptionPane;
19 import javax.swing.JPasswordField;
20 import javax.swing.SwingUtilities;
22 import org.jdesktop.swingx.JXButton;
23 import org.jdesktop.swingx.JXHeader;
24 import org.jdesktop.swingx.JXPanel;
26 import terminKalender.ParameterLaden;
28 import com.sun.star.awt.KeyModifier;
30 import dialoge.RehaSmartDialog;
31 import events.RehaTPEvent;
32 import events.RehaTPEventClass;
34 public class PassWort extends JXPanel implements KeyListener, ActionListener{
36 /**
39 private static final long serialVersionUID = -702150863186759990L;
40 private JPasswordField pwTextFeld = null;
41 private JXButton pwButton = null;
42 private int falscherLogin = 0;
43 public static PassWort thisClass = null;
44 public PassWort(){
45 super();
46 Reha.progRechte = "";
47 setBorder(null);
48 thisClass = this;
49 setLayout(new BorderLayout());
50 String ss = Reha.proghome+"icons/schluessel3.gif";
51 JXHeader header = new JXHeader("Benutzer Authentifizierung",
52 "In diesem Fenster geben Sie Ihr persönliches Passwort ein.\n" +
53 "Abhängig vom Ihrem Passwort, haben Sie Zugang zu allen Programmteilen "+
54 "die für Sie persönlich freigeschaltet wurden.\n"+
55 "Noch kein Passwort? Dann geben Sie bitte das Universalpasswort ein. \n\n" +
56 "Hinweis--> Nach 3-maliger Falscheingabe wird der Administrator per Email über den fehlgeschlagenen Login-Versuch informiert.",
57 new ImageIcon(ss));
58 this.add(header,BorderLayout.NORTH);
61 //JXPanel jgrid = new JXPanel(new GridBagLayout());
62 JXPanel jgrid = new JXPanel(new GridLayout(4,1));
63 jgrid.setBorder(null);
64 //jgrid.setBackgroundPainter(Reha.RehaPainter[0]);
65 //jgrid.setAlpha(0.5f);
67 jgrid.add(new JLabel(""));
69 GridBagConstraints gridBagConstraints = new GridBagConstraints() ;
70 gridBagConstraints.gridx = 0;
71 gridBagConstraints.anchor = GridBagConstraints.CENTER;
72 gridBagConstraints.fill = GridBagConstraints.NONE;
73 gridBagConstraints.ipadx = 0;
74 gridBagConstraints.gridy = 0;
75 gridBagConstraints.weightx = 1.0D;
76 gridBagConstraints.weighty = 1.0D;
77 gridBagConstraints.insets = new Insets(10,10,10,10);
79 JXPanel jp = new JXPanel(new FlowLayout());
80 jp.setBorder(null);
81 //jp.setBackgroundPainter(Reha.RehaPainter[0]);
82 jp.add(new JLabel("Bitte Passwort eingeben: "));
83 pwTextFeld = new JPasswordField();
84 pwTextFeld.setPreferredSize(new Dimension(120,25));
85 pwTextFeld.addKeyListener(this);
86 jp.add(pwTextFeld);
88 //jgrid.add(jp,gridBagConstraints);
89 jgrid.add(jp);
91 GridBagConstraints gridBagConstraints2 = new GridBagConstraints() ;
92 gridBagConstraints2.gridx = 0;
93 gridBagConstraints2.anchor = GridBagConstraints.CENTER;
94 gridBagConstraints2.fill = GridBagConstraints.NONE;
95 gridBagConstraints2.ipadx = 0;
96 gridBagConstraints2.gridy = 1;
97 gridBagConstraints2.weightx = 1.0D;
98 gridBagConstraints2.weighty = 0.5D;
99 gridBagConstraints2.insets = new Insets(10,0,10,0);
100 pwButton = new JXButton("Benutzer authentifizieren");
101 pwButton.setPreferredSize(new Dimension(160,25));
102 pwButton.addActionListener(this);
103 JXPanel butpanel = new JXPanel(new FlowLayout());
104 butpanel.setBorder(null);
105 butpanel.add(pwButton);
106 //jgrid.add(pwButton,gridBagConstraints2);
107 jgrid.add(butpanel);
108 jgrid.add(new JLabel(""));
110 this.add(jgrid,BorderLayout.CENTER);
111 this.setVisible(true);
112 this.addKeyListener(this);
113 SwingUtilities.invokeLater(new Runnable(){
114 public void run(){
115 pwTextFeld.requestFocus();
121 private void passWortCheck(){
122 int i,size;
123 boolean check = false;
124 String name="",rechte="",test=String.valueOf(pwTextFeld.getPassword());
125 size = ParameterLaden.pKollegen.size();
126 for(i=0;i<size;i++){
127 ////System.out.println(ParameterLaden.pKollegen.get(i).get(1));
128 if(test.equals(ParameterLaden.pKollegen.get(i).get(1))){
129 name = (String) ParameterLaden.pKollegen.get(i).get(0);
130 rechte = (String) ParameterLaden.pKollegen.get(i).get(2);
131 ////System.out.println("Rechte = "+rechte);
132 Reha.progRechte = rechte;
133 Reha.thisFrame.setTitle(Reha.Titel+Reha.Titel2+" --> [Benutzer: "+name+"]");
134 Reha.aktUser = name;
135 check = true;
136 break;
139 if(!check){
140 JOptionPane.showMessageDialog(null, "Benutzer mit diesem Passwort ist nicht vorhanden\n\nVersuch "+Integer.toString(falscherLogin+1)+" von 3");
141 falscherLogin = falscherLogin+1;
142 pwTextFeld.requestFocus();
143 if(falscherLogin==3){
144 //Hier Email an Admin
145 falscherLogin = 0;
146 System.exit(0);
148 }else{
149 // Korrekter Login
150 this.setName(this.grundContainer().getName());
151 RehaTPEvent rEvt = new RehaTPEvent(this);
152 rEvt.setRehaEvent("PinPanelEvent");
153 rEvt.setDetails(this.getName(),"ROT") ;
154 RehaTPEventClass.fireRehaTPEvent(rEvt);
155 Reha.thisFrame.setVisible(true);
156 Reha.thisClass.setzeDivider();
157 Reha.thisFrame.validate();
158 this.grundContainer().Schliessen();
162 @Override
163 public void keyPressed(KeyEvent e) {
164 // TODO Auto-generated method stub
165 ////System.out.println(e);
166 int code = e.getKeyCode();
167 if(code==27){
168 e.consume();
169 }else if(code==10){
170 e.consume();
171 passWortCheck();
172 }else if((e.getModifiers() == KeyModifier.MOD1) || (e.getModifiers() == KeyModifier.MOD2) ){
173 e.consume();
178 @Override
179 public void keyReleased(KeyEvent e) {
180 // TODO Auto-generated method stub
184 @Override
185 public void keyTyped(KeyEvent e) {
186 // TODO Auto-generated method stub
190 @Override
191 public void actionPerformed(ActionEvent arg0) {
192 // TODO Auto-generated method stub
193 passWortCheck();
196 public RehaSmartDialog grundContainer(){
197 return (RehaSmartDialog) this.getParent().getParent().getParent().getParent().getParent();
199 public static void zeigen(){
201 thisClass.grundContainer().toFront();
202 thisClass.grundContainer().setVisible(true);