JTextArea führt setText() nicht aus

Nadzieja

Grünschnabel
Hi ihrs,

ich hab folgendes Problem:
In einem Tabbedpane habe ich ein Fenster, dass nur eine JTextArea enthält und in die bei Aufruf eigentlich etwas hineingeschrieben werden soll. Aber irgendwie will die Textarea mal gar nicht. Sie regiert nicht auf den setText()-Befehl und ich weiß absolut nicht warum.
Hier mal mein Panel:

Code:
public class DruckVersionPanel extends JPanel
{
	
	private JTextArea druckVersionArea;
	private JScrollPane scrollArea;
	private Mainframe main;
	
	public DruckVersionPanel(Mainframe main)
	{
		this.main = main;
		druckVersionArea = new JTextArea();
		druckVersionArea.setLineWrap(true);
		druckVersionArea.setEditable(true);
		scrollArea = new JScrollPane(druckVersionArea);
		scrollArea.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		
		GridBagLayout gridbag = new GridBagLayout();
    	GridBagConstraints gbc = new GridBagConstraints();
    	Insets insets = new Insets(50, 100, 50, 100);
    	setLayout(gridbag);
    	
    	gbc = new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0,
    			GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 1, 1);
    	gridbag.setConstraints(scrollArea, gbc);
    	add(scrollArea); 
	}
	
	public void setDruckVersion(Sequenz sequenz)
	{
		String druckVersion = "<html><b>" + "Routine" + "</b></html>" + "blabla"
		//Hier ist ein etwas längerer String, der aber funktioniert...
		druckVersionArea.setText(druckVersion);
		this.revalidate();
	}
}

Achja, im Konstruktor kann ich den setText Befehl ohne weiteres ausführen.
Die Methode wird extern aufgerufen, der Aufruf klappt ohne weiteres....

Liebe Grüße
 
Um dir den genauen Grund sagen zu können musst du noch schreiben wie du die setDruckVersion() methode aufrufst? ich hab sie über einen Button aufgerufen und da funkt. es einwandfrei!
 
Ich ruf sie im Mainframe auf... (indirekt wird sie da übers Menü aufgerufen)

Die Methode heißt so: (Standard ist dabei != null)
Code:
private SequenzHinzufuegen hinzufuegen;
private DruckVersionPanel druckVersion;

if(e.getActionCommand().equals("Standardsequenz anzeigen"))
{
	hinzufuegen.setzteSequenz(standard);
	druckVersion.setDruckVersion(standard);
}

Ist jetzt nur ein Ausschnitt vom Mainframe...
 
Code:
String druckVersion = "<html><b>" + "Routine" + "</b></html>" + "blabla";

hier ist kein strichpunkt aber das wird dir schon aufgefallen sein!

Probier einfach mal das du dir überall ein Sytem.out.println("test1") einfügst damit du merkst ob er die methode überhaupt aufruft und wo er stehen bleibt!
Code:
if(e.getActionCommand().equals("Standardsequenz anzeigen"))
{
      Sytem.out.println("test1");	
      hinzufuegen.setzteSequenz(standard);
       Sytem.out.println("test2");
	druckVersion.setDruckVersion(standard);
}


public void setDruckVersion(Sequenz sequenz)
	{
		Sytem.out.println("test3");
                String druckVersion = "<html><b>" + "Routine" + "</b></html>" + "blabla";
                Sytem.out.println("test4");
		//Hier ist ein etwas längerer String, der aber funktioniert...
		druckVersionArea.setText(druckVersion);
                Sytem.out.println("test5");
		this.revalidate();
	}
 
Hab den Fehler gefunden, ich durfte die Methode nicht über das Mainframe aufrufen, sondern über das Panel, dass das Jtappedpane beinhaltet....

Danke trotzdem :)

P.S.: Das mit dem Test hatte ich vorher auch, der is normal durchgelaufen, hat die Methode nur nicht ausgeführt
 
Zurück