如何从actionPerformed调用外部ArrayList



我有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 的主要部分

如果ArrayList是公共的,那么您应该能够在同一类中的任何位置访问它。如果它不在同一个类中,那么您可能必须使用ArrayList作为参数来创建一个构造函数,如下所示:

public class Main()
{
public Main(ArrayList<Something>)
{
}
}

然后,您应该能够创建该类的一个新实例并传入您的ArrayList,但是,下次为了清晰起见,请确保显示所有代码。

actionPerformed方法是ActionListener的一个异常子类的方法。在actionPerformed方法中,this指代它的封闭实例,在本例中为ActionListener。如果您想引用JFrame子类的一个字段,那么您需要限定this

为了做到这一点,您必须将封闭类放在它之前:

MyJFrame.this.myArrayList.add(...);

最新更新