全屏
ComponentEvent类必须实现这个接口。类的对象组件注册。使用addComponentListener()方法,该对象可以被注册。组件事件提出仅供参考。
接口声明
以下是声明的java.awt.event.ComponentListener接口:public interface ComponentListener
extends EventListener
接口中的方法S.N.方法&说明
1void componentHidden(ComponentEvent e)Invoked when the component has been made invisible.
2void componentMoved(ComponentEvent e)Invoked when the component's position changes.
3void componentResized(ComponentEvent e)Invoked when the component's size changes.
4void componentShown(ComponentEvent e)Invoked when the component has been made visible.
继承的方法
这个接口继承的方法从下面的接口:java.awt.EventListener
ComponentListener示例
选择使用任何编辑器创建以下java程序 D:/ > AWT > com > sxt > gui >
AwtListenerDemopackage cn.sxt.gui;
import java.awt.*;
import java.awt.event.*;
public class AwtListenerDemo {
private Frame mainFrame;
private Label headerLabel;
private Label statusLabel;
private Panel controlPanel;
public AwtListenerDemo(){
prepareGUI();
}
public static void main(String[] args){
AwtListenerDemo awtListenerDemo = new AwtListenerDemo();
awtListenerDemo.showComponentListenerDemo();
}
private void prepareGUI(){
mainFrame = new Frame("Java AWT Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new Label();
headerLabel.setAlignment(Label.CENTER);
statusLabel = new Label();
statusLabel.setAlignment(Label.CENTER);
statusLabel.setSize(350,100);
controlPanel = new Panel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showComponentListenerDemo(){
headerLabel.setText("Listener in action: ComponentListener");
ScrollPane panel = new ScrollPane();
panel.setBackground(Color.magenta);
Label msglabel = new Label();
msglabel.setAlignment(Label.CENTER);
msglabel.setText("Welcome to TutorialsPoint AWT Tutorial.");
panel.add(msglabel);
msglabel.addComponentListener(new CustomComponentListener());
controlPanel.add(panel);
mainFrame.setVisible(true);
}
class CustomComponentListener implements ComponentListener {
public void componentResized(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " resized. ");
}
public void componentMoved(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " moved. ");
}
public void componentShown(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " shown. ");
}
public void componentHidden(ComponentEvent e) {
statusLabel.setText(statusLabel.getText()
+ e.getComponent().getClass().getSimpleName() + " hidden. ");
}
}}
编译程序,使用命令提示符。到 D:/ > AWT然后键入以下命令。D:AWT>javac cnsxtguiAwtListenerDemo.java
如果没有错误出现,这意味着编译成功。使用下面的命令来运行程序。D:AWT>java cn.sxt.gui.AwtListenerDemo
验证下面的输出
分享到:
0评论