2012-07-16 89 views
4

我正在做一個XML編輯器作爲我們班的一個項目,並添加屬性,我目前這樣做:有沒有一種簡單的方法來實現一個帶有兩個輸入行的對話框? (JAVA)

String name = JOptionPane.showInputDialog(this, "Enter the attribute name: ", "Name", JOptionPane.INFORMATION_MESSAGE); 
String value = JOptionPane.showInputDialog(this, "Enter the attribute value: ", "Value", JOptionPane.INFORMATION_MESSAGE); 

有沒有更好的辦法有隻是一個單一的對話有這兩件事的盒子?我看了一些例子,但是我很難實現/理解它們。雖然我能夠使用當前方法正確添加屬性,但擁有兩個輸入框卻很愚蠢。

請讓我知道是否有一些簡單的解決方案。謝謝

+0

這是一個更加[示例](http://stackoverflow.com/a/10309277/1057230),不要看'的actionPerformed(...)' 'button(JButton)'的方法,其中'JOptionPane'使用一個新的'JPanel'而不是它的默認值,或者簡單地說,觀察行號81,82,83和84 :-) – 2012-07-16 02:43:23

回答

5

所以你可以,但你需要使用需要一個對象(謝謝氣墊船),look at the Java 6 JOptionPage,有變種,需要多個!

+1

這是不正確的。 JOptionPane的Object參數將接受任何Swing組件,包括一個JPanel,它包含簡單甚至非常複雜的組件組合。 – 2012-07-16 00:54:18

+1

@HovercraftFullOfEels - 噢,我會解決我的答案。謝謝, – Coffee 2012-07-16 00:55:16

+1

謝謝你。我喜歡這個社區:)你們都對彼此很有幫助,對我也很有幫助! – 2012-07-16 01:01:32

10

是的,您可以創建一個包含兩個JTextField的JPanel並將其彈出到JOtionPane.showConfirmDialog(....)中,然後當它返回時,如果用戶按下OK按鈕,則從JTextFields中提取文本。

例如,請看看我的代碼this answer

+2

謝謝你正在發脾氣上帝 – 2012-07-16 01:02:59

+1

+1你的答案總是有幫助的。 – 2012-07-16 01:09:51

相關問題