Die die aktuelle Größe zusätzlich in einem Label angezeigt wird

V

VansCat

Mitglied
Hallo und Guten Tag!
ich bin ein absoluter Anfänger Student in Java :rtfm:, und ich habe ein Projekt über GUI JLabel machen muss. Mein Deutsch ist nicht so gut, so dass schwer für mich manchmal zu verstehen ist und meinen Lehrer hilft mir nicht.
Ich habe schon die Komponenten in einem LayoutGrid gemacht aber ich versehe nicht was ich beim Label machen soll und wie. Ich bedanke mich sehr für Hilfe :)
Meine Einsendeaufgabe ist:
Erweitern Sie die Anwendung aus diesem Studienheft, in der die Größe eines Textes über die beiden Schaltflächen verändert werden kann, so, dass die aktuelle Größe zusätzlich in einem Label angezeigt wird.
Ordnen Sie die Komponenten bitte außerdem in einem GridLayout mit zwei Spalten an. Welche Komponente wo erscheint, ist dabei Ihnen überlassen.
Bitte beachten Sie, dass Sie den Wert eines int-Typen nicht direkt in einem Label anzeigen lassen können. Sie müssen den Wert erst in den Typen String umwandeln – zum Beispiel mit Integer.toString(<intWert>).
Meinen Quelltext:
Java:
import java.awt.GridLayout;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;


public class TextSpielereiGUI extends JFrame{
	
	//die ID wurde automatisch mit Eclipse ergänzt
	private static final long serialVersionUID = 9101793356610287754L;

	//ein Label und zwei Schaltflächen als Instanzvariablen
	private JLabel ausgabe;
	private JButton schaltflaecheGroesser, schaltflaecheKleiner;
	//The actual size to be displayed as Label 
	private int schriftGroesse;
	
	
	
	//eine innere Klasse für den WindowListener und den ActionListener
	//die Klasse ist von WindowAdapter abgeleitet und
	//implementiert die Schnittstelle ActionListener
	class MeinKompakterListener extends WindowAdapter implements ActionListener{
		//für das Öffnen des Fensters
		@Override
		public void windowOpened(WindowEvent e) {
			//für die Eingabe
			String eingabe;
			eingabe = JOptionPane.showInputDialog("Geben Sie einen Text ein");
			//den Text in das Label setzen
			ausgabe.setText(eingabe);
			//das Fenster neu "packen"
			pack();
		}

		//für die Schaltflächen
		@Override
		public void actionPerformed(ActionEvent e) {
			//wurde auf Größer geklickt
			if (e.getActionCommand().equals("+")) 
				//die Schriftgröße um 1 erhöhen
				schriftGroesse++;
			//wurde auf Kleiner geklickt
			if (e.getActionCommand().equals("-")) 
				//die Schriftgröße um 1 verringern
				schriftGroesse--;
			//und neu setzen
			ausgabe.setFont(new Font("Arial", Font.PLAIN, schriftGroesse));
			//das Fenster neu "packen"
			pack();
		}
	}

	//der Konstruktor
	//er erzeugt die Komponenten und setzt die Fenstereinstellungen
	public TextSpielereiGUI(String titel) {
		//den Konstruktor der Basisklasse aufrufen und den Fenstertitel übergeben
		super(titel);
		//die beiden Schaltflächen
		schaltflaecheGroesser = new JButton("+");
		schaltflaecheKleiner = new JButton("-");
		//ein leeres Label
		ausgabe = new JLabel();
		
		//die Größe für die Schrift setzen
		schriftGroesse = 20;
		//die Schriftart im Label setzen
		ausgabe.setFont(new Font("Tahoma",Font.PLAIN, schriftGroesse));
		//Change from FlowLaout to GridLayout 
		setLayout(new GridLayout (0,2,5,5));
		add(schaltflaecheGroesser);
		add(schaltflaecheKleiner);
		add(ausgabe);
		setSize (250,250);
		setLocationByPlatform(true);
		
		
		//den Listener verbinden
		MeinKompakterListener listener = new MeinKompakterListener();
		addWindowListener(listener);
		schaltflaecheGroesser.addActionListener(listener);
		schaltflaecheKleiner.addActionListener(listener);
		
		//das Fenster packen
		
		//die Standardaktion beim Schließen festlegen
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//das Fenster anzeigen
		setVisible(true);
	}
	public static void main(String[] args) {
		new TextSpielereiGUI("Einsendeaufgabe 1");
	}

}
 
E

Enceladus271

Bekanntes Mitglied
Du musst erstmal ein neues Label zum Frame hinzufügen. Unten rechts hast du ja noch Platz. In diesem Label soll die Fontsize angezeigt werden, die beim Label "ausgabe" gesetzt wurde. Das Update des neuen Labels kannst du in der actionPerformed Methode machen.
 
E

eiligerwind

Mitglied
Hallo Zusammen,

ich krame mal diesen Uraltbeitrag aus...der letzte Hinweis zum war eine weiteres Label zu erzeugen und das Update in der actionPerformed Methode durchzuführen. Daher habe ich zunächst ein weiteres Label (ausgabe2) definiert...

zusätzliche Label ausgabe2:
public class TestGUI extends JFrame{
    
    //die ID wurde automatisch mit Eclipse ergänzt
    private static final long serialVersionUID = 9101793356610287754L;

    //zwei Label und zwei Schaltflächen als Instanzvariablen
    private JLabel ausgabe, ausgabe2;
    private JButton schaltflaecheGroesser, schaltflaecheKleiner;
    //The actual size to be displayed as Label
    private int schriftGroesse;

des weiteren im Konstruktor die ausgabe2 erzeugt. Hierbei die Methode Integer.toString genutzt, da ja ein Integer Wert in einem JLabel angezeigt werden soll.

zusätzliche Label ausgabe2:
//der Konstruktor
    //er erzeugt die Komponenten und setzt die Fenstereinstellungen
    public TestGUI(String titel) {
        //den Konstruktor der Basisklasse aufrufen und den Fenstertitel übergeben
        super(titel);
        //die beiden Schaltflächen
        schaltflaecheGroesser = new JButton("+");
        schaltflaecheKleiner = new JButton("-");
        //ein leeres Label
        ausgabe = new JLabel();
        
        
        
        //die Größe für die Schrift setzen
        schriftGroesse = 20;
        //die Schriftart im Label setzen
        ausgabe.setFont(new Font("Tahoma",Font.PLAIN, schriftGroesse));
        ausgabe2 = new JLabel(Integer.toString(schriftGroesse));
        //Change from FlowLaout to GridLayout
        setLayout(new GridLayout (0,2,5,20));
        add(schaltflaecheGroesser);
        add(schaltflaecheKleiner);
        add(ausgabe);
        add(ausgabe2);

Im zweiten Label wird nun auch der Initialwert der schriftGroesse angezeigt (in diesem Fall 20). Woran ich aber scheitere ist die Aktualisierung über die actionPerformed Methode... die sieht im Moment so aus:

action performed:
@Override
        public void actionPerformed(ActionEvent e) {
            //wurde auf Größer geklickt
            if (e.getActionCommand().equals("+"))
                //die Schriftgröße um 1 erhöhen
                schriftGroesse++;
                ausgabe2 = new JLabel(Integer.toString(schriftGroesse));
            //wurde auf Kleiner geklickt
            if (e.getActionCommand().equals("-"))
                //die Schriftgröße um 1 verringern
                schriftGroesse--;
                ausgabe2 = new JLabel(Integer.toString(schriftGroesse));
            //und neu setzen
            ausgabe.setFont(new Font("Arial", Font.PLAIN, schriftGroesse));
            
            //das Fenster neu "packen"
            pack();
        }
    }

persönlich vermute ich dass hier nicht mit new gearbeitet werden sollte (da ich ja kein neues Label anlegen möchte) aber wenn ich es weglasse beschwert sich der Compiler, dass "Die Methode JLabel(String) ist für den Typ TestGUI.MeinKompakterListener nicht definiert (undefined)"

würde mich ebenfalls als blutigen Anfänger bezeichnen, daher bin ich über jeden Hinweis dankbar. Vielen Dank und VG
 
E

eiligerwind

Mitglied
habs selbst rausbekommen freu 🙂 wenn ich statt des neu setzen des Labesls...mit setText arbeite klappt es...

Ausgabe der Schriftgröße im Label:
ausgabe2.setText(Integer.toString(schriftGroesse));
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
RySa Input/Output aktuelle größe des BufferedWriters ? Java Basics - Anfänger-Themen 5
G Aktuelle Heap-Größe auslesen? Java Basics - Anfänger-Themen 3
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
J Aktuelle Zeit in einer JavaFX Anwendung aktualisieren lassen Java Basics - Anfänger-Themen 4
M FileWriter Neue Datei wenn aktuelle "zu groß" Java Basics - Anfänger-Themen 3
H Erste Schritte Aktuelle Uhrzeit auslesen Java Basics - Anfänger-Themen 64
F Aktuelle Stunde, Minute usw. auslesen Java Basics - Anfänger-Themen 10
D Erste Schritte Einsteigerfrage - Überblick über aktuelle Java-Technologien Java Basics - Anfänger-Themen 6
J FileOutputStream aktuelle Speicher Pfad ausgeben Java Basics - Anfänger-Themen 13
N aktuelle Datum Mikrosekunden genau bestimmen Java Basics - Anfänger-Themen 8
M LinkedList aktuelle position Java Basics - Anfänger-Themen 3
D JEditorPane aktuelle Zeile auslesen Java Basics - Anfänger-Themen 4
A Aktuelle Parameter Java Basics - Anfänger-Themen 4
B aktuelle Position einer JTextArea ermitteln Java Basics - Anfänger-Themen 6
G TrayIcon: Wie aktuelle Position des Icons erhalten? Java Basics - Anfänger-Themen 2
S Aktuelle Zeile bekommen Java Basics - Anfänger-Themen 2
T Aktuelle Datum Java Basics - Anfänger-Themen 4
M Datei ins aktuelle Verzeichnis speichern Java Basics - Anfänger-Themen 5
N ins aktuelle fenster schreiben. Java Basics - Anfänger-Themen 6
N Aktuelle Jahreszahl auslesen? Java Basics - Anfänger-Themen 3
R Woher bekomme ich das aktuelle Jahr oder auch Datum? Java Basics - Anfänger-Themen 4
B Türme von Hanoi: aktuelle Belegungszustände ausgeben? Java Basics - Anfänger-Themen 2
T aktuelle Position in einer Datei Java Basics - Anfänger-Themen 4
R Aktuelle URL herausfinden Java Basics - Anfänger-Themen 5
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
O ADT Graph nach größe Abfragen Java Basics - Anfänger-Themen 42
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
E Array-Größe anpassen Java Basics - Anfänger-Themen 1
Z ArrayList direkt feste Größe mitgeben Java Basics - Anfänger-Themen 13
R Verschachtelte Arraylist und deren Größe auslesen Java Basics - Anfänger-Themen 7
D Größe der Zahlenkombinationen eines Arrays begrenzen Java Basics - Anfänger-Themen 0
J Liste der Größe nach sortieren Java Basics - Anfänger-Themen 2
P Größe der BufferStrategy in der Window-Klasse Java Basics - Anfänger-Themen 5
S String nach Größe sortieren Java Basics - Anfänger-Themen 6
O Größe von Objekten Java Basics - Anfänger-Themen 5
H Erste Schritte Größe eines 2 dimensionalen Arrays ausgeben Java Basics - Anfänger-Themen 6
M Feste Größe des JFrames - Problem mit Dimension Java Basics - Anfänger-Themen 6
S 2D-Spiel im Vollbild an größe anpassen? Java Basics - Anfänger-Themen 3
1 Größe einer zirkulären Liste bestimmen .. ? Java Basics - Anfänger-Themen 2
S JSlider Schritt Größe Java Basics - Anfänger-Themen 5
D Ausgabefenster größe festlegen Java Basics - Anfänger-Themen 3
P JTabel größe ändern und button anzeigen Java Basics - Anfänger-Themen 5
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
L JLabel Icon Größe anpassen Java Basics - Anfänger-Themen 11
S Datentypen und ihre Größe Java Basics - Anfänger-Themen 21
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
L 3 Zahlen einlesen und nach der Größe Sortieren Java Basics - Anfänger-Themen 5
A Bildgröße automatisch auf JLabel Größe konvertieren Java Basics - Anfänger-Themen 9
W Methoden größe zweier tiere vergleichen Java Basics - Anfänger-Themen 15
B JTabbedPane größe der Tabs ändern Java Basics - Anfänger-Themen 6
M Größe einer Datei via. Link ermitteln Java Basics - Anfänger-Themen 9
T Erste Schritte Textfeld übernimmt Größe nicht Java Basics - Anfänger-Themen 11
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
A Größe von Bild festlegen Java Basics - Anfänger-Themen 3
E Buchstaben nach Größe vergleichen Java Basics - Anfänger-Themen 4
M OOP Methode überschreiben mit String-Paramter unterschiedlicher Größe? Java Basics - Anfänger-Themen 19
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
L Größe von Ordner wiedergeben Java Basics - Anfänger-Themen 4
J Array Größe über Kommandozeile eingeben Java Basics - Anfänger-Themen 3
K GUI - Größe nicht änderbar Java Basics - Anfänger-Themen 7
B Tabelle, Größe der Komponenten Java Basics - Anfänger-Themen 2
Luk10 Größe von Objekten Java Basics - Anfänger-Themen 4
ApoY2k Datentypen Größe eines mehrdimensionales Arrays Java Basics - Anfänger-Themen 4
E Titel und Größe vom JFrame setzen Java Basics - Anfänger-Themen 6
A Bild ändert Größe des Gridbag Layouts Java Basics - Anfänger-Themen 4
M Größe einer Konsole ermitteln Java Basics - Anfänger-Themen 2
D Zylinder/Eigenschaften (auf Größe) vergleichen Java Basics - Anfänger-Themen 16
c_sidi90 Größe von Dateien aus File Array ermitteln Java Basics - Anfänger-Themen 12
N zweidimensionales array größe bestimmen Java Basics - Anfänger-Themen 1
I Schriftart / farbe / größe bei Emailversand ändern Java Basics - Anfänger-Themen 17
K Problem mit Applet Größe Java Basics - Anfänger-Themen 5
Luk10 Größe eines Arrays ausgeben Java Basics - Anfänger-Themen 4
B JButton Größe einstellen? Java Basics - Anfänger-Themen 3
T Wie kann ich einem Graph in nem JPanel eine fixe Größe geben? Java Basics - Anfänger-Themen 6
MisterSeven Java Swing - Wie Frame größe festlegen?! Java Basics - Anfänger-Themen 10
M größe JEditorPane Java Basics - Anfänger-Themen 5
radiac Von einem Bild die Größe rausfinden??? Java Basics - Anfänger-Themen 9
J 2Dimensionales Array, Größe durch Eingabe bestimmen Java Basics - Anfänger-Themen 9
S Eclipse Java Applet größe ändern aber wie? Java Basics - Anfänger-Themen 5
M array - größe Java Basics - Anfänger-Themen 8
Z TextArea Größe festlegen Java Basics - Anfänger-Themen 22
K Größe, mehrdimensionales Array Java Basics - Anfänger-Themen 6
B ComboBox Größe ändern Java Basics - Anfänger-Themen 4
P Größe eines JButton? Java Basics - Anfänger-Themen 17
C die Klasse File - die größe der Datei anzeigen Java Basics - Anfänger-Themen 12
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
-horn- Array mit nicht fixer Größe möglich? Nachträgliches befüllen Java Basics - Anfänger-Themen 10
C Größe einer Referenz ? Java Basics - Anfänger-Themen 16
G JButton LookAndFeel - Größe ändern Java Basics - Anfänger-Themen 2
D File(jpeg) größe ändern und dann zu einen byte[] Java Basics - Anfänger-Themen 7
F InternalFrame, Anpassung der Größe Java Basics - Anfänger-Themen 10
F Größe von Grafik-Containern verschieben Java Basics - Anfänger-Themen 2
K globales array - größe im Konstruktor Java Basics - Anfänger-Themen 3
N Integer Array der Größe nach ordnen Java Basics - Anfänger-Themen 1
I Swing-Komponenten-Größe im GridBagLayout beschränken Java Basics - Anfänger-Themen 2
G Button Größe anpassen Java Basics - Anfänger-Themen 4
R textfeld größe definieren Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben