Heim  >  Artikel  >  Java  >  Ausführliche Erklärung, wie man Java zum Schreiben grafischer Fenster verwendet

Ausführliche Erklärung, wie man Java zum Schreiben grafischer Fenster verwendet

高洛峰
高洛峰Original
2017-01-17 15:56:541440Durchsuche

Fenster sind die Grundlage der GUI-Programmierung. Die visuellen Komponenten kleiner Anwendungen oder grafischer Schnittstellenanwendungen sind Teil des Bildschirms des Benutzers und spielen die Rolle eines kleinen Bildschirms. Es gibt drei Arten von Fenstern:
Applet-Fenster: Die Applet-Klasse verwaltet dieses Fenster, das beim Start des Anwendungsprogramms vom System erstellt und verarbeitet wird.
Frame-Fenster (JFrame): Dies ist ein Fenster im üblichen Sinne Sinnvollerweise unterstützt es Frame, Titelleiste um das Fenster und Schaltflächen zum Minimieren, Maximieren und Schließen.
Ein randloses Fenster (JWindow): keine Titelleiste, kein Rahmen, nur ein leeres Rechteck.

Das mit der JFrame-Klasse oder ihren Unterklassen in Swing erstellte Objekt ist das JFrame-Fenster.

Die Hauptkonstruktionsmethode der JFrame-Klasse:

JFrame(): Erstellt ein Fensterobjekt ohne Titel.

JFrame(String s): Erstellt einen Titel mit dem Namen a string s Fensterobjekt.

Andere gängige Methoden der JFrame-Klasse:

setBounds(int x, int y, int width, int height): Parameter x, y geben die Position an, an der das Fenster auf dem Bildschirm erscheint; Parameter width, height Geben Sie die Breite und Höhe des Fensters an. Die Einheit ist Pixel.

setSize(int width, int height): Legen Sie die Größe des Fensters fest. Die Parameter width und height geben die Breite und Höhe des Fensters an.

setBackground(Color c): Legen Sie die Hintergrundfarbe des Fensters mit Parameter c fest.

setVisible(boolean b): Parameter b legt fest, ob das Fenster sichtbar oder unsichtbar ist. JFrame ist standardmäßig unsichtbar.

pack(): Zeigt das Fenster kompakt an. Wenn Sie diese Methode nicht verwenden, sind Komponenten im Fenster möglicherweise nicht sichtbar, wenn das Fenster zum ersten Mal angezeigt wird, und sind möglicherweise nur sichtbar, wenn der Benutzer die Größe des Fensters ändert.

setTitle(String name): Legen Sie den Namen des Fensters mit dem Parameternamen fest.

getTitle(): Ruft den Namen des Fensters ab.

setResiable(boolean m): Legt fest, ob das aktuelle Fenster in der Größe veränderbar ist (Standard ist veränderbar).

Container in Swing können Komponenten hinzufügen, mit Ausnahme von JPanel und seinen Unterklassen (JApplet). Es gibt zwei Möglichkeiten, Komponenten zu anderen Containern hinzuzufügen:
Eine besteht darin, die Methode getContentPane() zu verwenden, um das Inhaltsfenster abzurufen und dann die Komponente hinzuzufügen. Zum Beispiel der Code im Programm in Beispiel 5.1:

mw.getContentPane().add(button);

Die Bedeutung dieses Codes besteht darin, das Inhaltsfeld des Containers abzurufen und die Schaltfläche zu diesem Inhaltsfeld hinzuzufügen.
Die andere besteht darin, einen Zwischencontainer mit JPanel-Objekten zu erstellen, Komponenten zu diesem Container hinzuzufügen und dann setContentPane() zu verwenden, um diesen Container als Inhaltsbereich festzulegen. Beispiel: Code:

JPanel contentPane = new JPanel();
…
mw.setContentPane(contentPane);

Der obige Code setzt das contentPane in ein Inhaltsfenster.

【Beispiel】Eine Java-Anwendung, die die JFrame-Klasse zum Erstellen von Fenstern verwendet. Das Fenster hat nur eine Schaltfläche.

import javax.swing.*;
public class Example5_1{
  public static void main(String args[]){
    JFrame mw = new JFrame(“我的第一个窗口”);
    mw.setSize(250,200);
    JButton button = new JButton(“我是一个按钮”);
    mw.getContentPane().add(button);
    mw.setVisible(true);
  }
}

Wenn Sie GUI-Programme mit Swing schreiben, verwenden Sie normalerweise nicht direkt JFrame, um das Fensterobjekt zu erstellen, sondern verwenden Sie eine von JFrame abgeleitete Unterklasse, um das Fensterobjekt zu erstellen Fügen Sie das Fenster zur Unterklasse hinzu. Spezifische Anforderungen und spezielle Inhalte usw.

[Beispiel] Definieren Sie MyWindowDemo, eine von JFrame abgeleitete Unterklasse, um ein JFrame-Fenster zu erstellen. Die Konstruktionsmethode der Klasse MyWindowDemo verfügt über fünf Parameter: den Titelnamen des Fensters, die Komponente zum Hinzufügen des Fensters, die Hintergrundfarbe des Fensters sowie die Höhe und Breite des Fensters. Verwenden Sie in der Hauptmethode die MyWindowDemo-Klasse, um zwei ähnliche Fenster zu erstellen.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Example5_2{
  public static MyWindowDemo mw1;
  public static MyWindowDemo mw2;
  public static void main(String args[]){
    JButton static butt1 = new JButton(“我是一个按钮”);
    String name1 = “我的第一个窗口”;
    String name2 = “我的第二个窗口”;
    mw1 = new MyWindowDemo(name1,butt1,Color.blue,350,450);
    mw1.setVisible(true);
    JButton butt2 = new JButton(“我是另一个按钮”);
    mw2 = new MyWindowDemo(name2,butt2,Color.magenta,300,400);
    mw2.setVisible(true);
  }
}
class MyWindowDemo extends JFrame{
  public MyWindowDemo(String name,JButton button,Color c,int w,int h){
    super();
    setTitle(name);
    setSize(w,h);
    Container con = getContentPane();
    con.add(button);
    con.setBackground(c);
  }
}

Die Anzeigefarbe wird von der Color-Klasse des java.awt-Pakets verwaltet. Einige häufig verwendete Farben sind in der Color-Klasse reserviert, siehe Tabelle 11-3. In der folgenden Tabelle finden Sie einige gängige Methoden der JFrame-Klasse.
Gemeinsame Farben, die in der Color-Klasse definiert sind

Ausführliche Erklärung, wie man Java zum Schreiben grafischer Fenster verwendet

Einige gängige Methoden der JFrame-Klasse

Ausführliche Erklärung, wie man Java zum Schreiben grafischer Fenster verwendet

Wie man lernt Weitere Artikel zum Schreiben grafischer Fenster mit Java finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn