Вам нужно дать Log нестатическую переменную MainForm и передать ссылку на текущий визуализируемый объект MainForm в класс Log и в эту переменную. Это можно сделать с помощью параметра конструктора Log или с помощью метода установки. Затем вы можете вызывать методы для этого экземпляра (но проверяя, что он не равен нулю). Что-то вроде:
public class Log {
private MainForm mainForm; // our MainForm variable
public Log(MainForm mainForm) {
// setting the MainForm variable to the correct reference in its constructor
this.mainForm = mainForm;
}
private void consoleOut(String data) {
System.out.println(data);
if (mainForm != null) {
// now we can use the reference passed in.
mainForm.setConsoleText("data");
}
}
}
Редактировать 1
Например, если вы создаете свой объект MainForm и где-то отображаете его из основного метода, создаете вместе с ним Log и передаете визуализированную MainForm в конструктор Log, что-то вроде этого:
public static void main(String[] args) {
MainForm myMainForm = new MainForm();
// ... whatever code is necessary to set up the
// ... MainForm object so it can be visualized
myMainForm.setVisible(true); // and show it
Log myLogObject = new Log(myMainForm);
//...
}
Обратите внимание, что если это не поможет, вам нужно будет опубликовать больше кода.