JTextField player1Text = new JTextField();
player1Text.setSize(400, 400);
inputWindow.add(player1Text);
System.out.println(player1Text.getText().length());
This will print zero, even though I enter some text in the textbox that appears in the window. However,
JTextField player1Text = new JTextField("input");
player1Text.setSize(400, 400);
inputWindow.add(player1Text);
System.out.println(player1Text.getText().length());
This will print 5 because thats the length of "input". What can I do to get the actual input text?
EDIT: This is my whole code right now. I get a nullpointer exception whenever I run it.
public class NamesInterface extends JFrame implements ActionListener {
Player player1;
Player player2;
JTextField player1Text;
JTextField player2Text;
JButton startButton = new JButton("Start");
public NamesInterface() throws UnexpectedFormatException, IOException {
super();
setSize(500, 1000);
setLayout(new BorderLayout());
setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel inputWindow = new JPanel();
inputWindow.setSize(500, 200);
inputWindow.setLayout(new GridLayout(3, 1));
inputWindow.add(new JLabel("Enter Player 1 name:"));
JTextField player1Text = new JTextField();
player1Text.setSize(400, 400);
inputWindow.add(player1Text);
inputWindow.add(new JLabel("Enter Player 2 name:"));
JTextField player2Text = new JTextField();
player2Text.setSize(400, 400);
inputWindow.add(player2Text);
startButton.setSize(500, 500);
startButton.addActionListener(this);
inputWindow.add(startButton);
this.add(inputWindow, BorderLayout.CENTER);
this.validate();
}
@Override
public void actionPerformed(ActionEvent e){
if (e.getSource() == startButton) {
System.out.println(player1Text.getText());
System.out.println(player2Text.getText());
System.exit(0);
}
}
Exceptions thrown:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at eg.edu.guc.yugioh.gui.NamesInterface.actionPerformed(NamesInterface.java:64)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3322)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:724)
at java.awt.EventQueue$4.run(EventQueue.java:722)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)