Note that there are some explanatory texts on larger screens.

plurals
  1. POAppending text to a JTextArea on button press?
    primarykey
    data
    text
    <p>I've got a simple Swing GUI and I want to add a new line of text to a JTextArea after a button is pressed, simple right?</p> <p>The Button and it's ActionListener function correctly (printing stuff to the console works fine), but when I use .append()or .setText() to add text to the textarea, I get a nullpointer exception.</p> <p>As always, code it below. Any input would be greatly appreciated, thanks!!!</p> <pre><code>import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import javax.swing.border.LineBorder; public class GUI extends JFrame implements ActionListener { private JFrame frame; private JLabel paneHeader; public JTextArea ipArea, portArea, outputLog, orderLog, cookLog; private JButton newServer; public String ipAddress, portNumber, cashierName, cookName; public GUI() { initGUI(); } public void initGUI() { frame = new JFrame("Restaurant Overview"); Container contentPane = frame.getContentPane(); JLabel paneHeader = new JLabel("Restaurant Monitoring System"); paneHeader.setBounds(200, 0, 200, 25); paneHeader.setFont(new Font("Calibri", Font.BOLD, 14)); JLabel ipLabel = new JLabel("IP Address: "); ipLabel.setBounds(25, 30, 75, 20); ipLabel.setFont(new Font("Calibri", Font.PLAIN, 12)); final JTextArea ipArea = new JTextArea(); ipArea.setBorder(new LineBorder(Color.GRAY)); ipArea.setBounds(105, 30, 100, 20); JLabel portLabel = new JLabel("Port Number: "); portLabel.setBounds(25, 55, 75, 20); portLabel.setFont(new Font("Calibri", Font.PLAIN, 12)); final JTextArea portArea = new JTextArea(); portArea.setBorder(new LineBorder(Color.GRAY)); portArea.setBounds(105, 55, 100, 20); JButton newServer = new JButton("Create new Server"); newServer.setBorder(new LineBorder(Color.GRAY)); newServer.setBounds(250, 30, 150, 40); newServer.setActionCommand("createserver"); newServer.addActionListener(this); JTextArea outputLog = new JTextArea(" "); outputLog.setBorder(new LineBorder(Color.GRAY)); outputLog.setBounds(25, 90, 150, 150); //outputLog.setEditable(false); JTextArea cashierLog = new JTextArea(); cashierLog.setBorder(new LineBorder(Color.GRAY)); cashierLog.setBounds(185, 90, 150, 150); //cashierLog.setEditable(false); JTextArea cookLog = new JTextArea(); cookLog.setBorder(new LineBorder(Color.GRAY)); cookLog.setBounds(345, 90, 150, 150); //cookLog.setEditable(false); contentPane.add(paneHeader); contentPane.add(ipLabel); contentPane.add(ipArea); contentPane.add(portLabel); contentPane.add(portArea); contentPane.add(outputLog); contentPane.add(cashierLog); contentPane.add(cookLog); contentPane.add(newServer); frame.setLayout(null); frame.pack(); frame.setSize(600,400); frame.setVisible(true); } public void test() { //ipAddress = ipArea.getText() + "\n"; //portNumber = portArea.getText() + "\n"; String text = "lemons"; //System.out.println(text); outputLog.append(text); //outputLog.append(portNumber); } public void actionPerformed(ActionEvent e) { if ("createserver".equals(e.getActionCommand())) { //test(); outputLog.append("lemons"); } else { //Do Nothing } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload