在JFrame窗口中加入Jpanel 在Jpanel中加入ContainerListener监听器,为Jpanel内加入JButton,删除JButton,JButton的名字命名为自己的学号,姓名。
时间: 2024-02-24 07:59:15 浏览: 48
Java中的Listener监听器
好的,我来给你讲解一下怎么实现你的需求。
首先,我们需要在JFrame窗口中加入JPanel,代码如下:
```java
JPanel panel = new JPanel();
frame.add(panel);
```
然后,我们需要在JPanel中加入ContainerListener监听器,代码如下:
```java
panel.addContainerListener(new ContainerListener() {
// 监听组件添加事件
@Override
public void componentAdded(ContainerEvent e) {
// 判断添加的组件是否为JButton
if(e.getChild() instanceof JButton) {
JButton button = (JButton) e.getChild();
String name = button.getText();
System.out.println("添加了一个名字为" + name + "的按钮");
}
}
// 监听组件移除事件
@Override
public void componentRemoved(ContainerEvent e) {
// 判断移除的组件是否为JButton
if(e.getChild() instanceof JButton) {
JButton button = (JButton) e.getChild();
String name = button.getText();
System.out.println("移除了一个名字为" + name + "的按钮");
}
}
});
```
接下来,我们需要为JPanel内加入JButton,代码如下:
```java
JButton button = new JButton("学号:xxx 姓名:xxx");
panel.add(button);
```
最后,我们需要为JButton添加删除功能,代码如下:
```java
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
panel.remove(button); // 从JPanel中移除按钮
panel.revalidate(); // 重新布局
panel.repaint(); // 重绘JPanel
}
});
```
这样,我们就完成了你的需求。希望能帮到你。
阅读全文