构造函数传参

利用构造函数传递参数

public class Painter{
//定义方法
public void showFrame(){
javax.swing.JFrame frame=new javax.swing.JFrame();
frame.setSize(300,400);
frame.setTitle("QQworld");
frame.setLocationRelativeTo(null);
//frame.setDefaultCloseOperation(3);
java.awt.FlowLayout layout=new java.awt.FlowLayout();
frame.setLayout(layout);
frame.setVisible(true);
//获取窗体的画布对象
java.awt.Graphics g = frame.getGraphics();
//创建鼠标事件监听器
java.awt.event.MouseListener mymouselistener=new MyMouseListener(g);
// 对窗体进行鼠标事件监听
frame.addMouseListener(mymouselistener);


}
public static void main(String[]args){
Painter QQ=new Painter();
QQ.showFrame();
}
}
//创建一个鼠标监听器对象
public class MyMouseListener implements java.awt.event.MouseListener{
private int x1,x2,y1,y2;
private java.awt.Graphics g;
//构造函数
public MyMouseListener(java.awt.Graphics gr){
g = gr;
}
//实现接口类中的所有抽象方法
public void mouseClicked(java.awt.event.MouseEvent e){
System.out.println("clicked");
}
public void mousePressed(java.awt.event.MouseEvent e){
System.out.println("pressed");
x1=e.getX();
y1=e.getY();
}
public void mouseReleased(java.awt.event.MouseEvent e){
System.out.println("release");
x2=e.getX();
y2=e.getY();
//画图
g.drawLine(x1,y1,x2,y2);
}
public void mouseEntered(java.awt.event.MouseEvent e){
System.out.println("entered");
}
public void mouseExited(java.awt.event.MouseEvent e){
System.out.println("Exited");
}

}
//如上例
先把MyMouseListener(g)中的实参g传给MyMouseListener(java.awt.Graphics gr)中的形参gr
然后再把gr传给MyMouseListener类中的属性g
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值