Заполнить textarea из другого класса java

210
29 апреля 2018, 22:30

Есть класс Main

public class Main extends Application{
    //Объявляем переменные для компонентов формы
    Button button;
    Stage window;
    TextArea zurnal;
    TextArea last10;
    TitledPane titledPaneZurnal;
    TitledPane titledPaneLast10;
    TextField timerText;
    Label l1;

public static void main(String[] args) {
    launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
    window = primaryStage;
    window.setTitle("TimeCheck");
    window.setResizable(false);
    button = new Button("Открыть");
    zurnal = new TextArea(); //Создаем объект текстового поля для текстового поля с журналом
    button.setOnAction(e -> {
        try {
            XmlParser.xmlMethod();
        } catch (ParserConfigurationException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        } catch (SAXException e1) {
            e1.printStackTrace();
        } catch (XPathExpressionException e1) {
            e1.printStackTrace();
        }
    });
    l1 = new Label("Журнал добавленных материалов");
    last10 = new TextArea(); //Создаем объект текстового поля для последних 10 записей
    VBox layout = new VBox(20);
    layout.getChildren().addAll(l1, zurnal, last10, button);
    Scene scene = new Scene(layout, 700,500);
    window.setScene(scene);
    window.show();
}

}

И есть класс XmlParser

public class XmlParser {
private static String xmlSource = "http://freerutor.me/rss.xml"; //Ссылка на источник xml
private static String lastFilm ="";
public static Main main = new Main();
static ArrayList<String> searchCopy;

public static void xmlMethod() throws ParserConfigurationException, IOException, SAXException, XPathExpressionException {
    // Создаем DOM
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document bbcDoc = builder.parse(xmlSource);
    ArrayList<String> search = new ArrayList<String>();
    XPath xpath = XPathFactory.newInstance().newXPath();
    String expression = "/rss/channel/item"; //выражение для поиска
    NodeList itemNodes = (NodeList) xpath.evaluate(expression, bbcDoc, XPathConstants.NODESET); //создаем список значений

    for (int i = 0; i < itemNodes.getLength(); i++) {
        String expression2 = "title"; //Ищем заголовки в списке
        Node titleInItemNode = (Node) xpath.evaluate(expression2, itemNodes.item(i), XPathConstants.NODE);
        search.add(titleInItemNode.getTextContent()); // Выводим заголовки
    }
    int position = 0;
    boolean flag = false;
    // Определяем последний фильм, по которому будет вестись отбор
    if (search.get(0).trim() != lastFilm.trim())
    {
        if (lastFilm != "") // если переменная не пуста, то мы определяем позицию материала, который считался "последним" в прошлой проверке
        //и копируем строки с 0 по по ту, на которой находится этот самый материал
        {
            position = search.indexOf(lastFilm);
            lastFilm = search.get(0).trim();
            if (position > 0)
            {
                //searchCopy.clear();
                searchCopy = new ArrayList<String>(search.subList(0, position));
                search.clear();
            }
            else
            {
                searchCopy = new ArrayList<String>(search.subList(0, position + 1));
                search.clear();
            }
        }
        else //Если в переменной ничего нет, то мы записываем в нее название последнего добавленного материала на сайт
        {
            lastFilm = search.get(0).trim();
            position = search.indexOf(lastFilm);
            searchCopy = new ArrayList<String>(search.subList(0, position + 1));
        }
        flag = true;
    }
}

}

Подскажите, как можно заполнить zurnal и last10 значениями из search и searchCopy соответственно при вызове метода XmlParser.xmlMethod()?

READ ALSO
детект браузера и вкладки в нем | Java

детект браузера и вкладки в нем | Java

Пишу 1 полезную программу и нужно делать проверку открыт ли хром и открыта ли в нем определенная вкладка, лучше будет если еще есть возможность...

180
Как узнать, кто использует базу данных?

Как узнать, кто использует базу данных?

Как точно узнать, кто использует MySQL базу данных, узнать ip-адреса всех использующих её серверов? Возможно ли это получить эту информацию относительного...

199
DLE выставление рейтинга

DLE выставление рейтинга

Рейтинг публикации в DLE вероятно хранится в таблице dle_post_extras поля rating и vote_numvote_num это количество проголосовавших вероятно? Что нужно заносить...

302