Hallo,
habe probleme Text in einer TextArea anzuhängen/einzufügen.
Habe eine GUI Klasse und eine zweite Klasse Uptime.
Es soll auf einen Button geklickt werden und dann ein Ergebnis aus der pingAn Funktion der Uptime Klasse in der TextArea angezeigt werden. Über die checkButtonActionPerformed Methode (unten in der GUI klasse) wird die pingLabor Methode (Uptime) aufgerufen, welche dann wiederum die pingAn() Methode aufruft aus der die Ergebnisse kommen sollen. Die pingAn() Methode (Uptime) übergibt das Ergebnis an die setResultArea Methode welche dann die TextArea bestücken soll.
In der checkButtonActionPerformed (GUI) methode habe ich hinter dem Aufruf der pingLabor Methode zum Test einen append für die TextArea.. dieser funktioniert.
In der setResultArea Methode habe ich zum Test einen System.out.println, der auch funktioniert. Der append in der setResultArea Methode funktioniert nicht.
Wär schön wenn sich einer die Mühe macht und mal drüber schaut.. hab versucht soviel wie möglich zu kürzen, damits nich so mühsam is.
Hier der Quelltext:
GUI Klasse:
Klasse Uptime:
habe probleme Text in einer TextArea anzuhängen/einzufügen.
Habe eine GUI Klasse und eine zweite Klasse Uptime.
Es soll auf einen Button geklickt werden und dann ein Ergebnis aus der pingAn Funktion der Uptime Klasse in der TextArea angezeigt werden. Über die checkButtonActionPerformed Methode (unten in der GUI klasse) wird die pingLabor Methode (Uptime) aufgerufen, welche dann wiederum die pingAn() Methode aufruft aus der die Ergebnisse kommen sollen. Die pingAn() Methode (Uptime) übergibt das Ergebnis an die setResultArea Methode welche dann die TextArea bestücken soll.
In der checkButtonActionPerformed (GUI) methode habe ich hinter dem Aufruf der pingLabor Methode zum Test einen append für die TextArea.. dieser funktioniert.
In der setResultArea Methode habe ich zum Test einen System.out.println, der auch funktioniert. Der append in der setResultArea Methode funktioniert nicht.
Wär schön wenn sich einer die Mühe macht und mal drüber schaut.. hab versucht soviel wie möglich zu kürzen, damits nich so mühsam is.
Hier der Quelltext:
GUI Klasse:
Java:
//... imports
public class Gui extends javax.swing.JFrame {
private JButton checkButton;
private JTextArea resultArea;
/**
* Auto-generated main method to display this JFrame
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Gui inst = new Gui();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public Gui() {
super();
initGUI();
}
private void initGUI() {
try {
GroupLayout thisLayout = new GroupLayout((JComponent)getContentPane());
getContentPane().setLayout(thisLayout);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
{
checkButton = new JButton();
checkButton.setText("Check Up / Down");
checkButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
checkButtonActionPerformed(evt);
}
});
}
{
resultArea = new JTextArea();
resultArea.setEditable(false);
}
thisLayout.setVerticalGroup(thisLayout.createSequentialGroup()
.addContainerGap()
.addComponent(checkButton, GroupLayout.PREFERRED_SIZE, 53, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
.addComponent(resultArea, GroupLayout.PREFERRED_SIZE, 157, GroupLayout.PREFERRED_SIZE)
.addContainerGap(43, Short.MAX_VALUE));
thisLayout.setHorizontalGroup(thisLayout.createSequentialGroup()
.addContainerGap(50, 50)
.addGroup(thisLayout.createParallelGroup()
.addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
.addComponent(checkButton, GroupLayout.PREFERRED_SIZE, 123, GroupLayout.PREFERRED_SIZE)
.addGap(0, 177, Short.MAX_VALUE))
.addGroup(thisLayout.createSequentialGroup()
.addComponent(resultArea, GroupLayout.PREFERRED_SIZE, 300, GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap(40, 40));
pack();
setSize(400, 300);
} catch (Exception e) {
//add your error handling code here
e.printStackTrace();
}
}
public void setResultArea(String result){
resultArea.append(result);
System.out.println("test"+result);
}
private void checkButtonActionPerformed(ActionEvent evt) {
Uptime lab = new Uptime();
lab.pingLabor();
resultArea.append("TEST APPEND");
//TODO add your code for checkButton.actionPerformed
}
}
Klasse Uptime:
Java:
/...
public class Uptime{
//...
public void pingLabor(){
//...
pingAn(host);
//...
}
public void pingAn(String host) throws IOException{
//...
if(down){
Gui gui = new Gui();
gui.setResultArea("TEST ERGEBNIS");
System.out.println(host+ " DOWN nicht erreichbar");
}
//...
}