我想创建一个JOptionPane
允许用户选择要连接的 IP 地址和端口。它的结构应该是这样的,
IP 地址:[此处的文本字段]
端口:[此处的文本字段]
取消 确定
标签应左对齐,文本字段也应左对齐。我不能在这里真正模拟故事板,但基本上文本字段不应该错位,即使标签和文本字段之间有空格。
每个标签和文本字段对应位于单独的行上,并且“取消确定”按钮应向右对齐,位于文本框下方。
有没有办法在代码中做到这一点?
我想创建一个JOptionPane
允许用户选择要连接的 IP 地址和端口。它的结构应该是这样的,
IP 地址:[此处的文本字段]
端口:[此处的文本字段]
取消 确定
标签应左对齐,文本字段也应左对齐。我不能在这里真正模拟故事板,但基本上文本字段不应该错位,即使标签和文本字段之间有空格。
每个标签和文本字段对应位于单独的行上,并且“取消确定”按钮应向右对齐,位于文本框下方。
有没有办法在代码中做到这一点?
请参阅这个布局似乎相似的示例。
使用以下方法右对齐标签中的文本,我认为这看起来更好:
labels.add(new JLabel("User Name", SwingConstants.RIGHT));
对于左对齐文本,将其更改为:
labels.add(new JLabel("User Name"));
它是使用嵌套布局、和中的GridLayout
实例来完成的。WEST
CENTER
BorderLayout
使用更强大的布局(例如MigLayout
或更现代的 J2SE 布局(例如BoxLayout
或GroupLayout
.
GroupLayout
可以提供此 UI 所需的对齐类型,同时不会将CENTER
字段拉伸到相同的宽度(这在上面的嵌套布局中也可以修复,但需要另外 2 个约束面板)。我相信其他两个也可以完成这项工作,但没有太多的经验。
创建自定义对话框 (jdialog) 或使用 JOptionPane.showInputDialog,请参阅本教程:
http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html