我有一個需要在屏幕上打印出來的對象的ArrayList。我有一個按鈕和一個監聽器,它應該在擴展JPanel的類中調用一個方法,該方法將添加到MainFrame類中。來自不同類別的調用方法
這是我想調用AddOrderPanel類的方法。
public void addLCheese(){
BigDecimal price = new BigDecimal("8.99");
CheesePizza largeCheese = new CheesePizza("Large Cheese/Tomato",price);
OrderItem laCheese = new OrderItem(largeCheese,1);
System.out.println(largeCheese.getDescription()+" "+largeCheese.getPrice()+" " +laCheese.testArray());
JPanel order = new JPanel();
order.setBackground(Color.blue);
order.setPreferredSize(new Dimension(800,50));
add(order,BorderLayout.CENTER);
revalidate();
}
這是我的監聽器代碼:
lCheese.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
AddOrderPanel orderPanel;
orderPanel.addLCheese();
}
});
當我嘗試它,它返回NullPointerException異常,想法?
我的面板對象。
private JFrame myMainFrameObject;
AddOrderPanel(JFrame theMainFr){
myMainFrameObject = theMainFr;
this.setLayout(new FlowLayout(FlowLayout.RIGHT));
setBackground(Color.red);
setPreferredSize(new Dimension(800,0));
}
我不能這樣做,因爲我AddOrderPanel的代碼需要一個框架。 @編輯問題 – ChrisA 2012-04-12 00:42:59
@ChrisA:編輯我的答案以反映您的約束。 – 2012-04-12 00:52:36
非常感謝你,先生!:) – ChrisA 2012-04-12 00:58:42