Java: Swing: Unterschied zwischen den Versionen

Aus Flinkwiki
Wechseln zu: Navigation, Suche
(Tipps und Tricks)
Zeile 41: Zeile 41:
  
 
== Tipps und Tricks ==
 
== Tipps und Tricks ==
=== Skript aufräumen ===
+
=== Frame zentrieren ===
  
> Menü ''Source'' > ''Format''
+
<nowiki>
 +
import java.awt.*;
  
oder <code>Alt-Shift-F</code>
+
/**
 +
* Utility-Klasse für grafische Oberflächen.
 +
*
 +
* @author fmk
 +
*/
 +
public class SwingTools {
  
----
+
    private SwingTools() {
=== Getter und Setter generieren ===
+
    }
  
# Unterhalb der Instanzvariablen <code>Alt-Einfg</code> drücken.
+
    /**
# Es öffnet sich das Menü ''Generate''.
+
    * Zentriert den referenzierten Frame auf dem Bildschirm.
# ''Getter and Setter'' auswählen.
+
    *
 +
    * @param frame
 +
    */
 +
    public static void centerFrame(Window frame) {
 +
        Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
 +
        int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
 +
        int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
 +
        frame.setLocation(x, y);
 +
    }
  
----
+
    public static Point getCenterOnScreen(int screen, Dimension dimension) {
 +
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
 +
        GraphicsDevice[] gs = ge.getScreenDevices();
 +
        GraphicsDevice gd = gs[screen];
 +
        GraphicsConfiguration[] gc = gd.getConfigurations();
 +
        Rectangle screenBounds = gc[0].getBounds();
  
Alternativ:
+
        Point pos = new Point();
# Rechte Maustaste auf Variable
+
        pos.x = screenBounds.x + (screenBounds.width / 2) - (dimension.width / 2);
# ''Refactor''
+
        pos.y = screenBounds.y + (screenBounds.height / 2) - (dimension.height / 2);
# ''Encapsulate Fields
+
 
# Haken bei ''Create Getter'' bzw. ''Create Setter'',  
+
        return pos;
# ggf. ''Javadoc: None''
+
    }
# ''Refactor''
+
 
 +
    public static void centerOnScreen(int screen, Window window) {
 +
        window.setLocation(SwingTools.getCenterOnScreen(screen, window.getSize()));
 +
    }
 +
}
 +
 
 +
</nowiki>
 +
[Dank an fmk, javafish.de]
  
 
----
 
----

Version vom 3. September 2019, 08:17 Uhr

Seitenübersicht
Zur Seite "Java"
Zur Seite "Netbeans"


Allgemeines

Die Infos auf dieser Seite beziehen sich auf den Einsatz von Netbeans in der Java-Programmierung.




Netbeans GUI Builder

Aufruf einer Klasse über > New > (Swing GUI Forms >) JFrame Form


Abschalten der "vollqualifizierten Klassennamen":

> Tools > Options > Java > GUI Builder >

Dann bei Generate Fully Qualified Names of Classes den Haken wegnehmen.


Umbenennen der Swing Controls im Reiter Design:

> Navigation, F2



Tipps und Tricks

Frame zentrieren

import java.awt.*;

/**
 * Utility-Klasse für grafische Oberflächen.
 * 
 * @author fmk
 */
public class SwingTools {

    private SwingTools() {
    }

    /**
     * Zentriert den referenzierten Frame auf dem Bildschirm.
     * 
     * @param frame 
     */
    public static void centerFrame(Window frame) {
        Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
        int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
        frame.setLocation(x, y);
    }

    public static Point getCenterOnScreen(int screen, Dimension dimension) {
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice[] gs = ge.getScreenDevices();
        GraphicsDevice gd = gs[screen];
        GraphicsConfiguration[] gc = gd.getConfigurations();
        Rectangle screenBounds = gc[0].getBounds();

        Point pos = new Point();
        pos.x = screenBounds.x + (screenBounds.width / 2) - (dimension.width / 2);
        pos.y = screenBounds.y + (screenBounds.height / 2) - (dimension.height / 2);

        return pos;
    }

    public static void centerOnScreen(int screen, Window window) {
        window.setLocation(SwingTools.getCenterOnScreen(screen, window.getSize()));
    }
}


[Dank an fmk, javafish.de]


Quellen


| |