画图板中遇到的问题

仿xp系统的画图板还在继续,这期间也碰到了一些问题并及时解决了,现整理如下:
(一)调整窗体中组件大小的方法和添加图标的方法
  1.在画图板上我们需要添加许多大大小小的按钮,并往里面添加图片,这里就需要用到按钮调整大小的方法,然而我们发现当调用button.setSize()的时候并没有改变按钮的大小,这是因为setSize只能用于顶级容器,当一些组件需要改变的时候应该调用的是其setPreferred()方法,使用方法如下:
  button.setPreferredSize(new Dimension(25,25));

  2.当按钮调节完毕后就需要往里面添加图片了,这里需要两个步骤:一、导入图片。二、往按钮添加图片。只需要简单的两个语句即可。方法如下:
  ImageIcon icon = new ImageIcon("drawImage.jpg");  //定义图片对象
  button.setIcon(icon);  //设置按钮图标
 
(二)鼠标拖拽监听的方法
   之前实现画直线、矩形和椭圆的时候使用的是MouseListener监听器,但是其中只能监听鼠标的进入、离开、按下、施放、点击的五种事件,当我们希望实现铅笔的时候,发现它已经不能满足我们的需求,即监听鼠标的拖拽。这里需要引入一个新的监听器:MouseMotionListener。这个监听器可以监听鼠标的拖拽和移动。实现接口应覆盖两个方法:mouseDragged(MouseEvent e)和mouseMoved(mouseEvent e)
  
(三)使用equals比较字符串时注意的一点
   因为当一个字符串调用equals方法时,如果字符串为null则会出现空指针异常,所以在程序中为了避免这个异常,当需要使用一个字符串变量去和一个字符串常量做比较时,我们可以把常量放在前面,即用常量去调用equals方法,这样就避免了当没有初始化字符串变量时的空指针异常。如:
   "空指针异常".equals(command);    //command为一个字符串变量

(四)获取画布方法放置位置
   前一篇博客也有写获取画布的方法应该放在窗口可见之后,不然会提示Graphics空指针异常,现在又发现窗口可见这个方法应该放在窗口添加完组件之后,不然会使组件显示不全。
   由此发现初始化窗口的程序中一定要注意各个语句的顺序,不然会产生一些意想不到的错误。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值