2013-08-23 11 views
7

मेरे पास अपना खुद का संवाद दो टेक्स्टफील्ड, दो जेएलएबल और "ओके" जेबटन के साथ पॉप अप है। पॉप अप एक लॉगिन विंडो है। खिड़की सही काम करती है मैं सिर्फ यह जानना चाहता हूं कि मैं "रद्द" जेबटन कैसे जोड़ सकता हूं, इसलिए उपयोगकर्ता लॉगिन रद्द कर सकता है।उपयोगकर्ता नाम और पासवर्ड इनपुट के साथ जॉप्शनपेन

public Hashtable<String, String> login(JFrame frame) { 
    Hashtable<String, String> logininformation = new Hashtable<String, String>(); 

    JPanel panel = new JPanel(new BorderLayout(5, 5)); 

    JPanel label = new JPanel(new GridLayout(0, 1, 2, 2)); 
    label.add(new JLabel("E-Mail", SwingConstants.RIGHT)); 
    label.add(new JLabel("Password", SwingConstants.RIGHT)); 
    panel.add(label, BorderLayout.WEST); 

    JPanel controls = new JPanel(new GridLayout(0, 1, 2, 2)); 
    JTextField username = new JTextField(); 
    controls.add(username); 
    JPasswordField password = new JPasswordField(); 
    controls.add(password); 
    panel.add(controls, BorderLayout.CENTER); 

    JOptionPane.showMessageDialog(frame, panel, "login", JOptionPane.QUESTION_MESSAGE); 

    logininformation.put("user", username.getText()); 
    logininformation.put("pass", new String(password.getPassword())); 
    return logininformation; 
} 

आप इसे की जरूरत है, यहां लॉगिन विंडो का स्क्रीनशॉट है:

यहाँ खिड़की के लिए मेरे कोड है

Login pop up

आप पर "एक्स क्लिक करेंगे, तो "दाहिने कोने पर, यह भी बंद हो जाता है। लेकिन अगर मैं आसानी से संभव हो तो मैं जेबटन को रद्द करना चाहता हूं।

  • मदद

उत्तर

6

आप एक OK, CANCEL प्रकार की पुष्टि संवाद उपयोग करने की आवश्यकता जोड़ने में सक्षम बनाता है जो उपयोग करने के लिए की जरूरत है।

JOptionPane.showConfirmDialog(
      frame, panel, "login", JOptionPane.OK_CANCEL_OPTION); 
+0

यह मेरा जवाब है ^^ बहुत बहुत धन्यवाद! – Gerret

+1

आपका स्वागत है दोस्त। आपको भी +1 –

0

आप फ्रेम बंद करने के लिए जब आप बटन पर क्लिक करें JFrame पर dispose() समारोह का उपयोग कर सकते के लिए धन्यवाद। इस

jButton1.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e){ 
     frameName.dispose(); 
    } 
}); 
+0

हाँ कि एक अच्छी शुरुआत है, लेकिन मुझे और समस्या है कि मैं एक साउंड बटन नहीं जोड़ सकता और/या नहीं जानता! – Gerret

0

जैसा आप JOptionPage.showOptionDialog() बटन

+0

ठीक है समझ में आता है लेकिन मुझे समस्या है कि मुझे नहीं पता कि मुझे संदेश टाइप करने के लिए क्या करना है टाइप, आइकन, विकल्प और प्रारंभिक वैल्यू ... क्या आप भी इसके साथ मेरी मदद कर सकते हैं? – Gerret

+0

संदेश टाइप बाकी के लिए 'ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, या PLAIN_MESSAGE' में से कोई भी हो सकता है, आप' शून्य 'पास कर सकते हैं। आप अधिक जानकारी –

+0

के लिए दस्तावेज़ों से परामर्श कर सकते हैं ... ठीक है, मुझे यह ठीक नहीं है कि कोई समस्या नहीं है लेकिन मेरे पास एक विकल्प टाइप और एक संदेश टाइप है क्या अंतर है? और मेरे कोड पर मैंने OptionType पर 'QUESTION_MESSAGE' का उपयोग किया। तो OptionType पर क्या ... – Gerret

संबंधित मुद्दे