在JFrame窗口中加入一个panel然后加入一个JLabel控件,为panel加入ComponentListener,监听abel的大小变化,位置变化,是否显示,隐藏。Jabel的名字为自己的名字。
时间: 2024-02-26 11:51:35 浏览: 105
好的,我来解答你的问题。
首先,我们需要创建一个JFrame窗口,并在它上面添加一个JPanel。然后,我们再在这个JPanel上添加一个JLabel控件,代码如下:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
public class TestFrame extends JFrame {
public TestFrame() {
JPanel panel = new JPanel();
this.add(panel);
JLabel label = new JLabel("Your Name");
panel.add(label);
panel.addComponentListener(new ComponentListener() {
@Override
public void componentResized(ComponentEvent e) {
System.out.println("Panel Resized");
}
@Override
public void componentMoved(ComponentEvent e) {
System.out.println("Panel Moved");
}
@Override
public void componentShown(ComponentEvent e) {
System.out.println("Panel Shown");
}
@Override
public void componentHidden(ComponentEvent e) {
System.out.println("Panel Hidden");
}
});
this.pack();
this.setVisible(true);
}
public static void main(String[] args) {
TestFrame frame = new TestFrame();
}
}
```
在以上代码中,我们创建了一个名为TestFrame的类,并在它的构造函数中创建了一个JPanel和一个JLabel控件。然后,我们为JPanel添加了一个ComponentListener,用于监听JLabel控件的大小变化、位置变化、是否显示、隐藏。在监听器的回调函数中,我们分别输出了不同的信息。
最后,我们调用了pack()方法和setVisible(true)方法,用于显示窗口。
希望这个答案对你有所帮助!
阅读全文