Ich, ein Java-Neuling, möchte ein Fenster gestalten mit folgenden Code:
Darin sollen Texte, Buttons, Eingabefelder und Kontrollkästchen etc. erscheinen. Aus Gründen der Übersicht möchte ich dazu separate Klassen in Packages stellen. Diese Klassen will ich dann aus dem "Main-Code" (siehe oben) aufrufen und wie in diesem Beispiel soll dann der Text angezeigt werden.
Hier die Klasse in einem separaten Package zur Anzeige des Textes:
Wenn ich jetzt das kleine Programm ausführe wird nur das Fenster mit dem Titel "Fenster" angezeigt, nicht jedoch darin der Text "Textanzeige" aus der Klasse Visual22.
Wie ich aus einigen Beispielen gelernt habe, "pinnt" man wohl diesen JLabel an ein JPanel, hier "Platte" und verbindet dieses JPanel dann mit dem eigentlichen Fenster.
Fragen:
1. Was hab ich falsch gemacht?
2. Wie muss der Code aussehen, dass es funktioniert?
3. Wie muss der Code aussehen, dass ich im Main-Code den Text an die Klasse Visual22 übergeben kann und dieser dann im Fenster angezeigt wird? Denn letztendlich will ich dann nur einen Text vom Main-Code an die z.B. gleiche Textklasse Visual22 übergeben.
Vielen Dank im Voraus
Quax
Java:
package compmix1;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JPanel;
import compmix2.Visual22;
public class Visual11 extends JFrame
{
// private JPanel Platte = new JPanel ();
// Konstruktor
public Visual11()
{
super("Fenster");
JPanel Platte = new JPanel ();
Visual22 Anzeige = new Visual22();
Platte.add(Anzeige);
setContentPane (Platte);
}
public static void main(String[] args)
{
Visual11 thisClass = new Visual11();
thisClass.setSize(200, 300);
thisClass.setDefaultCloseOperation(EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
}
Hier die Klasse in einem separaten Package zur Anzeige des Textes:
Java:
package compmix2;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Visual22 extends JLabel
{
private JLabel jLabel = new JLabel();
public void setzeText()
{
jLabel.setText("Textanzeige");
jLabel.setSize(30,20);
jLabel.setVisible(true);
}
}
Wie ich aus einigen Beispielen gelernt habe, "pinnt" man wohl diesen JLabel an ein JPanel, hier "Platte" und verbindet dieses JPanel dann mit dem eigentlichen Fenster.
Fragen:
1. Was hab ich falsch gemacht?
2. Wie muss der Code aussehen, dass es funktioniert?
3. Wie muss der Code aussehen, dass ich im Main-Code den Text an die Klasse Visual22 übergeben kann und dieser dann im Fenster angezeigt wird? Denn letztendlich will ich dann nur einen Text vom Main-Code an die z.B. gleiche Textklasse Visual22 übergeben.
Vielen Dank im Voraus
Quax