GridLayout Live-Demo

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

Die GridLayout-Live-Demo erleichtert spielerisch durch Erkunden und Verändern von Werten in der Benutzeroberfläche das Verständnis von GridLayout.

GridLayout-Live-Demo.gif

Kopieren Sie sich die Quellcodes in einzelne Java-Dateien. Achten Sie auf die richtige Verteilung der Klassen in die im Code angegebenen Packages, oder kommentieren Sie die Package-Anweisung einfach aus, wenn Sie unsicher sind. Anschließend kompilieren Sie die Java-Dateien und starten die Hauptklasse.

GridLayoutDemo.java - Die Hauptklasse

Baustelle.png Dieser Beitrag wird derzeit noch bearbeitet. Der Text ist deshalb unvollständig und kann Fehler oder ungeprüfte Aussagen enthalten.

Klassen aus dem event-Package

Die im Folgenden aufgelisteten Quellcodes dienen der Reaktion auf Maus gesteuerte Ereignisse an der Benutzeroberfläche. Komponenten, die für sie bestimmte Aktionen erkennen, leiten die Informationen an die verarbeitenden Listener weiter. Diese wiederum sorgen dafür, dass Methoden als Reaktion auf die Manipulation der Benutzeroberfläche aufgerufen werden, die die Benutzeroberfläche entsprechend anpassen.

Interface GridOperations - die Funktionen der Demo

package gridlayout.event;

/**
 *
 * @author Gernot Segieth
 */
public interface GridOperations {

    public void addComponent();

    public void removeComponent();

    public void changeHgap();

    public void changeVgap();

    public void changeRowCount();

    public void changeColumnCount();

}

AddAction - Hinzufügen neuer Komponenten

package gridlayout.event;

import gridlayout.icons.MoreIcon;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;

/**
 *
 * @author Gernot Segieth
 */
public class AddAction extends AbstractAction {

    private final GridOperations go;

    public AddAction(GridOperations go) {
        super("", new MoreIcon());
        this.go = go;
    }

    @Override
    public void actionPerformed(ActionEvent ae) {
        go.addComponent();
    }

}

RemoveAction - Entfernen von Komponenten

package gridlayout.event;

import gridlayout.icons.LessIcon;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;

/**
 *
 * @author Gernot Segieth
 */
public class RemoveAction extends AbstractAction {

    private final GridOperations go;

    public RemoveAction(GridOperations go) {
        super("", new LessIcon());
        this.go = go;
    }

    @Override
    public void actionPerformed(ActionEvent ae) {
        go.removeComponent();
    }

}

HgapChangeAction - Horizontalen Abstand einstellen

package gridlayout.event;

import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

/**
 *
 * @author Gernot Segieth
 */
public class HgapChangeAction implements ChangeListener {

    private final GridOperations go;

    public HgapChangeAction(GridOperations go) {
        this.go = go;
    }

    @Override
    public void stateChanged(ChangeEvent ce) {
        go.changeHgap();
    }

}

VgapChangeAction - Vertikalen Abstand einstellen

package gridlayout.event;

import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

/**
 *
 * @author Gernot Segieth
 */
public class VgapChangeAction implements ChangeListener {

    private final GridOperations go;

    public VgapChangeAction(GridOperations go) {
        this.go = go;
    }

    @Override
    public void stateChanged(ChangeEvent ce) {
        go.changeVgap();
    }

}

RowCountChangeAction - Anzahl der Zeilen im Gitter einstellen

package gridlayout.event;

import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

/**
 *
 * @author Gernot Segieth
 */
public class RowCountChangeAction implements ChangeListener {

    private final GridOperations go;

    public RowCountChangeAction(GridOperations go) {
        this.go = go;
    }

    @Override
    public void stateChanged(ChangeEvent ce) {
        go.changeRowCount();
    }

}

ColumnCountChangeAction - Anzahl der Spalten im Gitter einstellen

package gridlayout.event;

import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

/**
 *
 * @author Gernot Segieth
 */
public class ColumnCountChangeAction implements ChangeListener {

    private final GridOperations go;

    public ColumnCountChangeAction(GridOperations go) {
        this.go = go;
    }

    @Override
    public void stateChanged(ChangeEvent ce) {
        go.changeColumnCount();
    }

}


Fragen

Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!

Wir helfen dir gerne!


Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!

Du musst angemeldet sein, um einen Kommentar abzugeben.


Mehr zum GridLayout und anderen LayoutManagern