Een venster in Java sluiten (met afbeeldingen)

Inhoudsopgave:

Een venster in Java sluiten (met afbeeldingen)
Een venster in Java sluiten (met afbeeldingen)

Video: Een venster in Java sluiten (met afbeeldingen)

Video: Een venster in Java sluiten (met afbeeldingen)
Video: Twitter Video Limits - How to Fix Twitter Video Quality (recommended dimensions, fps, file size,...) 2024, Mei
Anonim

In dit artikel wordt uitgelegd hoe u een venster in Java sluit. Een raam sluiten is veel gemakkelijker met Swing's

JFrame

maar het is ook te doen met AWT's

Kader

Stappen

Methode 1 van 2: javax.swing. JFrame gebruiken

Venster sluiten java step1
Venster sluiten java step1

Stap 1. Verkrijg een instantie van a

JFrame

of maak een nieuwe aan.

Venster sluiten java step2_with_import
Venster sluiten java step2_with_import

Stap 2. Stel de standaard sluitbewerking in

Standaard sluitbewerking wordt ingesteld met behulp van de setter-methode in de

JFrame

klas

setDefaultCloseOperation

die bepaalt wat er gebeurt wanneer op de sluitknop wordt geklikt en de volgende parameters heeft:

  • Vensterconstanten. EXIT_ON_CLOSE

    - Sluit het frame en beëindigt de uitvoering van het programma.
  • Vensterconstanten. DISPOSE_ON_CLOSE

    - Sluit het frame en beëindigt niet noodzakelijk de uitvoering van het programma.
  • Vensterconstanten. HIDE_ON_CLOSE

    - Laat het frame eruitzien alsof het gesloten is door de zichtbaarheidseigenschap in te stellen op false. Het verschil tussen

    HIDE_ON_CLOSE

    en

    DISPOSE_ON_CLOSE

  • is dat de laatste alle bronnen vrijgeeft die door het frame en zijn componenten worden gebruikt.
  • Vensterconstanten. DO_NOTHING_ON_CLOSE

    - Doet niets als de sluitknop wordt ingedrukt. Handig als u bijvoorbeeld een bevestigingsvenster wilt weergeven voordat het venster wordt gesloten. U kunt dat doen door een toe te voegen

    VensterLuisteraar

    naar het frame en overheersend

    raamSluiten

    methode. Voorbeeld van de aangepaste sluitingsbewerking:

      frame.setDefaultCloseOperation(WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Vraag om bevestiging voordat u het programma beëindigt. int option = JOptionPane.showConfirmDialog(frame, "Weet u zeker dat u de toepassing wilt sluiten?", "Bevestiging sluiten", JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE), if (option == JOptionPane. YES_OPTION) { System.exit (0); } } });

Methode 2 van 2: java.awt. Frame gebruiken

Venster sluiten java step1 method2
Venster sluiten java step1 method2

Stap 1. Verkrijg een instantie van a

Kader

of maak een nieuwe aan.

Venster sluiten java step2 method2
Venster sluiten java step2 method2

Stap 2. Vensterluisteraar toevoegen

Telefoongesprek

addWindowListener

methode op de instantie. Het vereiste argument is

VensterLuisteraar

. U kunt ofwel elke methode van de implementeren

VensterLuisteraar

interface of overschrijf alleen de methoden die u nodig hebt van

Raamadapter

klas.

Venster sluiten java step3 method2
Venster sluiten java step3 method2

Stap 3. Behandel de gebeurtenis voor het sluiten van het venster

Implementeren

raamSluiten

methode van

VensterLuisteraar

interface of overschrijf het van

Raamadapter

klas. Er zijn twee manieren om een venster te sluiten:

  • Gooi het venster weg nadat op de sluitknop is geklikt:

    • Telefoongesprek

      weggooien

      methode binnen

      raamSluiten

    • methode.
    • frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Gooi het venster weg nadat op de sluitknop is geklikt. Throw();} });

  • Beëindig het programma nadat op de knop Sluiten is geklikt:

    • Telefoongesprek

      Systeem.exit

      methode binnen

      raamSluiten

    • methode.
    • frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Beëindig het programma nadat op de sluitknop is geklikt. System.exit(0);} });

Tips

  • Swing heeft de voorkeur boven AWT aangezien deze laatste echt achterhaald is.
  • Gebruik makend van

    Raamadapter

    je hoeft niet elke methode te implementeren

    VensterLuisteraar

  • contract ons dat zegt, maar alleen degene die we nodig hebben.

Aanbevolen: