Java: Swing: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Allgemeines) |
Flinh1 (Diskussion | Beiträge) |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<div align="right"><big>'''[https://flinkwiki.de/index.php?title=Kategorie:Alle_Seiten Seitenübersicht]'''</big></div> | <div align="right"><big>'''[https://flinkwiki.de/index.php?title=Kategorie:Alle_Seiten Seitenübersicht]'''</big></div> | ||
<div align="right">'''[[Java|Zur Seite "Java"]]'''</div> | <div align="right">'''[[Java|Zur Seite "Java"]]'''</div> | ||
+ | <div align="right">'''[[Java: JavaFX|Zur Seite "Java: JavaFX"]]'''</div> | ||
+ | <div align="right">'''[[IntelliJ IDEA|Zur Seite "IntelliJ IDEA"]]'''</div> | ||
+ | <div align="right">'''[[Eclipse|Zur Seite "Eclipse"]]'''</div> | ||
<div align="right">'''[[Netbeans|Zur Seite "Netbeans"]]'''</div> | <div align="right">'''[[Netbeans|Zur Seite "Netbeans"]]'''</div> | ||
+ | <div align="right">'''[[Java: Beispiele|Zur Seite "Java: Beispiele"]]'''</div> | ||
+ | <div align="right">'''[[Kotlin|Zur Seite "Kotlin"]]'''</div> | ||
Zeile 129: | Zeile 134: | ||
* [https://de.wikibooks.org/wiki/Java_Standard:_Grafische_Oberfl%C3%A4chen_mit_Swing:_Top_Level_Container:_javax_swing_JFrame Wikibooks: Java Standard: Grafische Oberflächen mit Swing: Top Level Container: javax swing JFrame] | * [https://de.wikibooks.org/wiki/Java_Standard:_Grafische_Oberfl%C3%A4chen_mit_Swing:_Top_Level_Container:_javax_swing_JFrame Wikibooks: Java Standard: Grafische Oberflächen mit Swing: Top Level Container: javax swing JFrame] | ||
+ | * https://www.java-tutorial.org/swing.html | ||
+ | * https://www.java-tutorial.org/joptionpane.html | ||
− | + | * http://www.willemer.de/informatik/java/swing.htm | |
− | |||
− | |||
Aktuelle Version vom 21. Februar 2021, 22:24 Uhr
Inhaltsverzeichnis
Allgemeines
Swing ist ein GUI-Toolkit für die Programmiersprache Java von Sun Microsystems. Seit Java-Version 1.2 (1998) ist es Bestandteil der Java-Runtime. Swing gehört zu den Java Foundation Classes (JFC), die eine Sammlung von Bibliotheken zur Programmierung von grafischen Benutzerschnittstellen bereitstellen. Zu diesen Bibliotheken gehören Java 2D, die Java Accessibility API (JAAPI), das Drag-and-Drop-API und das Abstract Window Toolkit (AWT). Swing baut auf dem älteren AWT auf und ist mit den anderen APIs verwoben.[1]
Grundgerüst
Beispiel: Fenster mit Label, Textfeld und Button
package gbo; import javax.swing.*; /** * * @author itse */ // Elternklasse JFrame public class GBO extends JFrame { // Initialisierung des Containers JPanel pan = new JPanel(); // Initialisierung der Widgets JLabel lab = new JLabel("Name: "); JTextField tf = new JTextField("", 20); JButton but = new JButton("Ok"); // Konstruktor public GBO() { super("Fenster"); pan.add(lab); pan.add(tf); pan.add(but); this.setContentPane(pan); this.pack(); this.setVisible(true); // Klick auf 'x' beendet Fenster und Programmausführung setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { // Instanziierung des Fensters new GBO(); } }
Netbeans GUI Builder
Der GUI Builder der Entwicklungsumgebung Netbeans ist ein Tool, mit dem sich eine Anwendung grafisch entwickeln lässt. Dazu muss das JFrame-Formular in das Java-Projekt eingebunden werden:
> New > (Swing GUI Forms >) JFrame Form
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]
In den Konstruktor der Hauptklasse fügt man folgende Zeile ein:
SwingTools.centerOnScreen(0, this);
Quellen
| |