したがって、私が作成しているプログラムは 2 つのスレッドを使用します。1 つは GUI 用で、もう 1 つは作業用です。
作業スレッド/クラスからの更新を、GUI クラスの JTextArea に出力する必要があります。私が試したことはすべてうまくいかなかったようです。JTextArea にテキストを追加する行の直後に、コンソールにテキストを出力する行を追加しましたが、コンソールがテキストを取得するたびに、GUI で JTextArea に変更は発生しませんでした。
public static void consoleText(String consoleUpdate){
GUI.console.append(consoleUpdate);
}
ワーククラスでこれを試しましたが、何も起こりませんでした。誰でも私の問題を解決する方法を知っていますか?
編集:
メイン.JAVA
public class main {
public static void main(String[] args) {
Thread t1 = new Thread(new GUI());
t1.start();
}
GUI.JAVA
public class GUI extends JFrame implements Runnable{
public static JTextArea console;
private final static String newline = "\n";
public void run(){
GUI go = new GUI();
go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
go.setSize(350, 340);
go.setVisible(true);
}
public GUI(){
setLayout(new FlowLayout());
console = new JTextArea(ConsoleContents, 15, 30);
add(console);
}
WORK.JAVA
...{
consoleText("\nI want this text on the JText Area");
}
public static void consoleText(String consoleUpdate){
GUI.console.append(consoleUpdate);
}