15. maj 2001 - 23:35
Der er
9 kommentarer og 1 løsning
ialogfram for Checkin
Jeg skal lave en dialog fram, hvor en bruger skal login, dvs. skrive sit bruger ID og sit Password. men i der editfeld han skriver Password i skal der på skærmen kun fremkomme ***** og ikke de tegn der skriver. Hvis nogen har en færdig må de gerne sende kildekoden til bj-jb@post4.tele.dk ellers komme med forslag til en løsning.
Annonceindlæg fra Kingston Technology
Du må udybe når du afviser, ellers er det svært at hjælpe!
Er det blot feltet med *\'er du savner? <input type=\"password\" name=\"navn\"> :)
Woops... java... bare glem det! :)
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class PasswordDialog extends JDialog { protected JTextField brugernavn; protected JPasswordField pass; protected JButton okButton; protected JButton annullerButton; protected JLabel brugernavnLabel; protected JLabel passLabel; private boolean OKvalgt = false; public PasswordDialog(Frame parent, String title) { super(parent, title, true); setLocationRelativeTo(parent); } protected void dialogInit() { brugernavn = new JTextField(\"\", 20); pass = new JPasswordField(\"\", 20); okButton = new JButton(\"OK\"); annullerButton = new JButton(\"Annuller\"); brugernavnLabel = new JLabel(\"Brugernavn: \"); passLabel = new JLabel(\"Password: \"); super.dialogInit(); ActionListener actionListener = new ActionListener() { public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if (source == brugernavn) { brugernavn.transferFocus(); } else { OKvalgt = (source == pass || source == okButton); PasswordDialog.this.hide(); } } }; GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); c.insets.top = 5; c.insets.bottom = 5; JPanel pane = new JPanel(gridbag); pane.setBorder(BorderFactory.createEmptyBorder(10, 20, 5, 20)); c.anchor = GridBagConstraints.EAST; gridbag.setConstraints(brugernavnLabel, c); pane.add(brugernavnLabel); gridbag.setConstraints(brugernavn, c); brugernavn.addActionListener(actionListener); pane.add(brugernavn); c.gridy = 1; gridbag.setConstraints(passLabel, c); pane.add(passLabel); gridbag.setConstraints(pass, c); pass.addActionListener(actionListener); pane.add(pass); c.gridy = 2; c.gridwidth = GridBagConstraints.REMAINDER; c.anchor = GridBagConstraints.CENTER; JPanel panel = new JPanel(); okButton.addActionListener(actionListener); panel.add(okButton); annullerButton.addActionListener(actionListener); panel.add(annullerButton); gridbag.setConstraints(panel, c); pane.add(panel); getContentPane().add(pane); pack(); } public String getName() { return brugernavn.getText(); } public String getPass() { return new String(pass.getPassword()); } public boolean showDialog() { show(); return OKvalgt; } private static void main(String[] args) { PasswordDialog p = new PasswordDialog(null, \"Login\"); if(p.showDialog()) { System.out.println(\"Brugernavn: \" + p.getName()); System.out.println(\"Password : \" + p.getPass()); } else { System.out.println(\"Bruger valgte annuller\"); } p.dispose(); p = null; System.exit(0); } }
til dit tekstfelt skriver du: passwordField.setEchoChar(\'\\u2022\');
Tak for hjælpen det er lige den løsning jeg søgte
hvad var der ivejen med min løsning???????????
Kurser inden for grundlæggende programmering