Label erstellen

guguli

Bekanntes Mitglied
Hallo zusammen,

Ich möchte gerne eine Methode Schreiben, die ein Label erstellet wenn sie aufgerufen wird.

Hab zwei Klassen: in eine Klasse rufe ich
Java:
Gui.createLabel(name);

und dieKlasse GUI sieht so aus:
Java:
package DataAnalyse;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Gui extends JFrame {


	private static final long serialVersionUID = 1L;

	int x=0, y=0, width=800, height = 600;
	
	public Gui(){
		Toolkit tk = Toolkit.getDefaultToolkit();
		Dimension dim = tk.getScreenSize();
		
		x = (int) ((dim.getWidth()-width)/2);
		y = (int) ((dim.getHeight()-height)/2);
		setTitle("GUI");
		setBounds(0, 0, 800, 600);
	
		
		setVisible(true);
	}
	
	public static void createLabel(String name){
		JFrame frame = new JFrame("test");
		JLabel label = new JLabel(name);
		JPanel panel = new JPanel();
		frame.add(panel);
		panel.add(label);
	}

	public static void main(String[] args) {
		new Gui();
		DataRead.reader();
	}

}

Ich krieg das label aber nicht angezeigt. Woran kann das liegen???

THX
 

MrClave

Bekanntes Mitglied
Tja, so ist das halt, wenn man von JFrame erbt und dann zusätzlich noch eine Instanz erzeugt, für die man sich dann entscheidet, mit weiter zu arbeiten.

Wenn du deinen Code verstehen würdest, würdest du schnell bemerken, dass du in der Methode createLabel einen neuen JFrame erstellst, welchem du das JLabel hinzufügst und das ganze dann einfach im Nichts verschwinden lässt, durch den mangelnden setVisible-Aufruf.
Es wäre jedoch auch mit dem setVisible-Aufruf verkehrt, denn dein JFrame ist das Objekt "Gui".
Wenn du also Komponenten hinzufügen willst, dann dem Objekt "Gui", also this.


P.S: Wenn du schon die Variablen x, y, width und height deklarierst und mit Werten belegst, solltest du diese auch verwenden.
 

guguli

Bekanntes Mitglied
Hi,
also du meinst so?
Java:
public static void createLabel(String name){
	
		 JFrame frame = new JFrame("test");
	      JLabel label = new JLabel(name);
	   JPanel panel = new JPanel();
	    frame.add(panel);
	    panel.add(label);
	    this.setVisible(true);

das geht nicht da meine Methode static ist.
Also in der ersten Klasse habe ich eine Methode die auch STatic ist, indieser Methode rufe ich
Java:
Gui.createLabel(name);

DEswegen kann ich nicht mit this. arbeiten :)

Oder meinste es anders???
Gruß
 

MrClave

Bekanntes Mitglied
also du meinst so?

Dass das nicht funktionieren kann, sollte man eigentlich sofort sehen.

Tja, so ist das halt, wenn man von JFrame erbt und dann zusätzlich noch eine Instanz erzeugt, für die man sich dann entscheidet, mit weiter zu arbeiten.

Wie gesagt, du erstellst mehrere JFrames. Mit jedem Methodenaufruf immer einen mehr.
Da du von JFrame erbst, ist dein Objekt Gui selbst ein JFrame.
Wäre doch eine Idee, das JLabel dem existierenden JFrame hinzuzufügen, anstatt jedes mal ein neues JFrame zu erstellen.

Aber da das erben von JFrame nicht sonderlich schön, solltest du dich auf die SuFu/Google stürzen, und untersuchen, wieso das so ist, und wie man es hätte besser machen können.
 

hirsra

Aktives Mitglied
Hi.

Ich bezieh mich mal auf Dein erstes Posting.

Dein createLabel wird ja gar nicht aufgerufen! Das setVisible(true) arbeitet auf dem Frame das Gui geerbt hat.

Versuch's mal so:
Code:
public class Gui extends JFrame {
    private static final long serialVersionUID = 1L;

    public Gui() {

        super("GUI");

        int x=0, y=0, width=800, height = 600;
        Toolkit tk = Toolkit.getDefaultToolkit();
        Dimension dim = tk.getScreenSize();

        x = (int) ((dim.getWidth()-width)/2);
        y = (int) ((dim.getHeight()-height)/2);
        setTitle("GUI");
        setBounds(x, y, width, heigth);
    }

    public static void createLabel(JFrame frame, String name) {
        JLabel label = new JLabel(name);
        JPanel panel = new JPanel();

        frame.add(panel);
        panel.add(label);
    }

    public static void main(String[] args) {
        Gui gui = new Gui();

        createLabel(gui, "Name des Label");
        gui.setVisible(true);
//        DataRead.reader();
    }
}
 

guguli

Bekanntes Mitglied
ICh versuche folgendermaßen:

in der ersten Klasse hab ich die Anzahl der Labels bestimmt und eine
Java:
ArrayList<String> array = new ArrayList<String>();
erstellt wodrin ich alle labelNamen gespeichert bekommen.
In der Klasse Gui hab ich dann so weiter gemacht:
Java:
package DataAnalyse;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JLabel;



public class Gui extends JFrame {


	private static final long serialVersionUID = 1L;

	int x=0, y=0, width=800, height = 600;
	
	static JLabel labels[] = new JLabel[DataRead.erg];

	public Gui(){

		Toolkit tk = Toolkit.getDefaultToolkit();
		Dimension dim = tk.getScreenSize();
		
		x = (int) ((dim.getWidth()-width)/2);
		y = (int) ((dim.getHeight()-height)/2);
		
		setTitle("GUI");
		setBounds(0, 0, 800, 600);
		
		// this.createLabel();
		
		this.setVisible(true);
	}
	
	public void createLabel(ArrayList<String> a){
	
		for(int i = 0; i<DataRead.erg-1;i++){
			labels[i] = new JLabel ();
		}
		

	}

	public static void main(String[] args) {
		DataRead.reader();
		new Gui();
		
	}

}
ALso so zusagen dynamisch würde ich die Labels dann erzeugen. aber Mein problem ist diese arryList aus der ersten Klasseso zu verwenden sodass die String da drin als lableName verwendet wird.
also das array sieh so dann aus:
[FillFolder , SolidFolder , OutputFolder , FillUnits , SolidUnits , StartingFile , FilesToSimulate ]

ich will mein erste Label den namen FillFolder und zweites SolidFolder usw. haben.

kann mir dabei einer Helfen ??

THX
 

hirsra

Aktives Mitglied
Super, du erstellst eine Menge Labels und machst damit nichts außer Speichern. Schau Dir mal mein Beispiel im Posting zuvor an. Da wird noch was gemacht mit dem Label!

Vielleicht sollest Du dir erstmal ein Tutorial über das Erstellen von GUI's anschauen!!!!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JavaFX Label.Text mit bind an DoubleProperty binden AWT, Swing, JavaFX & SWT 3
izoards Ausdruck auf Label Drucker AWT, Swing, JavaFX & SWT 1
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
N javafx Position der Bustaben finden label AWT, Swing, JavaFX & SWT 1
N Label Schriftart Ändern javafx AWT, Swing, JavaFX & SWT 2
D JavaFX Label flackert beim aktualisieren AWT, Swing, JavaFX & SWT 12
J JavaFX Label aktualisieren AWT, Swing, JavaFX & SWT 18
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5
I BoxLayout zentriert Label nicht AWT, Swing, JavaFX & SWT 7
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
R JavaFX Label oder Imageview anzeigen mit Buttonklick AWT, Swing, JavaFX & SWT 4
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
A Inhalt wechseln bei Klick auf Label AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX Label lässt sich innerhalb service Task nicht updaten? AWT, Swing, JavaFX & SWT 22
Trèfle JavaFX Formattierung im Label AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
F Countdown in Label anzeigen AWT, Swing, JavaFX & SWT 14
H JavaFX - Label aktualisieren AWT, Swing, JavaFX & SWT 1
J Dateiname im Label einblenden AWT, Swing, JavaFX & SWT 4
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
T Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
T JavaFX Label mit mehreren Images AWT, Swing, JavaFX & SWT 11
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
L JavaFX ContextMenu bei Label mit Linksklick AWT, Swing, JavaFX & SWT 4
J JavaFX - Felder (Label) in einer ForSchleife bearbeiten AWT, Swing, JavaFX & SWT 4
N Anordnung der Label AWT, Swing, JavaFX & SWT 3
N Swing Label auf Panel legen.. AWT, Swing, JavaFX & SWT 2
D JavaFX Label lässt sich nicht mehrmals färben AWT, Swing, JavaFX & SWT 7
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
D Swing JFreeChart Crosshair Label - setPreferredSize oder ähnliches, aber wo ? AWT, Swing, JavaFX & SWT 1
T CSS Rechtsbüdniges Label mit Zwei Zeilen AWT, Swing, JavaFX & SWT 7
J JavaFX Translation Text/Label AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX Text oder Label benutzen AWT, Swing, JavaFX & SWT 4
C Textfeld und Label werden nicht angezeigt (Ubuntu) AWT, Swing, JavaFX & SWT 2
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
Augenblau JavaFX Wechselnde Werte in Label darstellen AWT, Swing, JavaFX & SWT 7
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
M label mit icon verschieben. AWT, Swing, JavaFX & SWT 1
B Swing JXMapKit Mausemove in Label anzeigen AWT, Swing, JavaFX & SWT 0
K Bild in Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
G Label wird nicht erstellt AWT, Swing, JavaFX & SWT 0
7 AWT problem: KeyListener/ test im Label umändern AWT, Swing, JavaFX & SWT 4
W JavaFX Label in Controller-Klasse in einer anderen Controller-Klasse ändern AWT, Swing, JavaFX & SWT 9
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
U Label zeigt nicht überall HTML Zeichen AWT, Swing, JavaFX & SWT 3
F JavaFX label.getWidth() AWT, Swing, JavaFX & SWT 2
T Swing Label aus anderer Methode bearbeiten AWT, Swing, JavaFX & SWT 2
N Input/Output Stream werte in Label anzeigen. AWT, Swing, JavaFX & SWT 6
R JavaFX Label ändern in aufgerufener AnchorPane AWT, Swing, JavaFX & SWT 3
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
G JavaFX CSS: Label in GridPane rechts ausrichten AWT, Swing, JavaFX & SWT 9
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
KrokoDiehl Swing Buchstaben im Label anders färben AWT, Swing, JavaFX & SWT 4
K Zugriff auf Label und Ereignisbehandlung durch zwei Handlerklassen AWT, Swing, JavaFX & SWT 3
P Label rotieren mit Timer AWT, Swing, JavaFX & SWT 5
C Label wird nicht an der richtigen Position angezeigt.. AWT, Swing, JavaFX & SWT 7
H Label mit Icon positionieren AWT, Swing, JavaFX & SWT 14
E Netbeans: Buttons mit Label bzw. Rahmen unterlegen AWT, Swing, JavaFX & SWT 8
J resize - Label bleibt erst schwarz AWT, Swing, JavaFX & SWT 4
T label überschriebt seine werte-SWT AWT, Swing, JavaFX & SWT 3
O Swing JTree um Label (oder Panel) erweitern AWT, Swing, JavaFX & SWT 9
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
N Label auf Hauptfenster manipulieren AWT, Swing, JavaFX & SWT 2
S VAADIN: Problem mit Label AWT, Swing, JavaFX & SWT 18
P Ausgabe Label AWT, Swing, JavaFX & SWT 6
GUI-Programmer Informations-Panel an Label AWT, Swing, JavaFX & SWT 2
S ImageIcon von Label entfernen AWT, Swing, JavaFX & SWT 9
B Label breite ermitteln vor dem rendern? AWT, Swing, JavaFX & SWT 7
A Bekomme das Label nicht in die Mitte von Reihe AWT, Swing, JavaFX & SWT 7
H SWT Markierbares Label AWT, Swing, JavaFX & SWT 8
A Swing Box Label ausrichten AWT, Swing, JavaFX & SWT 3
R Label in den Vordergrund einblenden AWT, Swing, JavaFX & SWT 5
J Hintergrund Label-Frame AWT, Swing, JavaFX & SWT 3
O Swing Label(bzw. Grafik) verdekt von anderm Label AWT, Swing, JavaFX & SWT 2
A TextField und Label AWT, Swing, JavaFX & SWT 8
L Label dynamisch awt AWT, Swing, JavaFX & SWT 2
J Label mit transparentem hintergrund - geht das? AWT, Swing, JavaFX & SWT 21
B Die Werte von getLocation() im Label anzeigen AWT, Swing, JavaFX & SWT 4
Avalarion SWT Listener auf Label oder Text Teile AWT, Swing, JavaFX & SWT 10
C Label Hintergrundbild mit Text AWT, Swing, JavaFX & SWT 6
A SWT - Farbe von Text auf Label ändern AWT, Swing, JavaFX & SWT 2
M gridbaglayout - abstand bei label und field AWT, Swing, JavaFX & SWT 8
hdi SWT Label Text vertikal zentrieren AWT, Swing, JavaFX & SWT 6
T In einem Label scrollen AWT, Swing, JavaFX & SWT 3
Spot84 swt label zeilenumbruch will nicht funktionieren AWT, Swing, JavaFX & SWT 1
L JFreeChar Label für StackedBar AWT, Swing, JavaFX & SWT 3
lumo SWT Label - onResize? AWT, Swing, JavaFX & SWT 5
DasDogma AWT Problem bei Wertzuweisung für Label AWT, Swing, JavaFX & SWT 3
A Label hat falsche Position AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben