Ich habe eine ArrayList von Objekten, die auf dem Bildschirm ausgedruckt werden müssen. Ich habe eine Schaltfläche und einen Listener, der eine Methode in einer Klasse aufrufen sollte, die JPanel erweitert, das in einer MainFrame-Klasse hinzugefügt wird.Aufruf Methode aus verschiedenen Klassen
Dies ist die Methode, die ich in einer Klasse namens AddOrderPanel aufrufen möchte.
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();
}
Und das ist mein Zuhörer Code:
lCheese.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
AddOrderPanel orderPanel;
orderPanel.addLCheese();
}
});
Wenn ich versuche, es kehrt Nullpointer, Ideen?
Mein Panel-Objekt.
private JFrame myMainFrameObject;
AddOrderPanel(JFrame theMainFr){
myMainFrameObject = theMainFr;
this.setLayout(new FlowLayout(FlowLayout.RIGHT));
setBackground(Color.red);
setPreferredSize(new Dimension(800,0));
}
Ich kann das nicht tun, da der Code für meine AddOrderPanel einen Rahmen erfordert. @Edited Frage – ChrisA
@ChrisA: Bearbeitete meine Antwort, um Ihre Einschränkung widerzuspiegeln. –
Ich werde dir sehr danken, Sir! :) – ChrisA