I'm trying to get a thread to run for a swing application on button click, but the value isn't updating. It supposed to grab the computer name I'm searching, but in order for the value to update I have to launch a new instance of the GUI. I created a thread, but for some reason it's not working. Any help is appreciated.
(t.start is at end of code block)
searchComputerButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
              Thread t = new Thread("my non EDT thread") {
                    public void run() {
                        //my work
                        testLabel.setText(CN);
                    }
                };
            String line;
            BufferedWriter bw = null;
            BufferedWriter writer = null;
            try {
                writer = new BufferedWriter(new FileWriter(tempFile));
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            // String lineToRemove = "OU=Workstations";
            String s = null;
            Process p = null;
            /*
             * try { // p = Runtime.getRuntime().exec(
             * "cmd /c start c:\\computerQuery.bat computerName"); } catch
             * (IOException e1) { // TODO Auto-generated catch block
             * e1.printStackTrace(); }
             */
            try {
                p = Runtime.getRuntime().exec("c:\\computerQuery.bat");
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            StringBuffer sbuffer = new StringBuffer();
            BufferedReader in = new BufferedReader(new InputStreamReader(p
                    .getInputStream()));
            try {
                while ((line = in.readLine()) != null) {
                    System.out.println(line);
                    // textArea.append(line);
                    String dn = "CN=FDCD111304,OU=Workstations,OU=SIM,OU=Accounts,DC=FL,DC=NET";
                    LdapName ldapName = new LdapName(dn);
                    String commonName = (String) ldapName.getRdn(
                            ldapName.size() - 1).getValue();
                }
                ComputerQuery.sendParam();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (InvalidNameException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } finally
            {
                try {
                    fw.close();
                }
                catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
            try {
                in.close();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            ComputerQuery.sendParam();
            t.start();
        }
    });
UPDATE
private void threadStart() {
          SwingUtilities.invokeLater(new Runnable() {
            public void run() {
              testLabel.setText(CN);
            }
          });
And I put the method here
JButton searchComputerButton = new JButton("Search");
        searchComputerButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                threadStart();
                String line;
 
     
    