对于我的程序,无论用户何时添加一个按钮,该按钮都会添加到“panel1”和“panel2”。到目前为止,我可以通过它在第一个JPanel panel1中删除用户需要的按钮。但是,如何根据我在下面提供的代码删除第二个JPanel中的相同按钮?我应该检查第二个面板是否包含同名的按钮?我应该怎么做?如何删除另一个JPanel中的相同按钮?
public class deleteButton
{
public boolean deleteNow = false;
class ClickListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
deleteNow = true;
}
}
ActionListener deleteButtonClicked = new ClickListener();
deleteButton.addActionListener(deleteButtonClicked);
class ClickListenerTwo implements ActionListener
{
public void actionPerformed(ActionEvent f)
{
JButton buttonThatWasClicked = (JButton) e.getSource();
if (deleteNow == true)
{
panel1.remove(buttonThatWasClicked);
panel1.revalidate();
panel1.repaint();
//This is where I want it to delete from panel2.
deleteNow = false;
}
else
{
System.out.println("The button wasn't deleted");
}
}
}
}
也许您应该使用Map '某种或其他查找表的 – MadProgrammer
@MadProgrammer所以我不能使用“panel2.remove(buttonThatWasClicked)”?我必须使用“地图”? –
一个组件不能同时驻留在两个容器上,所以你必须有两个'JButton'实例,所以你需要将它们“配对”在一起,所以你可以找到它们 – MadProgrammer