Exception in thread "main" java.lang.NullPointerException
at com.txw.Ftest.getControlPanel(Ftest.java:28)
at com.txw.Ftest.getJContentPane(Ftest.java:93)
at com.txw.Ftest.initialize(Ftest.java:85)
at com.txw.Ftest.<init>(Ftest.java:81)
at com.txw.Ftest.main(Ftest.java:99)
public class Ftest extends JFrame { private JScrollPane scrollPane; private static final long serialVersionUID=1L; private JPanel jContentPane=null; private JTextArea jTextArea=null; private JPanel controlPanel=null; private JButton openButton=null; private JButton closeButton=null; private JTextArea getJTextArea(){ if(jTextArea==null){ jTextArea=new JTextArea(); } return jTextArea; } private JPanel getControlPanel(){ if(controlPanel==null){ FlowLayout flowLayout=new FlowLayout(); flowLayout.setVgap(1); controlPanel=new JPanel(); //缺少此行就会报错 controlPanel.setLayout(flowLayout); controlPanel.add(getOpenButton(), null); controlPanel.add(getCloseButton(),null); } return controlPanel; } private JButton getOpenButton(){ if(openButton==null){ openButton=new JButton(); openButton.setText("写入文件"); openButton //.addActionListener(new java.awt.event.ActionListerner(){ //java.awt.event.ActionListerner cannot be resolved to a type, "ActionListerner"字母写错,改为“ActionListener” .addActionListener(new java.awt.event.ActionListener(){ public void actionPerformed(ActionEvent e){ File file=new File("word.txt"); try{ FileWriter out=new FileWriter(file); String s=jTextArea.getText(); out.write(s); out.close(); }catch(Exception e1){ e1.printStackTrace(); } } }); } return openButton; } private JButton getCloseButton(){ if(closeButton==null){ closeButton=new JButton(); closeButton.setText("读取文件"); closeButton .addActionListener(new java.awt.event.ActionListener(){ public void actionPerformed(ActionEvent e){ File file=new File("word.txt"); try{ FileReader in=new FileReader(file); char byt[]=new char[1024]; int len=in.read(byt); jTextArea.setText(new String(byt,0,len)); in.close(); }catch(Exception e1){ e1.printStackTrace(); } } }); } return closeButton; } public Ftest(){ super(); initialize(); } private void initialize(){ this.setSize(300,200); this.setContentPane(getJContentPane()); this.setTitle("JFrame"); } private JPanel getJContentPane(){ if(jContentPane==null){ jContentPane=new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.add(getScrollPane(), BorderLayout.CENTER); jContentPane.add(getControlPanel(),BorderLayout.SOUTH); } return jContentPane; } public static void main(String[] args) { // TODO Auto-generated method stub Ftest thisClass=new Ftest(); thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); thisClass.setVisible(true); } protected JScrollPane getScrollPane(){ if(scrollPane==null){ scrollPane=new JScrollPane(); scrollPane.setViewportView(getJTextArea()); } return scrollPane; } }