在JFrame窗口中加入Jpanel 在Jpanel中加入ContainerListener监听器,为Jpanel内加入JButton,删除JButton,JButton的名字命名为自己的学号,姓名。
时间: 2024-02-24 09:59:17 浏览: 133
好的,以下是Java Swing代码实现:
```java
import java.awt.event.ContainerEvent;
import java.awt.event.ContainerListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ContainerListenerDemo extends JFrame {
private JPanel panel;
private JButton button;
public ContainerListenerDemo() {
panel = new JPanel();
button = new JButton("学号:123456,姓名:张三");
panel.add(button);
panel.addContainerListener(new MyContainerListener());
add(panel);
setTitle("ContainerListener Demo");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
private class MyContainerListener implements ContainerListener {
@Override
public void componentAdded(ContainerEvent e) {
System.out.println("添加了组件: " + e.getChild().getName());
}
@Override
public void componentRemoved(ContainerEvent e) {
System.out.println("删除了组件: " + e.getChild().getName());
}
}
public static void main(String[] args) {
new ContainerListenerDemo();
}
}
```
在这个示例中,我们创建了一个JFrame窗口、一个JPanel面板和一个JButton按钮,并将按钮添加到面板上。然后将ContainerListener添加到面板上,监听面板中加入、删除组件的事件。当面板中加入一个新组件时,会调用componentAdded方法输出组件的名称。当面板中删除一个组件时,会调用componentRemoved方法输出组件的名称。由于JButton的默认名称为空字符串,所以我们需要通过setName方法为按钮设置一个名称。
阅读全文