程序路上的一些经验

程序路上的一些经验

1.Point类:
定义一个Point点类,成员变量有x,y,成员函数set()设置x
的值,get()获取x,y的值,并定义一个点对象调用set()和get(),并定义一个点对象调用set()和get()构造方法重载。
举例:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        double x1=sc.nextDouble();
        double y1=sc.nextDouble();
        double x2=sc.nextDouble();
        double y2=sc.nextDouble();
        Point p1=new Point(x1,y1);
        Point p2=new Point(x2,y2);

        System.out.printf("%.2f\n",Point.distance(p1,p2));
        System.out.printf("%.2f\n",Point.distance(p1,p2));
    }
}

class Point {
    private double x;
    private double y;

    public Point(){x=0;y=0;}
    public Point(double x,double y){
        this.x=x;
        this.y=y;
    }

    public double getX(){
        return x;
    }
    public double getY(){
        return y;
    }

    public static double distance(Point p1, Point p2) {
        return Math.sqrt((p1.getX() - p2.getX()) * (p1.getX() - p2.getX()) + (p1.getY() - p2.getY()) * (p1.getY() - p2.getY()));
    }
    public double distance(Point p) {
        return distance(this,p);
    }
}

输出结果为:

32.10

2.extend和implements
extends, 可以实现父类,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。
implements,实现父类,子类不可以覆盖父类的方法或者变量。即使子类定义与父类相同的变量或者函数,也会被父类取代掉。

3.Canvas:
一个图形的容器,简单点说就是一块画布,你可以在上画矩形,圆形,三角形,折线等等

4.MouseMotionListener,MouseListener,ActionListener
MouseMotionListener:随时掌握鼠标的坐标,并处理拖曳鼠标的操作。
MouseListener:用于鼠标事件——按下、释放、单击、进入、离开的监听。
ActionListener:当发生事件后,可以监听到这个事件,同时就会执行Actionlistener接口它唯一的方法actionperformed来完成监听后需要执行的操作。

5.Vector类
可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是Vector的大小可以根据需要增大或缩小,以适应创建Vector后进行添加或移除项的操作。Vector是同步的,可用于多线程。

6.Graphics2D:
对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制

7.BufferedImage:
将图片加载到内存中

8.Frame window:
window包括frame,window一定是整个屏幕,而frame可以是整个屏幕,也可以不是整个屏幕,获取整个屏幕。

9.Color类:
是用来封装颜色的使用Color对象较为简单的方法是直接使用Color类提供的预定义的颜色,像红色Color.red、橙色Color.orange等;也可以使用RGB颜色模式进行定义。所谓RGB颜色模式是指使用三种基色:红、绿、蓝,通过三种颜色的调整得出其它各种颜色,这三种基色的值范围为0~255。例如Color c=new Color(255,200,0),定义橙色。
在这里插入图片描述

10.TYPE_INT_ARGB:
代表颜色为int(4个字节)用的24-31位,红色通道alpha通道在16-23,绿色在8-15和蓝色在0-7。

11.Rectangle2D类:
描述通过位置(x,y)和尺寸(w x h)定义的矩形。此类是所有存储2D矩形的对象的惟一抽象超类。坐标的实际存储表示形式由子类决定。

12.setLayout:
对当前组件设置为流式布局。组件在窗体中从左到右依次排列,如果排到行的末尾换行排列,排列会随着窗体的大小而改变。

13.FillRect:
该函数用指定的画刷填充矩形,此函数包括矩形的左上边界,但不包括矩形的右下边界。

14.setBounds()有四个参数:
第一个参数改组件在JFrame中的x坐边
第二个参数改组件在JFrame中的y坐标
第三个参数改组件在JFrame中的组件宽度
第四个参数改组件在JFrame中的组件高度

15.setVisible(true):
方法的意思是说数据模型已经构造好了,允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上了,并不是显示图形,而是可以运行开始画图了

16.addWindowListener:
用于接收窗口事件的侦听器接口。旨在处理窗口事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类WindowAdapter(仅重写所需的方法)。然后使用窗口的addWindowListener方法将从该类所创建的侦听器对象向该Window注册。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将WindowEvent传递给该方法。

17.paint(Graphics g):
java绘图时,最常使用到的就是paint(Graphics g){…内容…}方法获取画笔,然后利用JPanel等容器作为画布,在JFrame内呈现出内容。

18.drawLine(Offset p1,Offset p2,Paintpaint)
Offset【off 开始或结束的意思;set 设置、设定的意思】
p1:绘制开始坐标【相对于原点[0,0]的偏移量】
p2:绘制结束坐标【相对于原点[0,0]的偏移量】
paint:画笔

19.mouseDragged(MouseEvent e):
鼠标按键在组件上按下并拖动时调用。在释放鼠标按键前,MOUSE_DRAGGED事件被连续地传递到发动该拖动的组件(不管鼠标位置是否处于该组件的边界内)

20.FileDialog:
FileDialog(Frame parent,String title,int mode)
int mode有SAVE(保存)和LOAD(读写)两种

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值