【发布时间】:2020-01-28 21:08:53
【问题描述】:
所以我希望能够在直列中打印出列表中的对象。问题是它不会在直列中对齐。我希望每个参数都使用 padleft。
这是我的结果。
我已尝试使用String.format();,如下所示。它既不向左也不向右。
String text = "";
String text1 = "";
for (Pet pet: h1.getPets()) {
text = String.format("%-10s%10s%14s\n", pet.getName(), pet.getWeight() + "g", pet.getType());
text1 += text;
}
String text2 = String.format("%s %s %s\n", "Namn:", "Vikt(gram):", "Djur:\n------------------------------------------");
JOptionPane.showMessageDialog(null, text2 + text1, "HOTELLETS GÄSTER", JOptionPane.INFORMATION_MESSAGE);
}
【问题讨论】:
-
您必须为对话框使用等距字体,请参阅Is there a way to change JOptionPane.showMessageDialog font?(或者可能使用 html 作为文本:How to Use HTML in Swing Components) - 更详细:使用
JTable作为消息JOptionPane -
使用 JTable。您的方法仅适用于带有固定宽度字体文本的控制台。它不适合 GUI - 使用真正的表格结构。 JOptionPane 可能不是您想要显示的方式,您可能需要在 JFrame 中显示此内容,其中包含 JScrollPane 和滚动窗格内的 JTable。
标签: java foreach linked-list alignment