Как заполнить JTextArea из метода с помощью System.out.println ()? - PullRequest
1 голос
/ 28 января 2012

У меня проблема с 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()

Вместо System.out.println он должен быть напечатан в JTextArea ... Спасибо за помощь.

Ответы [ 3 ]

7 голосов
/ 28 января 2012

Просто создайте объект JTextArea и используйте метод setText(String t) вместо System.out.println().

JTextArea textArea = new JTextArea();
textArea.setText("Mystring");

Здесь ваша 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"); 
}

Теперь используется метод setText().

textArea.setText(sb.toString());

Учебное пособие по JTextArea Java Swing

2 голосов
/ 28 января 2012

Используйте StringBuffer для создания контента для вашей JTextArea.После этого используйте метод JTextArea.setText () для установки содержимого.

public String 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;
StringBuffer text = new StringBuffer();
text.append("\t\t**************************");
text.append("\t\t*    PROPERTY TABLE:     *");
text.append("\t\t**************************\n");

while (it.hasNext()){

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

text.append("  " + key + "\t-------------------\t
                                        ["+value+"]\n"); 

}// while
return text.toString

} // viewSystemProperties () **

textArea.setText(yourClass.viewSystemProperties());
1 голос
/ 28 января 2012

Вы можете использовать StringBuffer Класс.сделайте одну StringBuffer переменную и продолжайте добавлять каждую System.out.println(), которую вы сделали.в конце используйте метод setText() для установки значения StringBuffer's toString().

...