GridLayout

thor_norsk

Bekanntes Mitglied
Guten Abend, ich habe eine Aufgabe erhalten, und habe Problem bei der Umsetzung.

Aufgabe) 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-Typs nicht direkt in einem Label anzeigen lassen können. Sie müssen den Wert erst in den Typ String umwandeln - zum Beispiel mit Integer.toString(<intwert>).

Original - Aufgabestellung

[CODE lang="java" title="GridLayout"]package thor_06;

import java.awt.FlowLayout;
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;
//für die aktuelle Schriftgröße
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("Arial",Font.PLAIN, schriftGroesse));
//ein Layout anwenden
setLayout(new FlowLayout());
add(schaltflaecheGroesser);
add(schaltflaecheKleiner);
add(ausgabe);

//den Listener verbinden
MeinKompakterListener listener = new MeinKompakterListener();
addWindowListener(listener);
schaltflaecheGroesser.addActionListener(listener);
schaltflaecheKleiner.addActionListener(listener);

//das Fenster packen
pack();
//die Standardaktion beim Schließen festlegen
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//das Fenster anzeigen
setVisible(true);
}
}[/CODE]

[CODE lang="java" title="GridLayout"]package thor_06;

public class TextSpielereiProgramm {
public static void main(String[] args) {
new TextSpielereiGUI("Eine Spielerei mit Text");
}
}[/CODE]

Erweiterung: mit Integer.toString(intwert) funktioniert nicht!

[CODE lang="java" title="GridLayout"]import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
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;

//zwei Label und zwei Schaltflächen als Instanzvariablen
private JLabel ausgabe, ausgabeZahl;
private JButton schaltflaecheGroesser, schaltflaecheKleiner;
//für die aktuelle Schriftgröße
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(">");
//zwei leere Label
ausgabe = new JLabel();
ausgabeZahl = new JLabel();

//die Größe für die Schrift setzen
schriftGroesse = 20;
//die Schriftart im Label setzen

ausgabe.setFont(new Font("Arial",Font.PLAIN, schriftGroesse));


//Typ-Umwandlung: Integer in String
String ausgabeZahl = Integer.toString(schriftGroesse);
ausgabe2.equals(ausgabeZahl);

//ein Layout anwenden
setLayout(new GridLayout(2,2)); // Ist erforderlich, sonst liegen Alle Schaltflaechen unterhalb des Labels und bleiben unsichbar!
add(schaltflaecheGroesser);
add(schaltflaecheKleiner);
add(ausgabe);
add(ausgabe2);

//den Listener verbinden
MeinKompakterListener listener = new MeinKompakterListener();
addWindowListener(listener);
schaltflaecheGroesser.addActionListener(listener);
schaltflaecheKleiner.addActionListener(listener);

//das Fenster packen
pack();
//die Standardaktion beim Schließen festlegen
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//das Fenster anzeigen
setVisible(true);
}
}[/CODE]


Ich bedanke mich im Voraus.
 

KonradN

Super-Moderator
Mitarbeiter
Und was für ein Problem hast Du? Was geht nicht? Was für Gedanken hast Du Dir zur Lösung des Problems schon gemacht?
 

Staarfightaar

Bekanntes Mitglied
ausgabe2 ist ja auch ein string und kein jlabel
ausgabezahl label fügst du niemals hinzu


so ein witz neben bei ...

nimm immer dein kommentar und übersetz es auf englisch und nimms als methoden name und mach ne methode draus
Java:
        //die beiden Schaltflächen
        schaltflaecheGroesser = new JButton("<");
        schaltflaecheKleiner = new JButton(">");


void setSchaltFlaechen(){
            schaltflaecheGroesser = new JButton("<");
        schaltflaecheKleiner = new JButton(">");
}
nur so als beispiel... durch 1 methodne code zu schaufeln ist auch blöd und ich denke du wirst deine eigenen fehler schneller finden wenn du mal nbissle aufteilst
 

thor_norsk

Bekanntes Mitglied
Hallo,
Erweiterung bedeutet für mich, die Aufgabe erweitern (nicht verändern). In dem Code sind zwei Schaltflächen und ein Label programmiert.
Jetzt muss man im Prinzip ein zweites Label in dem Code integrieren, die Schriftgröße anzeigt, wenn man Pfeil nach oben bzw nach unten betätigt.
Wenn ich richtig verstanden habe?
Problem: Ein Label ist als String definiert bzw. kann String-Text darstellen, daher ist in der Aufgabestellung davon die Rede Integer in String um zu wandeln, damit man die Schriftgröße als Label darstellen kann ?
 

thor_norsk

Bekanntes Mitglied
Ja, ich habe mir überlegt, die Aufgabe anders zu lösen. Ich werde jetzt ein zweites Label erstellen, wenn in dem GridLayout auftaucht, dann überlege ich, wie man im 2 Label Schriftgröße als Zahl darstellt. Vielleicht ist mein Ansatz falsch aber ich werde bisschen ausprobieren.
 

thor_norsk

Bekanntes Mitglied
Habe ich geändert, mittlerweile wird die Zahl in GridLayout angezeigt. Jetzt muss ich gucken, dass die Zahl nicht immer auf 20 bleibt:D. Mit den Pfeilen wird der Text < >.... aber die Anzeige in zweiten Label steht immer auf 20 !
 

Staarfightaar

Bekanntes Mitglied
Die Aufgabe gelöst.
Allgemein formuliert: ausgabe2.setText(Integer.......);
ausgabeZahl brauche ich garnicht!
du hast deine felder einfach furchtbar benannt bzw der der dir den code gegeben hat... und keinerlei trennung eingebaut

das wären mindestens 3 klassen zusätzlich geworden wenn man es trennt dann kommen solche fehler auch nicht zustande
 

thor_norsk

Bekanntes Mitglied
Ich vermute die Aufgabe hat noch einen Fehler . Ich werde in den nächsten Tag mich melden, muss erst Mal selber daran arbeiten. Vielen Dank!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E GridLayout auf ScrollPane AWT, Swing, JavaFX & SWT 4
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
M Swing GridLayout AWT, Swing, JavaFX & SWT 2
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
pkm kryptisches Verhalten bei GridLayout AWT, Swing, JavaFX & SWT 4
K Swing GridLayout - x und y bei Mausklick ausgeben AWT, Swing, JavaFX & SWT 4
S GridLayout SWT: Anordnung Composites nebeneinander AWT, Swing, JavaFX & SWT 2
B GridLayout - wie am besten implementieren AWT, Swing, JavaFX & SWT 3
B GridLayout Basics AWT, Swing, JavaFX & SWT 1
L Eigene JComponent in GridLayout AWT, Swing, JavaFX & SWT 9
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
F JPanel "verschmelzen" GridLayout AWT, Swing, JavaFX & SWT 10
M LayoutManager GridLayout funktioniert nicht AWT, Swing, JavaFX & SWT 0
T LayoutManager GridLayout panel.setSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
F Gridlayout AWT, Swing, JavaFX & SWT 6
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
X GridLayout JPanel austauschen AWT, Swing, JavaFX & SWT 2
A JFrame Größenänderung mit Maus und GridLayout AWT, Swing, JavaFX & SWT 10
J Button in GridLayout AWT, Swing, JavaFX & SWT 2
C LayoutManager Grafik soll nicht im GridLayout Skalieren AWT, Swing, JavaFX & SWT 3
L LayoutManager GridLayout verschiebt sich AWT, Swing, JavaFX & SWT 6
B GridLayout AWT, Swing, JavaFX & SWT 6
T Spaltengröße einzelner Spalten in Gridlayout festlegen AWT, Swing, JavaFX & SWT 3
Karuka Abstände im GridLayout ändern AWT, Swing, JavaFX & SWT 8
Karuka 2D-Grafik Bilder in GridLayout einfügen AWT, Swing, JavaFX & SWT 7
C Scollpane an dynamisches GridLayout anpassen? AWT, Swing, JavaFX & SWT 3
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
C Linien über GridLayout zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme mit Gridlayout AWT, Swing, JavaFX & SWT 4
U Elemente im Panel zentrieren mit GridLayout AWT, Swing, JavaFX & SWT 3
Z Swing JButton erweitern/Gridlayout AWT, Swing, JavaFX & SWT 2
L Swing GridLayout AWT, Swing, JavaFX & SWT 4
lumo LayoutManager SWT GridLayout - Reihenfolge ändern AWT, Swing, JavaFX & SWT 7
C Swing GridLayout: Kann man die Spaltenbreiten variabel gestalten? AWT, Swing, JavaFX & SWT 4
J SWT Größe eines Composite mit Gridlayout festlegen AWT, Swing, JavaFX & SWT 2
Y Kein GantChart in einem GridLayout AWT, Swing, JavaFX & SWT 5
M Formular in GridLayout ? AWT, Swing, JavaFX & SWT 17
R LayoutManager Problem mit GridLayout AWT, Swing, JavaFX & SWT 5
F LayoutManager GridLayout 0/0 auf andere Ecke setzen AWT, Swing, JavaFX & SWT 4
Rudolf Swing Gridlayout und Grouper vorhanden? AWT, Swing, JavaFX & SWT 4
S SWT GridLayout scrollbar machen? AWT, Swing, JavaFX & SWT 7
A Gridlayout Vertikal anordnen AWT, Swing, JavaFX & SWT 6
D LayoutManager GridLayout, 2 labels nebeneinander AWT, Swing, JavaFX & SWT 8
B Swing GridLayout.add über 2 Spalten? AWT, Swing, JavaFX & SWT 7
R LayoutManager GridLayout verändert isch andauernd AWT, Swing, JavaFX & SWT 4
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
B GridLayout und scrollbar AWT, Swing, JavaFX & SWT 5
J Swing Bild in GridLayout AWT, Swing, JavaFX & SWT 8
aze GridLayout: Keine automatische Ausdehnung AWT, Swing, JavaFX & SWT 2
M SWT keine Scrollbar bei widgets.List und GridLayout AWT, Swing, JavaFX & SWT 2
M Image an Gridlayout anpassen AWT, Swing, JavaFX & SWT 5
E SWT Problem mit Gridlayout AWT, Swing, JavaFX & SWT 3
G SWT GridLayout AWT, Swing, JavaFX & SWT 2
lumo SWT GridLayout - clear? AWT, Swing, JavaFX & SWT 4
T GridLayout Zeilen Hintergrund AWT, Swing, JavaFX & SWT 5
N Gridlayout macht Probleme AWT, Swing, JavaFX & SWT 3
L GridLayout verändert festgesetzte Größe der Komponenten AWT, Swing, JavaFX & SWT 12
S Gridlayout - Tabellenzeile "beenden" AWT, Swing, JavaFX & SWT 3
Dragonfire GridLayout Probleme AWT, Swing, JavaFX & SWT 4
A JLabel, Icons und GridLayout AWT, Swing, JavaFX & SWT 3
C JPanel-Array in GridLayout AWT, Swing, JavaFX & SWT 4
G SWT GridLayout AWT, Swing, JavaFX & SWT 3
N Gridlayout 2. Spalte füllen AWT, Swing, JavaFX & SWT 4
W Problem mit GridLayout AWT, Swing, JavaFX & SWT 11
K Problem mit nem GridLayout AWT, Swing, JavaFX & SWT 5
T GridLayout, zu wenig Platz zwischen Widgets AWT, Swing, JavaFX & SWT 3
T SWT/Eclipse Form Controls zur Laufzeit hinzufügen,GridLayout AWT, Swing, JavaFX & SWT 4
M GridLayout mit fester Größe möglich? AWT, Swing, JavaFX & SWT 3
E Einfache Frage zu GridLayout AWT, Swing, JavaFX & SWT 35
G Größe der einzelenen Felder im GridLayout einstellbar? AWT, Swing, JavaFX & SWT 5
P Canvas in JFrame mit GridLayout AWT, Swing, JavaFX & SWT 4
F GridLayout: verschiedene Spaltenbreiten AWT, Swing, JavaFX & SWT 2
S GridLayout ? AWT, Swing, JavaFX & SWT 5
D AutoResize bei GridLayout ausschalten? AWT, Swing, JavaFX & SWT 2
D GridLayout mit nur einer Spalte, aber n Zeilen AWT, Swing, JavaFX & SWT 2
E GridLayout seltsame Anordnungsstrategie AWT, Swing, JavaFX & SWT 6
S Problemen mit Canvas-Objekten im GridLayout AWT, Swing, JavaFX & SWT 8
L Grids benennen beim GridLayout AWT, Swing, JavaFX & SWT 5
S GridLayout mit sehr großen Abständen AWT, Swing, JavaFX & SWT 3
I SWT GridLayout AWT, Swing, JavaFX & SWT 5
V Frage zu GridLayout. AWT, Swing, JavaFX & SWT 3
P SWT GridLayout AWT, Swing, JavaFX & SWT 5
O gridlayout konstante größe AWT, Swing, JavaFX & SWT 3
TRunKX Problem mit dem GridLayout und den proportionen AWT, Swing, JavaFX & SWT 4
P SWT: GridLayout und Textfelder AWT, Swing, JavaFX & SWT 1
M GridLayout funktioniert nicht mehr. AWT, Swing, JavaFX & SWT 2
F GridLayout horizontal ausrichten AWT, Swing, JavaFX & SWT 6
K GridLayout: Colspan, Rowspan AWT, Swing, JavaFX & SWT 2
R GridLayout spinnt AWT, Swing, JavaFX & SWT 14
C leeres Element in Gridlayout einfuegen AWT, Swing, JavaFX & SWT 3
D Problem bei GridLayout und JPanels AWT, Swing, JavaFX & SWT 4
J GridLayout AWT, Swing, JavaFX & SWT 5
H GridLayout: Größe einer Komponente ändern AWT, Swing, JavaFX & SWT 2
L Frage zum GridLayout AWT, Swing, JavaFX & SWT 4
G kann man die aufteilung von GridLayout beeinflussen ? AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben