我正在java中构建一个程序,我想知道是否有任何函数在按下on时删除一个JButton列表?
这是我到目前为止所做的:
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button[0]) {
for(int x = 0; x < 19; x++) {
button[x].remove(this);
}
}
}
ActionListener已经配置,它可以正常工作。提前感谢谁给了我一个解决方案。
答案 0 :(得分:5)
您当前的代码似乎试图从JButton中删除某些,您的this
,无论它代表什么,这是一个很棒的东西。
要告知的关键信息是 - 从 中移除按钮?如果是JPanel,那么你必须这样做,在包含JPanel上调用remove(...)
,传入你要删除的组件(JButton)。
即,
public void actionPerformed(ActionEvent e) {
containingJPanel.remove((AbstractButton) e.getSource());
}
具体的代码解决方案将取决于您当前程序的结构。
答案 1 :(得分:2)
试试这个:
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button[0]) {
for(int x = 0; x < 19; x++) {
button[x].getParent().remove(button[x]);
}
}
}
答案 2 :(得分:0)
image 1) JButton b[]=new JButton[10];
for(int i=0;i<10;i++)
{
b[i]=new JButton(""+i);
b[i].setBounds(i*10,i*20,20,20);
add(b[i]);
}
b[0].addActionListener(this);
在Frame上添加按钮并将Action Listenr设置为b [0]按钮。
image 2) public void actionPerformed(ActionEvent e) {
if(e.getSource() == b[0]) {
for(int 1 = 0; 1 < 5; 1++) {
remove(b[x]);
}
}
}
1)Frame上的第一个图像添加按钮 2)第二张图像删除框架上的按钮。