我在每个对象中都有一个名为“supermarkets”的对象数组,其中有一个名为Name
的String值,以及一个返回名为get-name()
的名称值的方法。
我想打印所有使用GUI JPanel的数组中的元素。
我可以用它来打印它?
这就是我要打印的内容:
for (int i=0; i<supermarkets.length;i++){
supermarkets[i].get-name();
}
答案 0 :(得分:1)
您有几种选择:
根据需要创建尽可能多的JLabel
,并在其中设置每个元素的文本。
使用JList
。
创建一个扩展JPanel
并覆盖paintComponent()
的类。使用Graphics.drawString()
。
其中,我认为#2可能是最好的。
答案 1 :(得分:0)
您可以使用JOptionPane,更具体地说,可以使用JOptionPane.showMessageDialog(Params);
来实现的messageDialog,其中params取决于您选择的方法。阅读文档了解更多信息。
StringBuilder text = new StringBuilder();
for (int i=0; i<supermarkets.length;i++){
text.append("\n"+supermarkets[i].get-name());
}
JOptionPane.showMessageDialog(null,"Available supermarkets:"+text.toString());
示例#1 就好了,但是如果它超出了特定的数量,那么窗口就会变得很大,以至于它不适合屏幕。为了防止这种情况发生,这里有一个例子,每行显示4个超市,以逗号分隔
int supermarketsPerLine = 4;//The ammount of supermarkets displayed per line
StringBuilder text = new StringBuilder();
for (int i=0; i<supermarkets.length;i++){
text.append(supermarkets[i].get-name()+", ");
if(i%supermarketsPerLine == 0 && i>0) text.append("\n");
}
text.delete(text.length()-2, text.length()-1);// to remove the last comma (,) from the end of the list.
JOptionPane.showMessageDialog(null,"Available supermarkets:\n"+text.toString());
我希望有所帮助。