A párbeszédpanelek fő funkciója az, hogy egy alkalmazás vagy webhely lekérjen bizonyos adatokat a felhasználótól. Ez a bevitel annak visszaigazolása lehet, hogy elolvastak egy üzenetet, vagy valamit, amit beírtak egy szövegmezőbe.

A párbeszédpanel azonnal leköti a felhasználó figyelmét. Tökéletes eszköz fontos információk összegyűjtésére vagy megjelenítésére.

A Java egy változatos nyelv, amely több osztályt biztosít párbeszédpanelek létrehozásához. Ezek az osztályok közé tartozik a JOptionPane, a JDialog és a JFrame.

A JOptionPane osztály

Létrehozhat egy szabványos párbeszédpanelt a JOptionPane osztályhoz tartozó statikus módszerek valamelyikével. Ezek tartalmazzák:

  • showMessageDialog(), amely üzenetet küld a felhasználónak.
  • showConfirmDialog(), amely megerősítést igénylő kérdést tesz fel.
  • showInputDialog(), amely bevitelre kéri a felhasználót.
  • showOptionDialog(), amely a három másik módszer kombinációja.

JOptionPane párbeszédpanel létrehozása

import javax.swing. JFrame;
import javax.swing. JOptionPane;
instagram viewer

nyilvánososztályJOptionPaneApp{
JOptionPaneApp() {
JFrame keret = új JFrame();
JOptionPane.showMessageDialog (keret: "Ez egy JOptionPane üzenetablak.");
}

nyilvánosstatikusüresfő-(String[] args){
új JOptionPaneApp();
}
}

A fenti kód a következő párbeszédpanelt hozza létre:

Bár a JOptionPane szabványos párbeszédpaneleket biztosít, számos beállítással rendelkezik, amelyek lehetővé teszik a viselkedés módosítását. Például az üzenet párbeszédpanel többféle típusú lehet. A fenti példa egy INFORMATION_MESSAGE, ami az alapértelmezett. A többi üzenettípus a következő:

  • HIBA ÜZENET
  • FIGYELMEZTETŐ ÜZENET
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Hibaüzenet létrehozása

Íme egy példa arra, hogyan lehet más üzenettípust használni a JOptionPane párbeszédpanelen:

JOptionPane.showMessageDialog (keret, "Ez egy JOptionPane hibaüzenet ablak.",
"Hiba", JOptionPane. HIBA ÜZENET);

Helyettesíteni a showMessageDialog() sort az eredeti programban a fenti kódsorral, és a következő hibaablak jelenik meg:

A JDialog osztály

A JDialog osztály lehetővé teszi egyéni párbeszédpanelek létrehozását. Ez Java osztály tartozik a javax.swing csomagot, és kiterjeszti a Dialog osztályt. Közvetlen és közvetett módszerek széles skálájához fér hozzá. Ebben a Java osztályban összesen 16 van Java konstruktorok.

Az alapértelmezett konstruktoron kívül a másik 15 mindegyike egy keretet, egy ablakot vagy egy párbeszédpanelt számos egyéb argumentum kombinációjával.

Az elsődleges JDialog konstruktorok a következők:

  • JDialog() keret, cím vagy mód nélküli párbeszédpanelt hoz létre.
  • JDialog (párbeszédtulajdonos, karakterlánc címe, logikai modális) létrehoz egy párbeszédpanelt a párbeszédpanel tulajdonosával, a karakterlánc címével és a móddal.
  • JDialog (Frame tulajdonos, String cím, logikai modális) létrehoz egy párbeszédpanelt a keret tulajdonosával, a karakterlánc címével és a móddal.
  • JDialog (ablaktulajdonos, karakterlánc címe, logikai modális) létrehoz egy párbeszédpanelt az ablak tulajdonosával, a karakterlánc címével és a móddal.

JDialog párbeszédpanel létrehozása

import java.awt. FlowLayout;
import java.awt.event. ActionEvent;
import java.awt.event. ActionListener;
import javax.swing. JButton;
import javax.swing. JDialog;
import javax.swing. JFrame;
import javax.swing. JLabel;
import javax.swing. WindowConstants;

nyilvánososztályJDialogApp{
JDialogApp() {
JFrame keret = új JFrame();
JDialog párbeszédablak = új JDialog (keret, igaz);
dialog.setLayout(új FlowLayout());

JLabel displayText = új JLabel("Ez egy JDialog ablak.");
JButton btn = új JButton("OK");

btn.addActionListener(új ActionListener() {
nyilvánosüresactionPerformed(ActionEvent e){
dialog.setVisible(hamis);
}
});

dialog.add (displayText);
dialog.add (btn);

dialog.setSize(200,150);
dialog.setTitle("Párbeszédablak");
dialog.setVisible(igaz);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}

nyilvánosstatikusüresfő-(String args[]){
új JDialogApp();
}
}

A fenti kód a következő párbeszédpanelt hozza létre:

A kódnak számos fontos szempontja van, amelyeket érdemes megjegyezni. A program a JDialog (keret tulajdonos, logikai modális) konstruktor, amelyre átmegy a JFrame és az „igaz” érték érvként. A JFrame a JDialog tulajdonosa, ami azt jelenti, hogy felelős a párbeszédpanel megjelenítéséért. Az „igaz” érték azt jelenti, hogy a párbeszédpanel blokkolja a bevitelt más kapcsolódó ablakokhoz, amikor megjelenik.

A fenti kódban szereplő konstruktor nem veszi a címet argumentumként. A keret tulajdonosának azonban szüksége van egy címre. Tehát ehhez a feladathoz használhatja a setTitle() metódus, amely a JDialog által kiterjesztett Dialog osztályon keresztül érhető el. A kódban szereplő további fontos módszerek az setVisible(), setSize(), és setDefaultCloseOperation().

A setVisible logikai értéket vesz fel, és felelős a keret megjelenítéséért. A setSize a párbeszédablak magasságát és szélességét veszi fel. A setDefaultCloseOperation három érték egyikét veszi igénybe annak eldöntéséhez, hogy mi történjen, ha a felhasználó bezárja a párbeszédpanelt.

A JFrame osztály

A JDialog és a JOptionPane egyaránt a JFrame osztályt használja párbeszédpanelek létrehozásához. A JFrame osztály azonban képes önálló párbeszédpaneleket létrehozni. A JFrame osztály kiterjeszti a Frame osztályt, és a JDialog osztályhoz hasonlóan lehetővé teszi egyéni párbeszédpanelek létrehozását.

A JFrame négy konstruktorral és számos közvetlen és közvetett módszerrel rendelkezik, amelyeket egy párbeszédpanel létrehozásához kell használnia.

JFrame párbeszédpanel létrehozása

import java.awt.event. ActionEvent;
import java.awt.event. ActionListener;

import javax.swing. JButton;
import javax.swing. JFrame;
import javax.swing. JLabel;
import javax.swing. JPanel;
import javax.swing. WindowConstants;

nyilvánososztályJFrameApp{
JFrameApp() {
JFrame keret = új JFrame();
frame.setTitle("Párbeszédablak");
JPanel panel = új JPanel();

JLabel displayText = új JLabel("Ez egy JFrame ablak.");
panel.add (displayText);
JButton btn = új JButton("OK gomb");

btn.addActionListener(új ActionListener() {
nyilvánosüresactionPerformed(ActionEvent e){
frame.setVisible(hamis);
}
});

panel.add (btn);

frame.add (panel);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(igaz);
}

nyilvánosstatikusüresfő-(String[] args){
új JFrameApp();
}
}

A fenti kód a következő párbeszédpanelt hozza létre:

A kód az alapértelmezett JFrame konstruktort és számos ismert módszert használja, mint például a setTitle() módszer (a fenti JDialog alkalmazásban használt). A fenti programban egy ismeretlen objektum a JPanel, amely egy általános tároló. Ez lehetővé teszi a JFrame számára, hogy több elrendezést és komponenst adjon hozzá egy kerethez.

A ActionListener() és action Performed() metódusok kezelik azt az eseményt, amikor a felhasználó rákattint a rendben gomb.

Melyik Java osztály a legjobb párbeszédpanelek létrehozásához?

A JOptionPane osztály egyetlen célja, hogy a párbeszédpanel-készítési folyamatot kényelmesebbé tegye a Java fejlesztők számára. Ha azonban egyénibb párbeszédpanelre van szüksége, a JDialog osztály a következő legjobb lehetőség.

A JFrame osztály felhasználói felületeket hoz létre, de felhasználhatja a grafikus felhasználói felület számos elemének létrehozására, beleértve a párbeszédpaneleket is.

A JFrame osztállyal létrehozott párbeszédpanelen van egy kicsinyített ikon, míg a többinél nincs. Ha modális párbeszédpanelt szeretne, amelyben a felhasználónak cselekednie kell egy feladat elvégzése előtt, akkor a JFrame nem a legjobb megközelítés.

Hogyan írjuk meg első Java GUI-alkalmazásunkat 

Olvassa el a következőt

Ossza megCsipogOssza megEmail

Kapcsolódó témák

  • Programozás
  • Programozás
  • Jáva
  • Kódolási oktatóanyagok

A szerzőről

Kadeisha Kean (56 publikált cikk)

Kadeisha Kean Full-stack szoftverfejlesztő és műszaki/technológiai író. Megvan az a képessége, hogy leegyszerűsítse a legbonyolultabb technológiai fogalmakat; olyan anyagok gyártása, amelyek könnyen megérthetők minden technológiai kezdő számára. Szenvedélyes az írás, az érdekes szoftverek fejlesztése és a világutazás (dokumentumfilmeken keresztül).

Továbbiak Kadeisha Keantől

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez