5

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

IP 地址:[此处的文本字段]

端口:[此处的文本字段]

取消 确定

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

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

有没有办法在代码中做到这一点?

4

2 回答 2

10

请参阅这个布局似乎相似的示例。

这个例子

右对齐

使用以下方法右对齐标签中的文本,我认为这看起来更好:

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

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

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

改进

它是使用嵌套布局、和中的GridLayout实例来完成的。WESTCENTERBorderLayout

使用更强大的布局(例如MigLayout或更现代的 J2SE 布局(例如BoxLayoutGroupLayout.

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

于 2012-05-31T12:59:56.370 回答
4

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

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

于 2012-05-31T13:02:04.773 回答