package DataExchangeTest; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Frame; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextArea; import javax.swing.SwingUtilities; public class PasswordChooser extends JPanel { /** * */ private static final long serialVersionUID = 1L; public PasswordChooser() { setLayout(new BorderLayout()); //Crearea panului cu cimpurile pentru introducerea datelor JPanel panel = new JPanel(); panel.setLayout(new GridLayout(2, 2)); panel.add(new JLabel("User Name:")); username = new JTextArea(""); panel.add(username); panel.add(new JLabel("Password:")); password = new JPasswordField(""); panel.add(password); add(panel, BorderLayout.CENTER); //Crearea butoanelor OK si CANCEL okButton = new JButton("OK"); okButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub ok = true; setVisible(false); } }); cancelButton = new JButton("Cancel"); cancelButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub setVisible(false); } }); JPanel buttonPanel = new JPanel(); buttonPanel.add(okButton); buttonPanel.add(cancelButton); add(buttonPanel, BorderLayout.SOUTH); } /** * Punerea valorilor implicite * @param u infomatia despre utilizator, implicit */ public void setUser(User u) { username.setText(u.getName()); } /** * Primirea informatiei introduse * @return Obiect User, a carui varoare se afiseaza in informatia introdusa */ public User getUser() { return new User(username.getText(),password.getPassword()); } /** * Afisarea paneluilui pentru introducerea datelor * @param parent frame parinte * @param title titlu fereastra de dialog */ public boolean showDialog(Component parent, String title) { ok = false; //Gasirea frame-parinte Frame owner = null; if(parent instanceof Frame) owner = (Frame)parent; else owner = (Frame)SwingUtilities.getAncestorOfClass(Frame.class, parent); if (dialog == null || dialog.getOwner() != owner) { dialog = new JDialog(owner,true); dialog.add(this); dialog.getRootPane().setDefaultButton(okButton); dialog.pack(); } //Punerea titlului dialog.setTitle(title); dialog.setVisible(true); return ok; } private JTextArea username; private JPasswordField password; private JButton okButton; private JButton cancelButton; private JDialog dialog; private boolean ok = false; }