Den här artikeln visar hur du stänger ett fönster i Java. Att stänga ett fönster är mycket enklare med Swings
JFrame
men det går också att använda med AWT: er
Ram
Steg
Metod 1 av 2: Använda javax.swing. JFrame
Steg 1. Skaffa en instans av a
JFrame
eller skapa en ny.
Steg 2. Ställ in standardstängning
Standard stängning är inställd med setter -metoden inuti
JFrame
klass
setDefaultCloseOperation
som avgör vad som händer när stängningsknappen klickas och tar följande parametrar:
-
WindowConstants. EXIT_ON_CLOSE
-
WindowConstants. DISPOSE_ON_CLOSE
-
WindowConstants. HIDE_ON_CLOSE
HIDE_ON_CLOSE
och
DISPOSE_ON_CLOSE
- är att den senare frigör alla resurser som används av ramen och dess komponenter.
-
WindowConstants. DO_NOTHING_ON_CLOSE
WindowListener
till ramen och överordnad
fönsterStängning
metod. Exempel på anpassad stängning:
frame.setDefaultCloseOperation (WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener (nytt WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Be om bekräftelse innan programmet avslutas. int option = JOptionPane.showConfirmDialog (ram, "Är du säker på att du vill stänga programmet?", "Stäng bekräftelse", JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE); if (option == JOptionPane. YES_OPTION) {System.exit (0);}}});
Metod 2 av 2: Använda java.awt. Frame
Steg 1. Skaffa en instans av a
Ram
eller skapa en ny.
Steg 2. Lägg till fönster lyssnare
Ring upp
addWindowListener
metod på instansen. Det nödvändiga argumentet är
WindowListener
. Du kan antingen implementera alla metoder i
WindowListener
gränssnitt eller åsidosätt endast de metoder du behöver från
WindowAdapter
klass.
Steg 3. Hantera fönsterstängningshändelse
Genomföra
fönsterStängning
metod från
WindowListener
gränssnitt eller åsidosätt det från
WindowAdapter
klass. Det finns två sätt att stänga ett fönster:
-
Kassera fönstret när du har klickat på stängningsknappen:
-
Ring upp
kassera
metod inuti
fönsterStängning
- metod.
frame.addWindowListener (nytt WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Kassera fönstret efter att du har klickat på stängningsknappen. dispose ();}});
-
Avsluta programmet efter att du har klickat på stängningsknappen:
-
Ring upp
System.exit
metod inuti
fönsterStängning
- metod.
frame.addWindowListener (nytt WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Avsluta programmet efter att du har klickat på stängningsknappen. System.exit (0);}});
Tips
- Swing är att föredra framför AWT eftersom det senare verkligen är föråldrat.
-
Använder sig av
WindowAdapter
du behöver inte implementera varje metod
WindowListener
- kontraktet säger till oss, men bara de vi behöver.