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:
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");
}
}