gpt4 book ai didi

java - 如何使用此类中的公共(public)变量和方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:47:27 25 4
gpt4 key购买 nike

以下代码创建了 12 个面板,每个面板上都有一个标签和一个按钮。

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

setLayout(new GridLayout(0,4));//set rows to zero so it fills rows first

for(int i = 0; i < cars.size(); i++){
InventoryItemPanel panel = new InventoryItemPanel();
panel.setLabel(cars.get(i).getYear(), cars.get(i).getMake(),
cars.get(i).getModel(),cars.get(i).getMiles(), cars.get(i).getPrice());
add(panel);
}

pack();

initComponents();
}

下面这个类包含我在上面使用的 setLabel 方法,但它不返回我从汽车传递的值。

public class InventoryItemPanel extends JPanel{
public int year;
public String make;
public String model;
public int miles;
public int price;



JLabel label = setLabel(year, make, model, miles, price);
Button button = new Button("View More Details");

public InventoryItemPanel(){
setLayout(new GridLayout(2,1));
add(label);
add(button);


}

public JLabel setLabel(int year, String make, String model, int miles, int price){
Locale locale = new Locale("en", "US");
NumberFormat formatter = NumberFormat.getCurrencyInstance(locale);
return new JLabel("<html>"+ year + " " + make +
" " + model + "<br> " + + miles
+ " miles" + "<br>" + formatter.format(price)+"</html>");
}
}

代码的输出是:

0 null null
0 miles
$0.00

什么时候真正的输出应该是:

2012 Toyota Corolla

70000 Miles

$12,000.00

我应该如何在 MainFormWithPanel 类中实现 InventoryItemPanel 类的 setLabel 方法?

最佳答案

尝试修改行:

    add(panel);

MainFormWithPanel 中:

    add(panel.setLabel(cars.get(i).getYear(), cars.get(i).getMake(), 
cars.get(i).getModel(),cars.get(i).getMiles(), cars.get(i).getPrice()));

关于java - 如何使用此类中的公共(public)变量和方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50442006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com