JOptionPane在不同的行上有多个输入

时间:2012-05-31 12:53:39

标签: java swing layout-manager joptionpane

我想创建一个JOptionPane,允许用户选择要连接的IP地址和端口。它应该这样构建,

  

IP地址:[textfield here]

     

端口:[textfield here]

     

取消确定

标签应该左对齐,文本字段也应该左对齐。我不能在这里真实地模拟故事板,但基本上文本字段不应该错位,即使标签和文本字段之间有空格。

每个标签和文本字段对应位于单独的行上,取消确定按钮应与文本框下方的右侧对齐。

有没有办法在代码中执行此操作?

2 个答案:

答案 0 :(得分:10)

请参阅布局类似的this example

示例

右对齐

右边对齐标签中的文字,我觉得这样看起来更好,使用:

labels.add(new JLabel("User Name", SwingConstants.RIGHT));

对于左对齐文本,请将其更改为:

labels.add(new JLabel("User Name"));

改进

使用GridLayout的{​​{1}}和WEST中的嵌套布局CENTER个实例完成。

使用更强大的布局(例如BorderLayout或更现代的J2SE布局,例如MigLayoutBoxLayout)可能会更好。

GroupLayout可以提供此UI所需的对齐类型,而不会将GroupLayout字段拉伸到相同的宽度(也可以在上面的嵌套布局中修复,但需要另外2个约束面板)。我相信其他两个人也可以做这个工作,但没有那么多经验。

答案 1 :(得分:4)

创建自定义对话框(jdialog)或使用JOptionPane.showInputDialog,请参阅本教程:

http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html