String aus anderer Klasse in JTextArea einfügen

Alublech

Mitglied
Hi Leute.
Ich habe ein Problem damit, aus einer anderen Klasse einen String aufzurufen.

Java:
public class Kalendarwoche {

    @XmlElement(name = "Random1", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String random1;
    @XmlElement(name = "Random2", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String random2;
    @XmlElement(name = "Random3", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String random3;

    /**
     * Gets the value of the random1 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRandom1() {
        return random1;
    }

    /**
     * Sets the value of the random1 property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRandom1(String value) {
        this.random1 = value;
    }

der string aus dieser klasse soll in folgender klasse benutzt werden

Java:
public class Main extends JFrame {
 
    public void Main() {
		//Frame erstellen
        UIManager.put("OptionPane.yesButtonText", "Ja");
        UIManager.put("OptionPane.noButtonText", "Nein");
        setSize(1000, 700);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
        setContentPane(new BackGroundPane("bg_main.jpg"));
        setVisible(true);
        addComponents();
    }
 
    public Main() {
    	super("TwitIt");
	}
    
    
    public static void main(String[] args) {
        new Main();
    }
 
    class BackGroundPane extends JPanel {
        Image img = null;
 
        BackGroundPane(String imagefile) {
        	super(null);
            if (imagefile != null) {
                MediaTracker mt = new MediaTracker(this);
                img = Toolkit.getDefaultToolkit().getImage(imagefile);
                mt.addImage(img, 0);
                try {
                    mt.waitForAll();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
 
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(img,0,0,this.getWidth(),this.getHeight(),this);
        }
    }
    
    
    
    public void addComponents() {
		//Komponenten initialisieren
		Icon icon = new ImageIcon("send.gif");
		Icon icon2 = new ImageIcon("random.gif");
		Icon icon3 = new ImageIcon("logout.gif");
		Icon icon4 = new ImageIcon("happy.gif");
		Icon icon5 = new ImageIcon("angry.gif");
		Icon icon6 = new ImageIcon("tired.gif");
		Icon icon7 = new ImageIcon("frightened.gif");
		Icon icon8 = new ImageIcon("bad.gif");
		Icon icon9 = new ImageIcon("suprised.gif");
		Icon icon10 = new ImageIcon("tweets.gif");
		
    	TextArea 	tt = new TextArea();
		JTextArea	tp = new JTextArea();
		String wort = "Hase Haus Hose Helden";
		tp.append(Hier muss der String rein);
		tp.setLineWrap(true);
		tp.setBorder(BorderFactory.createEtchedBorder());
...


gruß
Alublech
 
Wo wird bei dir ein Objekt von Kalendarwoche erstellt?

Wenn du in einer dritten Klasse die beiden Kalendarwoche und Main erstellst, musst du in beiden erstellten Objekten eine Referenz auf das jeweils andere Objekt erstellen.

zb:
Java:
class bla {
    public static void main(String[] args) {
        Main m = new Main();
        Kalendarwoche k = new Kalendarwoche();

        k.mn = m;
        m.kw = k;
    }
}

wenn
Code:
Main mn;
in der Klasse Kalendarwoche und
Code:
Kalendarwoche k;
in Main definiert ist
 
Zuletzt bearbeitet:
Hi,

nicht böse sein, aber erwartest du ernsthaft dass du eine Antwort bekommst, nachdem du in einem Forum einfach mal 100 Zeilen Code reinstellst und fragst "wo ist der Fehler" ?

Es wäre zb hilfreich zu wissen welchen String du auslesen willst, oder was du überhaupt machen möchtest (außer "eine String auslesen"). Kommt eine Exception? Bekommst du null zurück? Syntax-Fehler?

Lg (wirklich nicht böse gemeint diese Nachricht)
 
Der String Random1 soll in der Klasse "Main" benutzt werden. Ich will ihn im Jtextarea "tp" anzeigen lassen. den Befehl habe ich und mit einem String, der schon in der Klasse Main erstellt wird, klappt das auch ohne Probleme. Meine Frage ist nun wie ich den String "Random1" aus der Klasse "Kalendarwoche aufrufen kann
 
Hi,

da du wie du schon selber sagst etwas aus der Kalenderwoche-Klasse lesen willst (und das nicht static ist), wirst du wohl eine Instanz von der Klasse brauchen (ohne der wirds nicht gehn 🙂 ). Sobald du die hast, sollte es mit kalenderwoche.getRandom1(); problemlos gehen (sofern deine Instanzvariable "kalenderwoche" heißt 😛)

Sorry falls dir das ohnehin bewusst war, aber ich sehe leider immer noch nicht das Problem.

Lg
 
> Meine Frage ist nun wie ich den String "Random1" aus der Klasse "Kalendarwoche aufrufen kann

na mit getRandom1() offensichtlich, das weißt du doch sicher auch selber,
die interessanten Fragen läßt du weiter aus, wann und wo ist dieses Objekt verfügbar?
in der main bringt es nichts, musst du an die Klasse übergeben (wobei hier nachweislich nicht Fall),
wenn noch kein Objekt der Klasse existiert musst du erst eins erzeugen usw.

wenn du mit einem blauen Kugelschreiber auf eine Leinwand malen willst, wird dir auch niemand mehr sagen können,
als dass du dir den Stift zur rechten Zeit kaufen und im gleichen Raum wie die Leinwand vorliegen haben und dann auch mit der bekannten Armbewegung verwenden musst usw.,
alles Simplizitäten
 

Zurück
Oben