2012-01-13 12 views
21

में पॉपअप विंडो कैसे बनाएं मैं वर्तमान में जावा एप्लिकेशन विकसित कर रहा हूं।जावा

मैं एक नई विंडो दिखाना चाहता हूं जिसमें टेक्स्ट क्षेत्र और बटन शामिल है।

क्या आपके पास कोई विचार है?

+4

शायद 'जॉप्शनपेन.शोइन इनपुट ड्यूलॉग (शून्य, "यह संदेश है", "यह डिफ़ॉल्ट पाठ है") '? – fireshadow52

+0

कृपया एक उत्तर चिह्नित करें ताकि यह प्रश्न हल हो जाए। – Ungeheuer

उत्तर

2

चेक बाहर Swing Dialogs (मुख्य रूप से के रूप में @mcfinnigan से उल्लेख किया है, JOptionPane पर ध्यान केंद्रित)।

12

हम्म यह थोड़ा समय हो गया है, लेकिन आप एक कस्टम खिड़की चाहते हैं से मैं क्या याद ...
तुम सिर्फ एक नया फ्रेम बनाने के लिए और यह सिर्फ जैसे आप मुख्य विंडो के साथ होता दिखाई बना सकते हैं।

How to Make Dialogs

है कि आप कार्यक्षमता आप एक पूरे बहुत कम प्रयास के साथ की तलाश में हैं देने के लिए सक्षम हो सकता है: जावा भी एक शानदार संवाद पुस्तकालय है कि आप यहाँ देख सकते हैं है।

Object[] possibilities = {"ham", "spam", "yam"}; 
String s = (String)JOptionPane.showInputDialog(
        frame, 
        "Complete the sentence:\n" 
        + "\"Green eggs and...\"", 
        "Customized Dialog", 
        JOptionPane.PLAIN_MESSAGE, 
        icon, 
        possibilities, 
        "ham"); 

//If a string was returned, say so. 
if ((s != null) && (s.length() > 0)) { 
    setLabel("Green eggs and... " + s + "!"); 
    return; 
} 

//If you're here, the return value was null/empty. 
setLabel("Come on, finish the sentence!"); 

आप उपयोगकर्ता के विकल्प सीमित करने के लिए परवाह नहीं है, तो आप showInputDialog विधि कि कम तर्क लेता है या ऑब्जेक्ट की श्रेणी के लिए अशक्त निर्दिष्ट का एक रूप का उपयोग कर सकते। जावा नज़र में और लगता है, तो एक संवाद एक पाठ क्षेत्र है और इस तरह दिखता है कि में संभावनाओं परिणामों के लिए अशक्त प्रतिस्थापन:

+0

मुझे लगता है कि मैं नया फ्रेम करना चाहता हूं क्या आप मुझे दिखा सकते हैं कि यह thx btw कैसे करें? – Carlo

+0

ऊपर दिया गया उदाहरण स्पष्ट और संक्षेप में है क्योंकि मैं आपको यह दिखाने के लिए प्राप्त कर सकता हूं कि इसे कैसे किया जाए। यदि आप इसे उदाहरण से परे अनुकूलित करना चाहते हैं तो जावा डॉक्स पर एक नज़र डालें। – Prediluted

27

एक ही जवाब: JOptionpane एक उदाहरण :)

package experiments; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JOptionPane; 

public class CreateDialogFromOptionPane { 

    public static void main(final String[] args) { 
     final JFrame parent = new JFrame(); 
     JButton button = new JButton(); 

     button.setText("Click me to show dialog!"); 
     parent.add(button); 
     parent.pack(); 
     parent.setVisible(true); 

     button.addActionListener(new java.awt.event.ActionListener() { 
      @Override 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       String name = JOptionPane.showInputDialog(parent, 
         "What is your name?", null); 
      } 
     }); 
    } 
} 

enter image description here साथ

0
public class JSONPage { 
    Logger log = Logger.getLogger("com.prodapt.autotest.gui.design.EditTestData"); 


    public static final JFrame JSONFrame = new JFrame(); 
    public final JPanel jPanel = new JPanel(); 

    JLabel IdLabel = new JLabel("JSON ID*"); 
    JLabel DataLabel = new JLabel("JSON Data*"); 
    JFormattedTextField JId = new JFormattedTextField("Auto Generated"); 
    JTextArea JData = new JTextArea(); 
    JButton Cancel = new JButton("Cancel"); 
    JButton Add = new JButton("Add"); 

    public void JsonPage() { 

     JSONFrame.getContentPane().add(jPanel); 
     JSONFrame.add(jPanel); 
     JSONFrame.setSize(400, 250); 
     JSONFrame.setResizable(false); 
     JSONFrame.setVisible(false); 
     JSONFrame.setTitle("Add JSON Data"); 
     JSONFrame.setLocationRelativeTo(null); 
     jPanel.setLayout(null); 

     JData.setWrapStyleWord(true); 
     JId.setEditable(false); 

     IdLabel.setBounds(20, 30, 120, 25); 
     JId.setBounds(100, 30, 120, 25); 
     DataLabel.setBounds(20, 60, 120, 25); 
     JData.setBounds(100, 60, 250, 75); 
     Cancel.setBounds(80, 170, 80, 30); 
     Add.setBounds(280, 170, 50, 30); 

     jPanel.add(IdLabel); 
     jPanel.add(JId); 
     jPanel.add(DataLabel); 
     jPanel.add(JData); 
     jPanel.add(Cancel); 
     jPanel.add(Add); 

     SwingUtilities.updateComponentTreeUI(JSONFrame); 

     Cancel.addActionListener(new ActionListener() { 
      @SuppressWarnings("deprecation") 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       JData.setText(""); 
       JSONFrame.hide(); 
       TestCasePage.testCaseFrame.show(); 
      } 
     }); 

     Add.addActionListener(new ActionListener() { 
      @SuppressWarnings("deprecation") 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        PreparedStatement pStatement = DAOHelper.getInstance() 
          .createJSON(
            ConnectionClass.getInstance() 
              .getConnection()); 
        pStatement.setString(1, null); 
        if (JData.getText().toString().isEmpty()) { 
         JOptionPane.showMessageDialog(JSONFrame, 
           "Must Enter JSON Path"); 
        } else { 
         // System.out.println(eleSelectBy); 
         pStatement.setString(2, JData.getText()); 
         pStatement.executeUpdate(); 
         JOptionPane.showMessageDialog(JSONFrame, "!! Added !!"); 
         log.info("JSON Path Added"+JData); 
         JData.setText(""); 
         JSONFrame.hide(); 
        } 

       } catch (SQLException e1) { 
        JData.setText(""); 
        log.info("Error in Adding JSON Path"); 
        e1.printStackTrace(); 
       } 
      } 
     }); 
    } 

} 
+7

हम्म ... सवाल का जवाब देने की सीमा रेखा पर थोड़ा सा, यह नहीं है ;-) वैसे भी, ए) कृपया जावा नामकरण सम्मेलनों को सीखें और उनसे चिपके रहें b) कभी भी मैन्युअल आकार/घटकों का पता लगाने, यह अनन्य है उपयुक्त लेआउट प्रबंधक का कार्य सी) अद्यतन कॉम्पोनेंट ट्री की आवश्यकता नहीं है – kleopatra

0

JOptionPane या Swt शैल का उपयोग का प्रयास करें।