问题出在这里:
/** 添加监听器* */
Encoding listener = new Encoding();
jtfc.addActionListener(listener);
jtfn.addActionListener(listener);
jb.addActionListener(listener);
jbs.addActionListener(listener);
jrb1.addActionListener(listener);
jrb2.addActionListener(listener);
------------------------------
原因:Encoding 本身是一个ActionListener,jtfc都在本身 的Encoding 中,Encoding listener = new Encoding();这句话,生成了一个新的ActionListener,导致了jtfc等一干控件都去监听了这个新的ActionListener了,所以会导致空指针,只要改成下面的代码就行了:
//Encoding listener = new Encoding();这句话要注释掉
jtfc.addActionListener(this);
jtfn.addActionListener(this);
jb.addActionListener(this);
jbs.addActionListener(this);
jrb1.addActionListener(this);
jrb2.addActionListener(this);
path 里没内容啊 为null
判断下 if(path==null)就不执行下句