java 初学者各种注意事项

注意:以下列出的小问题均为自己在特定环境下遇见过的,且通过以下方式成功解决掉了,如你遇到同样问题,但是通过以下方法却还是无法解决,那就请另求高援吧。

或许在你编写程序的时候,由于不小心写漏了什么,或许写的不规范等问题很小,但是却耽搁了自己很多时间去debug,所以在此小小总结一点自己遇到过的麻烦。

          1.addWindowListener监听无用,可能你对比你的代码和其他的代码,均无书写错误,且程序运行正常,但是就是addWindowListener()监听无效,或许有时候又不知怎么的就ok了,但是就是找不到原因。这是因为在模态对话框下,addWindowListener与setVisible的先后顺序很有关系,需要addWindowListener在前,然后再setVisible,不然则会监听无效。详情请参考:http://blog.csdn.net/ap0406708/article/details/3356045

           2.GUI界面动态添加删除组件。有时候你动态改变一个组件的内容,不能马上改变,而且当用鼠标在组件上一点击就ok了,很郁闷,很影响心情。试试这个吧:添加组件之后需要调用容器的validate方法,而删除组件之后调用容器的repaint方法。

           3.这个一个需要注意的地方,对于一个组件很多时候既可以用actionlistener也可以用mouselistener对其监听,两者有什么区别,在此提出一点:对于不可用(setenable(fasle))的JButton,这个时候actionlistener可以很正常的工作,但是mouselistener就不一样了,即使按钮不可用,但是仍然能够触发监听事件。更多区别问度娘去吧。参考:http://www.lslnet.com/linux/dosc1/28/linux-227017.htm

            4.对于窗口布局的时候,虽然api给出了很多方法,但是有些方法也不是随时都能用的,也不是布局结果就和你预想的一样。比如说,setBounds这个方法,不知道怎么就不行了,此时你应该试试把其父组件的布局设为null即setLayout(null),还是不行的话就得另寻它法了。

            5. getGraphics()返回值为null有时候你想直接修改一个JPanel的背景或者添加点图片什么的,你没有重载JPanel,而是用getGraphics()来获取画布的画笔,以达到重画的效果,结果却让人不爽,返回值为空,悲哀,无奈。这是因为要修改画布内容需要等会组件显示过后再能修改,即在主窗口setVisible()过后才行。所以啊,最好的办法还是去对JPanel重构吧,不哟啊执着于此。

           待续........

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值