我在更新文本區域時遇到問題。Swing中的JTextArea問題
我gui.java
聲明textArea
:
JTextArea textArea;
我進入GUI ..
public void startGUI() {
// These are all essential GUI pieces
JLabel jLabInstruction, jLaberror;
JLabel copyright = new JLabel("");
JTextField uI = new JTextField("");
JTextArea textArea = new JTextArea("");
JButton jbtnSubmit;
final JFrame jfrm = new JFrame("app name!");
jfrm.setLayout(new FlowLayout());
jfrm.setSize(300, 300);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textArea = new JTextArea(5, 20);
textArea.setEditable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
jLabInstruction = new JLabel("SYSTEM: Please type in a command: ");
jbtnSubmit = new JButton("Submit");
jLaberror = new JLabel("");
textArea.setMargin(new Insets(10,10,10,10));
jfrm.add(jLaberror);
jfrm.add(textArea);
jfrm.add(jLabInstruction);
jfrm.add(uI);
jfrm.add(jbtnSubmit);
jfrm.add(new JSeparator(SwingConstants.HORIZONTAL));
jfrm.add(copyright);
jfrm.setVisible(true);
}
而且我有寫入上述textArea
的方法:
public void writeToTextArea(String userInputText) {
textArea.append("\nSYSTEM: "
+ userInputText);
}
另外,在tasks.java
中,我可以調用最後一個方法:
gui.writeToTextArea("PROGRAM STARTED!");
我的問題是,文本區域字段沒有更新。什麼都沒有輸入。我想這是因爲它找不到textArea
是什麼。我得到一個:
Exception in thread "main" java.lang.NullPointerException
爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –