如何在Java中的多个JLable中包装文本?

时间:2018-05-21 00:17:42

标签: java swing netbeans awt jlabel

我在ArrayList中有12个标签和12个汽车对象。 for循环为每个标签及其对应的car对象设置。但是,标签中的文本不会包装并继续进行。

我需要在循环中放置什么来进行文本换行?

理论上,文本应该是这样的:

  

2012丰田卡罗拉

     

70000英里

     

$ 12,000.00

但是在标签中我只能获得一行:

  

2012年丰田卡罗拉700 ......


代码

    InventoryFileReader reader = new InventoryFileReader();
    ArrayList<Car> cars = reader.getAllCars();

    //will format getPrice to currency.
    Locale locale = new Locale("en", "US");
    NumberFormat formatter = NumberFormat.getCurrencyInstance(locale);

    JLabel[] labels = new JLabel[]{jLabel1, jLabel2, jLabel3, jLabel4,
                                    jLabel5, jLabel6, jLabel7, jLabel8,
                                    jLabel9, jLabel10, jLabel11, jLabel12};

    for(int i = 0; labels.length > i; i ++){

        labels[i].setText(cars.get(i).getYear() + " " + cars.get(i).getMake() + 
                " " + cars.get(i).getModel() + " " + "\n" + cars.get(i).getMiles() 
                + " miles" + '\n' + " " +  formatter.format(cars.get(i).getPrice()));
    }

getYear(),getMiles()和getPrice()实际上返回整数值。

0 个答案:

没有答案