2012-07-16 90 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

相关问题