Wie nehme ich Terminalergebnisse und setze eine JTextArea, um das Terminal zu lesen?

Ich habe kürzlich eine grafische Benutzeroberfläche fertiggestellt, in die ein Benutzer Kriterien eingeben und Ergebnisse erhalten kann, die diesen Bedingungen entsprechen. Das Programm funktioniert ergebnismäßig, aber ich habe Probleme, mein textField in meiner GUI zum Lesen meines Terminalfenster-Ergebnisses zu bringen. Mein Code für die GUI lautet wie folgt:

package project205;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class HouseListGUI extends JFrame
{
//GUI Components

HouseList availableHouses = new HouseList("src/houses.txt");

 JLabel  cLab   = new JLabel("Criteria");
 JLabel  minLab   = new JLabel("Min");
 JLabel  maxLab   = new JLabel("Max");
 JLabel  pLab   = new JLabel("Price");
 JLabel  aLab   = new JLabel("Area");
 JLabel  bLab   = new JLabel("Bedrooms");

 JTextField  pMin   = new JTextField(10);
 JTextField  pMax   = new JTextField(10);
 JTextField  aMin   = new JTextField(10);
 JTextField  aMax   = new JTextField(10);
 JTextField  bMin   = new JTextField(10);
 JTextField  bMax   = new JTextField(10);

 JTextArea  results    = new JTextArea(20, 40);

 JButton sButton   = new JButton("Search");
 JButton qButton   = new JButton("Quit");

public HouseListGUI()
{


        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400,300);
        setVisible(true);  





Container c = getContentPane();
c.setLayout(new GridLayout(5,3,10,10));
c.add(cLab);
c.add(minLab);
c.add(maxLab);
c.add(pLab);
c.add(pMin);
c.add(pMax);
c.add(aLab);
c.add(aMin);
c.add(aMax);
c.add(bLab);
c.add(bMin);
c.add(bMax);
c.add(sButton);
c.add(results);
c.add(qButton);

sButton.addActionListener(
  new ActionListener()
  {
    public void actionPerformed(ActionEvent e)
    {
    String pmn = pMin.getText();
    String pmx = pMax.getText();
    String amn = aMin.getText();
    String amx = aMax.getText();
    String bmn = bMin.getText();
    String bmx = bMax.getText();

    int pmn1 = Integer.parseInt(pmn);
    int pmx1 = Integer.parseInt(pmx);
    int amn1 = Integer.parseInt(amn);
    int amx1 = Integer.parseInt(amx);
    int bmn1 = Integer.parseInt(bmn);
    int bmx1 = Integer.parseInt(bmx);


    Criteria theCriteria = new Criteria(pmn1, pmx1, amn1, amx1, bmn1, bmx1);

    availableHouses.printHouses(theCriteria);

    results.setText("");

    }
  });


qButton.addActionListener(
        new ActionListener()
        {
             public void actionPerformed(ActionEvent e)
             {
                 System.exit(0);
             }
        }
        );
}
public static void main(String[] args)
{

    //HouseList availableHouses = new HouseList("src/houses.txt");
    HouseListGUI g1 = new HouseListGUI();
    g1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    g1.setSize(1000,500);
    g1.show();
}

}

Ich möchte die Ergebnisse der Codezeile availableHouses.printHouses (theCriteria); Dies gibt einen ungültigen Typ zurück, der in den textArea-Ergebnissen @ gedruckt werden sol

Ich habe versucht, mit type cast die Leere als Zeichenfolge zu werfen und dies in Ergebnisse umzuwandeln, dh:

   results.setText((String)availableHouses.printHouses(theCriteria);

Aber Java hat das nicht.

TL; DR:

Wie kann man ein Terminal, das aus einem Methodenaufruf vom Typ void resultiert, als Typ String in eine textArea im Kontext einer GUI drucken?

zur weiteren Klärung:

mein Terminalfenster sieht so aus:

http: //imgur.com/wiewXa

und meine GUI sieht so aus:

http: //imgur.com/wdd0ie

und ich möchte, dass sich mein Terminal in der mittleren Box in der letzten Reihe befindet.

Vielen Dank für alle Ratschläge / Tipps!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage