Im struggling to change this segment from requiring a server address hard coded to using
private static inetAddress host;
Here is the code
    import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.*;
public class ChatClient extends JFrame {
    private JFrame chatFrame = new JFrame("Welcome To The Chat Room");
    private JFrame loginFrame;
    private JButton sendBtn, exitBtn;
    private JTextField typingArea;
    private JTextArea inRoom;
    private JTextArea chatBox;
    private JTextField loginInput;
    private static String username, entry;
    private static InetAddress host;
    public static ArrayList<String> usersList = new ArrayList<>();
    BufferedReader networkInput;
    PrintWriter networkOutput;
    public void loginDisplay() throws Exception {
        chatFrame.setVisible(false);
        loginFrame = new JFrame("Welcome User!");
        loginInput = new JTextField(15);
        JLabel usernameLabel = new JLabel("Pick a username:");
        JButton joinServer = new JButton("Enter Chat Server");
        joinServer.addActionListener(new loginBtnClick());
        JPanel loginPanel = new JPanel();
        loginPanel.add(usernameLabel);
        loginPanel.add(loginInput);
        loginFrame.add(BorderLayout.CENTER, loginPanel);
        loginFrame.add(BorderLayout.SOUTH, joinServer);
        loginFrame.setSize(300, 300);
        loginFrame.setVisible(true);
    }
    public void display() throws IOException {
        JPanel mainPanel = new JPanel();
        mainPanel.setLayout(new BorderLayout());
        JPanel southPanel = new JPanel();
        southPanel.setLayout(new GridBagLayout());
        typingArea = new JTextField(40);
        sendBtn = new JButton("Send Your Message");
        sendBtn.addActionListener(new sendBtnClick());
        chatBox = new JTextArea();
        chatBox.setEditable(false);
        chatBox.setLineWrap(true);
        inRoom = new JTextArea();
        inRoom.setEditable(false);
        inRoom.setLineWrap(false);
        inRoom.setSize(150, 300);
        inRoom.append("Users in Room: \n");
        mainPanel.add(new JScrollPane(chatBox));
        mainPanel.add(new JScrollPane(inRoom), BorderLayout.WEST);
        southPanel.add(typingArea);
        southPanel.add(sendBtn);
        mainPanel.add(BorderLayout.SOUTH, southPanel);
        chatFrame.add(mainPanel);
        chatFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        chatFrame.setSize(470, 350);
        chatFrame.setVisible(true);
        //chatFrame.setResizable(false);
    }
    //private String getServerAddress() {
    //  return "127.0.0.1";
    //}
    private class loginBtnClick implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            username = loginInput.getText();
            if (username.length() < 1) {
                System.out.println("Invalid Username");
                JOptionPane.showMessageDialog(null, "Invalid Username");
                //message to server and user error username
            } else {
                loginFrame.setVisible(false);
                networkOutput.println(loginInput.getText());
                try {
                    display();
                } catch (Exception e) {
                    System.out.println(e);
                    System.exit(1);
                }
            }
        }
    }
    private class sendBtnClick implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            if (typingArea.getText().length() < 1) {
            } else {
                networkOutput.println(typingArea.getText());
                typingArea.setText("");
            }
        }
    }
    public void run() throws IOException {
        //String serverAddress = getServerAddress();
        Socket socket = new Socket(host, 1237);
        networkInput = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        networkOutput = new PrintWriter(socket.getOutputStream(), true);
        while (true) {
            String line = networkInput.readLine();
            if (line.startsWith("NAMESENT  ")) {
                if (username != null) {
                    networkOutput.println(username);
                }
            } else if (line.startsWith("NAMEACCEPTED")) {
            } else if (line.startsWith("MESSAGE")) {
                chatBox.append(line.substring(8) + "\n");
            } else if (line.startsWith("LIST")) {
                if (!usersList.contains(line.substring(5))) {
                    usersList.add(line.substring(5));
                    inRoom.append(line.substring(5) + "\n");
                }
            } else if (line.startsWith("SPECMSG")) {
                if (line.substring(8).startsWith(username)) {
                    chatBox.append(line.substring(9 + username.length()));
                }
            } else if (line.startsWith("DISCONNECT")) {
                chatBox.append(line.substring(10) + " has disconnected.");
            }
        }
    }
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            e.printStackTrace();
        }
        ChatClient chat = new ChatClient();
        try {
            chat.loginDisplay();
            chat.run();
        } catch (Exception e) {
        }
    }
In the past i have had it as simple as this but i cant get it to be happy with it
private static void sendMessages() 
                            throws ClassNotFoundException {
    final int PORT = 1239;
    String entry;
    try {
        socket = new Socket(host, PORT);
EDIT
I want to get the top code to not say
socket = new Socket(ServerAddress, 1237)
i want it to say
socket = new Socket(host, PORT);
EDIT 2
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at ChatClient$loginBtnClick.actionPerformed(ChatClient.java:106)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
 
    