我想使用 actionListener 删除 gridLayout 的 JButton。我想将已删除的 JButton 的空间留空,然后用 JLabel 或其他东西填充该空间。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class bottons extends JFrame implements ActionListener{
private JPanel test;
private JButton[][] buttons;
private JuegoBuca(){
setVisible(true);
setSize(500,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Test");
setResizable(false);
buttons = new JButton[5][5];
test = new JPanel();
test.setLayout(new GridLayout(5,5));
for(int i = 0 ; i<5 ; i++){
for(int j = 0; j<5 ; j++){
test.add(buttons[i][j] = new JButton(Integer.toString(index++)));
buttons[i][j].addActionListener(this);
}
}
add(test, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
for(int i = 0; i<5 ; i++){
for(int j = 0 ; j<5; j++){
if(buttons[i][j] == o){
test.remove(buttons[i][j]);
}
}
}
}
在actionListener 的方法中,它取出了JButton,但它移动了其他按钮并填充了空间。索引只是在按钮中有一些东西以使更改可见。谢谢!