Java 如何将列表中的项目打印到JTextArea?
我无法通过方法将列表中的项目打印到JTextArea中Java 如何将列表中的项目打印到JTextArea?,java,swing,list,jtextfield,jtextarea,Java,Swing,List,Jtextfield,Jtextarea,我无法通过方法将列表中的项目打印到JTextArea中 void grab(){ if(appleField.getText().equals("")){ appleField.setText(""); } else{ int a = Integer.parseInt(appleField.getText()); list.add(new MyShoppingCart(a, "Apples bought:")); }
void grab(){
if(appleField.getText().equals("")){
appleField.setText("");
}
else{
int a = Integer.parseInt(appleField.getText());
list.add(new MyShoppingCart(a, "Apples bought:"));
}
if(bananaField.getText().equals("")){
bananaField.setText("");
}
else{
int b = Integer.parseInt(bananaField.getText());
list.add(new MyShoppingCart(b, "Bananas bought:"));
}
if(cherryField.getText().equals("")){
cherryField.setText("");
}
else{
int c = Integer.parseInt(cherryField.getText());
list.add(new MyShoppingCart(c, "Cherries bought:"));
}
if(dukuField.getText().equals("")){
dukuField.setText("");
}
else{
int d = Integer.parseInt(dukuField.getText());
list.add(new MyShoppingCart(d, "Dukus bought:"));
}
if(elderField.getText().equals("")){
elderField.setText("");
}
else{
int e = Integer.parseInt(elderField.getText());
list.add(new MyShoppingCart(e, "Elderberries bought"));
}
if(falField.getText().equals("")){
falField.setText("");
}
else{
int f = Integer.parseInt(falField.getText());
list.add(new MyShoppingCart(f, "Falberries bought"));
}
if(gacField.getText().equals("")){
gacField.setText("");
}
else{
int g = Integer.parseInt(gacField.getText());
list.add(new MyShoppingCart(g, "Gacs bought"));
}
if(honeyField.getText().equals("")){
honeyField.setText("");
}
else{
int h = Integer.parseInt(honeyField.getText());
list.add(new MyShoppingCart(h, "Honeydews bought"));;
}
if(mangoField.getText().equals("")){
mangoField.setText("");
}
else{
int m = Integer.parseInt(mangoField.getText());
list.add(new MyShoppingCart(m, "Mangos bought"));
}
if(passionField.getText().equals("")){
passionField.setText("");
}
else{
int p = Integer.parseInt(passionField.getText());
list.add(new MyShoppingCart(p, "Passion fruits bought"));
}
}
它只是解析每个值,然后如果它包含某些内容,就将其添加到列表中
这里是“附加”的方法
我知道print语句是错误的,但这是我现在唯一的东西。似乎您在文本区域中设置购物项目的格式时有问题。尝试使用
String.format
正确格式化每一行,例如:
for (MyShoppingCart s : list) {
cartArea.append(String.format("%-20s %-20s\n", s.getName(), s.getQuantity()));
}
确保使用固定宽度字体,即单间距字体
:
Font font = new Font("Monospaced", Font.PLAIN, 14);
textArea.setFont(font);
作为另一种选择,考虑使用一个完全不同的控件-<代码> jTabe>代码>。它可能更合适,因为它支持多个列。如果需要,可以隐藏轴网线。有关一些示例,请参见 您指的是哪种“打印声明”?(在Java中,“print statement”通常表示
System.out.println
——但这里没有这样的语句。)它在哪方面是错误的?你遇到了什么问题?考虑使用<代码> jList< /Cord>。我可能错了,但是我相信WindowsLookAndFeel
,它是单间隔的
;对于MetalLookAndFeel
,它是对话框
。
Font font = new Font("Monospaced", Font.PLAIN, 14);
textArea.setFont(font);