2013-07-02 29 views
2

我有以下代碼:java的雙輸入面板

String firstName; 
firstName = JOptionPane.showInputDialog("First Name"); 

String familyName; 
familyName = JOptionPane.showInputDialog("Family Name"); 

有了這個代碼,你將有2盒彈出填寫你的名字。不過,我想知道是否有辦法將這兩個輸入框放在一個彈出框中。

+0

我不認爲你可以做到,但你可以創建一個新的框架,其中的兩個輸入和一個按鈕來驗證。 – TroyAndAbed

回答

5

只需創建一個包含兩個文本字段面板,然後只將面板添加到對話:

JPanel p = new JPanel(); 
    JTextField familyName = new JTextField(10); 
    JTextField firstName = new JTextField(10); 

    p.add(new JLabel("Family name :")); 
    p.add(familyName); 
    p.add(new JLabel("First name : ")); 
    p.add(firstName); 

    JOptionPane.showConfirmDialog(null, p, "Family and first name : ", JOptionPane.OK_CANCEL_OPTION); 

這裏是什麼樣子:

enter image description here

+0

這也是一個非常好的解決方案。這種方法的優點是,如果你有很多想要添加的設計元素,或者如果你想更好地控制佈局面板,那麼你可以將多個面板添加到JFrame並使用其他佈局助手比如網格或卡片佈局。 –

4

將這兩個JOptionPanel框添加到單個JFrame中。

這樣,兩個輸入框都會在同一個窗口中。

JFrame frame = new JFrame.add(JOptionPanel);

0

不,你不能這樣做使用JOptionPane庫。你可以使用java.swing包編寫自己的類,在單個彈出窗口中提供多個輸入。