jLabel输出不会在GUI的同一个实例中输出文本

时间:2015-06-26 12:13:09

标签: java swing jlabel

我有一个jLabel应该根据活动目录搜索输出计算机名称。计算机名称被分配给变量" CN"没问题,但除非我再次运行gui,否则它不会出现在jLabel上。如何让jLabel文本在gui的同一个实例中实时显示? CN变量出现在所发布代码的底部。

            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();


        }
    });

    try (BufferedReader br = new BufferedReader(new FileReader("resultofbatch.txt")))
    {


        final Pattern PATTERN = Pattern.compile("CN=([^,]+).*");
        try {
            while ((sCurrentLine = br.readLine()) != null) {

                String[] tokens = PATTERN.split(","); //This will return you a array, containing the string array splitted by what you write inside it.
                //should be in your case the split, since they are seperated by ","
               // System.out.println(sCurrentLine);
                CN = sCurrentLine.split("CN=",-1)[1].split(",",-1)[0];

                System.out.println(CN);
                 testLabel.setText(CN);

            }


        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        } catch (IOException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }

新增代码

@Override
    protected Integer doInBackground() throws Exception {
          System.out.println(CN);
           testLabel.setText(CN);

        return null;
    }

0 个答案:

没有答案