我有4个comboBox,我想在按下按钮后将一个对象放到同一ArrayList中。我该怎么办?
JButton btnRealizarPedido = new JButton("Realizar pedido");
btnRealizarPedido.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//GestorPedido.crearPedido(aProductos, aCliente)
}
});
btnRealizarPedido.setBounds(20, 220, 150, 30);
contentPane.add(btnRealizarPedido);
jComboBox1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
jComboBox1.setBounds(120, 60, 58, 30);
contentPane.add(jComboBox1);
ArrayList位于此JFrame的主体中
答案 0 :(得分:1)
如果ArrayList是公共的,则您应该可以在同一类中的任何位置访问它。如果它不在同一个类中,则可能必须使用ArrayList作为参数来构造一个构造器,像这样:
public class Main()
{
public Main(ArrayList<Something>)
{
}
}
然后,您应该能够创建该类的新实例并传递到ArrayList中,但是下次,请确保为了清晰起见显示所有代码。
答案 1 :(得分:0)
actionPerformed
方法是ActionListener
的一个统一子类的方法。在actionPerformed
方法中,this
指的是它的封闭实例,在这种情况下为ActionListener
。如果要引用JFrame子类的字段,则需要qualify this
。
为此,您必须将封闭类放在其前面:
MyJFrame.this.myArrayList.add(...);