Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe in einer Klasse x einen output [ System.out.println("test"); ]
Wie kann ich diesen output in einer anderen Klasse y in einer textarea darstellen?
Hintergrund:
Ich habe meine Gui in eine externe Klasse gepackt, damit mir in meiner Hauptklasse die Übersicht nicht
flöten geht. Nun möchte ich, dass meine Meldungen in der Textarea in der Gui erscheint.
hallo,
ich habe durch die Suchfunktion dieses Thema gefunden, da ich ein aehnliches Problem habe!
Ich soll hier in der UNI ein Programm erstellen mit einer GUI. In der GUI sind folgende Objekte enthalten:
1.3 Buttons zum starten von 3 verschiedenen Threads
2.Ein TextArea zum Anzeigen der Threads
3.Ein TextField zum eingeben der Loops, die ein Thread ablaufen soll
4.Ein OK button zum setzen der Loop variable?!(bin mir nicht sicher)
5.Ein Clear Button der den Inhalt im TextArea loescht
Alle drei Threads haben dieselbe Funktionsweise!
Hier ein Beispiel
class ThreadA:
Java:
class ThreadA extends Thread {
public void run() {
synchronized(this) {
for (int i=0; i<20; i++){
// try {
// sleep(10000);
// }
// catch(InterruptedException e) {
// System.out.println("");
// }
System.out.println("ThreadA number :" +i);
//text.append("ThreadA number :" +i);
}
}
}
}
Bisher habe ich in einer anderen Klasse, ein Frame erstellt, das mir alles oben erlaeuterte darstellt.
Ich habe nun das Problem, das beim druecken auf die Buttons, die Ausgabe im Terminal Fenster geschieht, aber ich weiss (Programmiertechnisch) nicht wie ich es moeglich machen soll, das ich die Ausgabe in meinem TextArea erzwinge!?
Hier ist die Klasse, in der ich das Frame initialisiere!
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
import java.io.*;
public class ThreadTester extends JFrame {
//Declaration of variables
//private JTextArea text = JTextArea();
ThreadA a = new ThreadA ();
ThreadB b = new ThreadB ();
ThreadC c = new ThreadC ();
//definition of variables
//double number1, number2, number3;
//JTextField = new JTextField();
JButton threada = new JButton();
JButton threadb = new JButton();
JButton threadc = new JButton();
JTextArea text = new JTextArea(10, 25);
JTextField loop = new JTextField();
JButton ok = new JButton();
JButton clear = new JButton();
//constructor
public ThreadTester (String Title) {
//initialize frame
super (Title);
addWindowListener (new WindowAdapter() {
public void windowClosing (WindowEvent evt) {System.exit(0);}
});
setSize(300, 300);
getContentPane().setLayout(new FlowLayout());
//frame components
threada.setText("ThreadA");
getContentPane().add(threada, BorderLayout.CENTER);
threada.addActionListener (new ActionListener () {
public void actionPerformed (ActionEvent evt) {
threadaActionPerformed (evt);
}
});
threadb.setText("ThreadB");
getContentPane().add(threadb, BorderLayout.CENTER);
threadb.addActionListener (new ActionListener () {
public void actionPerformed (ActionEvent evt) {
threadbActionPerformed (evt);
}
});
threadc.setText("ThreadC");
getContentPane().add(threadc, BorderLayout.CENTER);
threadc.addActionListener (new ActionListener () {
public void actionPerformed (ActionEvent evt) {
threadcActionPerformed (evt);
}
});
//text.setText("");
text.setEnabled( false );
getContentPane().add( text );
//Definition of TextField
getContentPane().add(new Label("Loops:"));
loop.setColumns(5);
//text.setRows(25);
getContentPane().add(loop, BorderLayout.CENTER);
ok.setText("OK");
getContentPane().add(ok, BorderLayout.CENTER);
/*ok.addActionListener (new ActionListener () {
public void actionPerformed (ActionEvent evt) {
okActionPerformed (evt);
}
});*/
clear.setText("CLEAR");
getContentPane().add(clear, BorderLayout.CENTER);
clear.addActionListener (new ActionListener () {
public void actionPerformed (ActionEvent evt) {
clearActionPerformed (evt);
}
});
}
//frame methods:
//When Button pressed start Thread A
public void threadaActionPerformed (ActionEvent evt) {
a.start();
}
//When Button pressed start Thread B
public void clearActionPerformed (ActionEvent evt) {
text.setText("");
}
public void threadbActionPerformed (ActionEvent evt) {
b.start();
}
//When Button pressed start Thread C
public void threadcActionPerformed (ActionEvent evt) {
c.start();
}
public JTextArea getArea() {
return text;
}
//Main Programm
public static void main (String [] args) {
new ThreadTester("ThreadTester").setVisible(true);
//new ThreadTester gui = new ThreadTester();
//this.gui.getArea().append("TEXT");
// A.setPriority(1);
// C.setPriority(9);
// B.setPriority(2);
// A.start();
// B.start();
// C.start();
}
}
// public static void main (String args[]) {
// new Calculator("BASIC CALCULATOR").setVisible(true);
[/javqa]
PS: Ich hoffe es klappt mit dem PASTE des Java Codes, bitte um verzeihung, wenn es nicht klappt!
Freue mich auf gute Ratschlaege, bis dann gruss Leutnant(hab mein pw verlegt *grml*)