📄 event12_3.java
字号:
/**
* ClassName: Event12_3.class
* Description:
* Copyright: Copyright (c) 2002
* Company: 中国青年出版社
* @author: Hong Yi
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ButtonPanel extends JPanel
implements ActionListener
//声明ButtonPanel类为监听器类,实现ActionListener接口
{
public ButtonPanel()
{
//新建一个按钮
bt = new JButton("Hello");
add(bt);
//指定用来处理该按钮事件的监听器对象为JPanel本身
bt.addActionListener(this);
}
//监听器类的事件处理方法,当按钮激发行动事件时,就会调用这个方法。
public void actionPerformed(ActionEvent evt)
{
//得到事件源对象
Object src = evt.getSource();
if (src.equals(bt))
{ //如果事件源对象为bt按钮,则
szEvtSource = "Hello Button";
}
/*另一种得到事件源对象名称的方法
szEvtSource = src.toString();
*/
Graphics g = getGraphics();
draw(g);
}
//在ButtonPanel上绘制事件信息
public void draw(Graphics g)
{
String szMsg;
szMsg = "You've pressed me!--" + szEvtSource;
g.drawString(szMsg, 20, 60);
}
private JButton bt;
private String szEvtSource;
boolean bPressed;
}
class ButtonFrame extends JFrame
{
public ButtonFrame()
{
//设置窗口MyFrame的标题
setTitle("事件示例程序12.3");
//设置窗口大小为宽300,高200象素
setSize(300, 200);
//通过设置窗口作上角坐标为(100,100)来设置窗口位置
setLocation(100,100);
//增加窗口事件监听器
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ System.exit(0);
}
});
//得到当前窗口的内容窗口
Container ctPane = getContentPane();
//在内容面板中绘制自己定义的面板MyPanel
ctPane.add(new ButtonPanel());
}
}
public class Event12_3
{
public static void main(String[] args)
{
JFrame frame = new ButtonFrame();
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -