心得:
1、ResultSet用完后时刻记得关闭。
2、用一个对象a获取ResultSet中的记录,总是报nullpointerexception。一直以为是ResultSet的问题,要么getString有问题,或者rs为空。重看代码,才惊觉,我忘记把a实例化了。。。80%的问题都来自于简单的错误。
3、封装,封装,再封装。
4、使用以下代码获取配置文件内容:
1 public String getProperty(String fileName, String key){ 2 String result = null; 3 //InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(fileName); 4 Properties p = new Properties(); 5 try { 6 p.load(this.getClass().getClassLoader().getResourceAsStream(fileName)); 7 result = new String(p.getProperty(key).getBytes("UTF-8"),"UTF-8"); 8 } catch (IOException e) { 9 e.printStackTrace(); 10 } 11 return result; 12 }
在load时,抛java.lang.NullPointerException。不知道是哪一步出现了null。
原因已经确定,是由于在构建路径中忘记添加配置文件所在的路径。
5、使用模态对话框时,遇到了2个问题。
首先是对话框内的组件无法显示。解决的方法是把setVisible方法放在所有组件的最后面,对页面进行重绘。
接着遇到dispose方法失效,即点击确定和取消按钮,都无法dispos,而点击窗口的关闭按钮,又可正常关闭。解决的方法是,把事件监听放在setVisible前面,原因是模态对话框一旦显示了出来,后面的流程都是阻塞的,只有等到对话框变成不可见后,才可以继续执行。所以这里也提到了一点,以后所有事件监听,最好是放在setVisible之前。
待处理的疑问:
暂无
浙公网安备 33010602011771号