在JFrame窗口中加入Jpanel,在Jpanel中加入ContainListener监听器,为Jpanel内加入JButton,删除JButton两功能,JButton的名称为5720211827谢佳辉
时间: 2024-02-25 08:58:00 浏览: 65
Java中的Listener监听器
好的,我理解您的问题了。根据您的要求,我会给出一个简单的示例代码,演示如何实现您所说的功能。
首先,您需要创建一个`JFrame`窗口,然后在窗口中添加一个`JPanel`。接着,您需要向`JPanel`中添加一个`ContainerListener`监听器,用于监听`JPanel`中组件的添加和删除事件。最后,您需要在`JPanel`中添加一个`JButton`,并为其设置名称为"5720211827谢佳辉",同时为其添加删除功能。
以下是示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends JFrame {
private JPanel panel;
public MyFrame() {
super("MyFrame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
panel = new JPanel();
panel.addContainerListener(new MyContainerListener());
add(panel);
setVisible(true);
}
private class MyContainerListener implements ContainerListener {
@Override
public void componentAdded(ContainerEvent e) {
System.out.println("Component added: " + e.getChild().toString());
}
@Override
public void componentRemoved(ContainerEvent e) {
System.out.println("Component removed: " + e.getChild().toString());
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new MyFrame());
}
}
```
运行上述示例代码,您会看到一个空白的窗口。此时,您可以向其中添加一个名为"5720211827谢佳辉"的`JButton`:
```java
JButton button = new JButton("5720211827谢佳辉");
panel.add(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
panel.remove(button);
panel.revalidate();
panel.repaint();
}
});
```
当您点击该按钮时,会触发`ActionListener`,从而删除该按钮。注意,删除组件后,需要调用`revalidate()`和`repaint()`方法,以便重新布局和绘制`JPanel`。
阅读全文