나는이 코드 라인을 가지고있다. 최종 변수를 내부 클래스에 전달할 수는 없지만 변수 i
을 익명 내부 클래스에 전달하여 seatingID로 사용해야합니다. 그렇게하는 방법을 제안 할 수 있습니까?최종 변수가 아닌 변수를 익명의 내부 클래스에 전달하려면 어떻게해야합니까?
JButton [] seats = new JButton [40]; //creating a pointer to the buttonsArray
for (int i = 0; i < 40; i++)
{
seats[i] = new JButton();//creating the buttons
seats[i].setPreferredSize(new Dimension(50,25));//button width
panel4seating.add(seats[i]);//adding the buttons to the panels
seats[i].addActionListener(new ActionListener()
{ //anonymous inner class
public void actionPerformed(ActionEvent evt)
{
String firstName = (String)JOptionPane.showInputDialog("Enter First Name");
String lastName = (String)JOptionPane.showInputDialog("Enter Last Name");
sw101.AddPassenger(firstName, lastName, seatingID);
}
});
}
버그를 나타내는 최소한의 컴파일 가능한 코드를 제시하면 더 나은 답변을 얻을 수 있습니다. 위 코드에서 'seatingID'가있는 'i'를 의미합니까? –
사실 실제로 버그가 없습니다. 그래서 for 루프에서 내부 클래스로 변수 i를 전달하는 방법을 알아 내려고 노력 중이므로 그 코드를 seatingID로 할당 할 수 있습니까 – dave