利用构造函数传递参数
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
分享到:
相关推荐
在C++的构造函数中,子类继承父类,那么,在创建一个子类成员时,可以同时向父类或者子类的构造函数进行传参,实现方法如下: 写一个例子:mul_argc.c #include #include using namespace std ; //英雄联盟类 ...
1、构造函数 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type='text/css'> *{ margin:0; padding:0;} #wrap{ width:500px; ...
cpp代码-C++:初始化列表:2.向构造函数传递参数
2.IOBase、SerialPort(继承自IOBase)、GPIB(继承自IOBase)三个类修改了构造函数,原来FIFO缓冲的尺寸固定为256,我觉得波特率高时候可能不够用,现在改为通过构造函数传参由用户指定,示例程序中使用4096。...
很显然,这个时候obj的constructor已经不再是创建它的函数,注意到obj.name也是undefined,因此修改构造函数的prototype的contructor并不会影响构造函数所产生的对象。真正的原因是:一个对象的constructor是它的...
es5 生成class,支持构造传参、继承、函数复用、多继承;
而且也和其它诸如构造函数传参等方法一样,会在窗体间大量互相引用各自的成员,造成了彼此之间存在着很大的耦合性,非常不利于窗体模块间的独立,这不符合良好软件设计模式的思想。 如果我们想在一个窗体中访问另一...
构造函数:创建格式与普通函数一致,一般第一个... //创建一个构造函数,为了更简单的展示,函数没有传参 var Fun =function(){ this.name=zs this.age=18 this.sex=男 this.sayHi=function(){ console.log(hi)
14.7.5 函数传参实例五——判断数组排列方式后执行不同的函数 14.8 数组在对象中的传参 14.9 对象数组 14.10 在对象数组中初始化成员变量 14.11 指针数组 14.12 枚举常量与数组 14.13 多维数组 14.14 多维数组的初始...
14.7.5 函数传参实例五——判断数组排列方式后执行不同的函数 14.8 数组在对象中的传参 14.9 对象数组 14.10 在对象数组中初始化成员变量 14.11 指针数组 14.12 枚举常量与数组 14.13 多维数组 14.14 多维...
第二种改变 窗体的构造函数 public f2() { InitializeComponent(); } 在构造函数里加参数..... string c; // 定义变量用于接收f2的值 public f2(string b)// 加参数 原来为 public f2() f2实例化时也得加参数 两者...
复制构造函数 =操作符(copy assignment operator) 这三个特殊的成员函数如果程序员没有实现,编译器将提供默认的实现方式。 析构函数: 形如~foo_t(),函数名和构造函数相同,前面加~,如果对象是自由变量创建,...
javascript深入理解函数 函数声明方法 1.function 函数声明语句 function add(a,b){ return a+b; } console.log(add(1,2)); 2.函数表达式 var add = function (a,b) { ...3.构造函数 Function 关键字 前面...函数传参
7.类的继承:类的公有继承需要我们仔细设计构造函数的传参问题,本质上是先使得父类被合理地构造,其次才是子类 8.虚函数:我们沿用7的程序,在最后,我们申请了父类
//创建MyHandler的实例对象,会执行MyHandler类中的构造函数 MyHandler myHandler = new MyHandler(handlerThread.getLooper()); //获得Message Message msg = myHandler.obtainMessage(); //使用Message...
很多时候,我们需要使用C#中....Ctor 包括 一个空构造函数 和一个静态构造函数, 静态构造函数主要为UrlEncode 和UrlEncodeAndWirte 编码提供参照byte[]数据的初始化作用。如下所示: stati WebClient() public WebCl
代码中给出的组播收发类直接调用即可,收发类可分开使用,通过构造函数的重载,可传参网卡IP,也可在单网卡时不传参。MultiCastRecver为组播数据接收类,MultiCastSender为组播数据发送类,TestMultiCast为收发数据...
本内容练习到的知识点: //英雄对战小游戏 //*封装*、*构造方法传参*、*while+switch*、*集合、泛型* //随机数,数学函数
本内容练习到的知识点: //英雄对战小游戏 //*封装*、*构造方法传参*、*while+switch*、*集合、泛型* //随机数,数学函数,零积分下载。