如何使用System.out.println()从方法填充JTextArea?

Gle*_*bus 1 java swing jtextarea

我有一个JTextArea的问题...我有一个方法通过数据库管理器连接到数据库并获得带有结果集的哈希表.之后我在控制台中打印了这些值.现在我必须将控制台更改为JTextArea.这是我班上的一个方法:

public void viewSystemProperties(){

    PropertiesDTO pdto = new PropertiesDTO();
    PropertiesManager pMng = new PropertiesDBmanager();

    pdto.setPropDTO(pMng.getProperties().getPropDTO());
    Iterator<String> it = pdto.getPropDTO().keySet().iterator();

    String key = null, value = null;

    System.out.println("\t\t**************************");
    System.out.println("\t\t*    PROPERTY TABLE:     *");
    System.out.println("\t\t**************************\n");

    while (it.hasNext()){

        key = (String)it.next();
        value = pdto.getPropDTO().get(key);
        System.out.println("  " + key + "\t-------------------\t
                                        ["+value+"]\n");      

    }// while

}// viewSystemProperties()
Run Code Online (Sandbox Code Playgroud)

它必须在JTextArea中打印而不是System.out.println ...感谢您的帮助.

Ran*_*Rag 7

只需创建一个JTextArea对象并使用setText(String t)方法代替System.out.println().

JTextArea textArea = new JTextArea();
textArea.setText("Mystring");
Run Code Online (Sandbox Code Playgroud)

这里你的Mystring可以是StringBuilder对象的字符串表示toString().

StringBuilder sb = new StringBuilder();
while (it.hasNext()){

key = (String)it.next();
value = pdto.getPropDTO().get(key);

sb.append("  " + key + "\t-------------------\t
                                    ["+value+"]\n"); 
}
Run Code Online (Sandbox Code Playgroud)

现在使用setText()方法.

textArea.setText(sb.toString());
Run Code Online (Sandbox Code Playgroud)

JTextArea教程Java Swing

  • +1是第一个提到`StringBuilder`的答案. (2认同)
  • **RanRag**感谢您的帮助...您的代码很有用. (2认同)