WAS stiimt da nicht?

Status
Nicht offen für weitere Antworten.

TheJavaKid

Top Contributor
also: es is so dass ich einen editor mache und es so machen will dass wenn das fenster geschlossen wird ein confirm dialog kommt das fragt ob man die datei speichern will
das hab ich schon geschafft ;)

tja aber ich hänge an einem problem auf dass ich keine lösung finde!!

wenn ich "Ja" im Dialog drücke, dann kommt brav der filechooser, wenn ich "Nein" drücke wird das programm brav geschlossen, aber:

wenn ich "Abbrechen" drücke wird das fenster geschlosssen das programm läuft aber weiter! es lässt sic mit serVisible(true), oder repint() oder sonst was wieder sichtbar machen...
jetzt möcht ich wissen was da falsch läuft!


Der code der bei public void windowClosing(WindowEvent evt) ausgeführt wird:
Code:
        try {
          int i=con("Editor", "Möchten Sie die Änderungen speichern?");
          switch(i) {
            case JOptionPane.YES_OPTION:
            if( isSaved || file!="") {
              save=new FileOutputStream( file );
              save.write( text.getText().getBytes() );
              save.close();
            } else {
              file = save_it();
              save=new FileOutputStream( file );
              save.write( text.getText().getBytes() );
              save.close();
            }

            case JOptionPane.NO_OPTION: System.exit(0);
            case JOptionPane.CANCEL_OPTION: ;
          }

        } catch ( Exception ee ) {
          err("Editor", "Datei konnte nicht erstellt werden!");
        }

die methode "con":
Code:
public int con(String sub, String msg) {
    return JOptionPane.showConfirmDialog(this, msg, sub, JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
  }
 

AlArenal

Top Contributor
"case" ohne "break" ist selten gewollt.... Außerdem machst du doch im Fall "Abbrechen" auch gar nichts im Code. Soll sich das Programm da was für dich ausdenken? ;)
 

L-ectron-X

Gesperrter Benutzer
Bei dieser einfachen Anweisungsfolge kannst du das auch über die Reihenfolge der case-Anweisungen managen.
Wenn du kein break innerhalb der case-Blöcke hast, wird nach der Ausführung eines case-Blockes der nächste Block ausgeführt, so lange, bis die switch-Anweisung abgearbeitet ist, oder der Interpreter eben auf ein break trifft.
 
S

SlaterB

Gast
wenn man ein Fenster schließt, dann wird standardmäßig dieses Fenster auf unsichtbar gestellt, nicht aber die Anwendung geschlossen,
so ist das eben grundsätzlich

mit frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
kann man das für jedes Frame ändern, steht bei mir immer in der ersten Zeile jedes JFrame-Konstruktors für einfache TestFrames ;)

wenn du auch bei Abbrechen das ganze Programm beenden willst,
dann muss da ein System.exit(0) hin

----------

wenn du trotz des Klicks auf Schließen das Fenster nicht schließen willst,
tja dann musst du dich ein wenig anstrengen,
wüsste ich spontan nicht, ob man das abstellen kann,
geht aber bestimmt
 

Wildcard

Top Contributor
SlaterB hat gesagt.:
wenn du trotz des Klicks auf Schließen das Fenster nicht schließen willst,
tja dann musst du dich ein wenig anstrengen,
wüsste ich spontan nicht, ob man das abstellen kann,
geht aber bestimmt
JFrame#DO_NOTHING_ON_CLOSE
 

Wildcard

Top Contributor
Na irgendwo musst du die contentPane ja her haben...
Wenn du deinem JFrame nicht sagst das er sich beim klick auf das Kreuz nicht disposen soll, wird er eben genau das tun, egal was in deinem WindowListener steht.
 

TheJavaKid

Top Contributor
habe ich auch nicht
wenn das fenster mit dem container gemacht is lässt es sich nicht schliessen biss man einen windowlistener hinzufügt, deswegen spar ich mir auch
das .setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
 

Wildcard

Top Contributor
Ein Container liegt in einem Frame, der Frame ist nicht der Container und wird auch nicht aus einem gemacht. :roll:
Du hast es bis jetzt noch nichtmal geschafft zu erwähnen ob du einen JFrame oder einen Frame hast.
 

Wildcard

Top Contributor
Hackl hat gesagt.:
JFrame logischerweise, was mach ich denn mit nem Frame
Du hast ja auch die Content-Pane auf einen AWT-Container runtergecastet, dir trau ich also alles zu :bae:
Dann benutz doch endlich DO_NOTHING_ON_CLOSE :autsch:
 

Wildcard

Top Contributor
Code:
    super(title);
    //da
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); }
    });
    //da
    int frameWidth = 300;
    //da
    int frameHeight = 300;
    //da
    setSize(frameWidth, frameHeight);
    //da
    Container cp = getContentPane();
    //da
    cp.setLayout(null);
    //da
    setResizable(false);
    //da
    setVisible(true);
    //oder da
 

michaelb

Aktives Mitglied
Hi,

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

//import java.util.*;
//import java.io.*;
//import java.net.*;

// Autor: Mathias Hackl
// Version: 1.0
// Datum: 19.05.2006
public class Swing4 extends JFrame {
  // Anfang Variablen
  // Ende Variablen

  public Swing4(String title) {
    // Frame-Initialisierung
    super(title);
    //hier: 
    setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    //oder weiter unten
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); }
    });
    int frameWidth = 300;
    int frameHeight = 300;
    setSize(frameWidth, frameHeight);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Ereignisprozeduren
  // Ende Ereignisprozeduren

  public static void main(String[] args) {
    new Swing4("Swing4");
  }
}
 

TheJavaKid

Top Contributor
das do_nothing_on_close geht auch nicht

aach egal wer braucht den do_nothing_on_close....

meine eigene methode geht dafür
 

Wildcard

Top Contributor
Wenn du im WindowListener dann System.exit aufrufst brauchst du dich auch nicht wundern wenn sich die Anwendung tatsächlich beendet :roll:
 

michaelb

Aktives Mitglied
Hi,
überschreib doch windowClosed...
Dann kannsch wenns Fenster geschlossen ist, die Anwendung per System.exit(0); beenden.
Gruß Michi
 

TheJavaKid

Top Contributor
nö, kak auf do_nothing_on_close und den ganzen müll... brauch ich nich! ich mach jetzt kein methodenüberschreiben wegen so nem kleinen scheiss, deswegen hab ich n eingene methode dafür geschrieben
 

TheJavaKid

Top Contributor
michaelb hat gesagt.:
Hi,

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

//import java.util.*;
//import java.io.*;
//import java.net.*;

// Autor: Mathias Hackl
// Version: 1.0
// Datum: 19.05.2006
public class Swing4 extends JFrame {
  // Anfang Variablen
  // Ende Variablen

  public Swing4(String title) {
    // Frame-Initialisierung
    super(title);
    //hier: 
    setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    //oder weiter unten
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); }
    });
    int frameWidth = 300;
    int frameHeight = 300;
    setSize(frameWidth, frameHeight);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Ereignisprozeduren
  // Ende Ereignisprozeduren

  public static void main(String[] args) {
    new Swing4("Swing4");
  }
}

das war mir auch klar...
 

TheJavaKid

Top Contributor
nö bin zu faul die zu posten -.-

sie verhindert einnfach das System.exit(0) durch was anderes als klick auf "NEIN" ausgeführt werden kann...

das trifft sich eh gut dass das do_nothing_on_close nict geht da ich es eh hasse fertige methoden zu nutzen wenn man sie selber bauen kann :roll:
 
R

Roar

Gast
Hackl hat gesagt.:
michaelb hat gesagt.:
Hi,

Code:
...

das war mir auch klar...

warum hast dann gefragt... :?:

Hackl hat gesagt.:
das trifft sich eh gut dass das do_nothing_on_close nict geht
wenn das nicht gehen würde wie dir gesagt wurde, wär das sicher schon jemand anderem aufgefallen, ergo liegt es wohl eher an dir :rolleyes:

Hackl hat gesagt.:
da ich es eh hasse fertige methoden zu nutzen wenn man sie selber bauen kann
???:L warum benutzt dann swing, warum benutzt dann java, warum ... ???:L
 

TheJavaKid

Top Contributor
Roar hat gesagt.:
???:L warum benutzt dann swing, warum benutzt dann java, warum ... ???:L

ich... ich weiss es nicht, ich weiss es nicht :autsch:


aber man muss doch zu geben dass es schöner is wenn man ei programm geschrieben hat wo man viele eigene methoden statt java methoden benutzen hat können oder?
 

AlArenal

Top Contributor
Hackl hat gesagt.:
aber man muss doch zu geben dass es schöner is wenn man ei programm geschrieben hat wo man viele eigene methoden statt java methoden benutzen hat können oder?

Zugegeben: Nein.

Mich bezahlt niemand dafür Funktionalität nachzubilden, die ich eh schon habe. Meine Programme (auch die privat erstellten) existieren ja nicht rein zum Selbstzweck.
 

byte

Top Contributor
Hackl hat gesagt.:
aber man muss doch zu geben dass es schöner is wenn man ei programm geschrieben hat wo man viele eigene methoden statt java methoden benutzen hat können oder?

Wenn der Anteil an selbstgeschriebener Funktionalität Deiner Programme so niedrig ist, dann würde ich mir mal Gedanken machen, ob das nächste Projekt nicht etwas komplexer werden sollte. ;)
 

TheJavaKid

Top Contributor
byto hat gesagt.:
Hackl hat gesagt.:
aber man muss doch zu geben dass es schöner is wenn man ei programm geschrieben hat wo man viele eigene methoden statt java methoden benutzen hat können oder?

Wenn der Anteil an selbstgeschriebener Funktionalität Deiner Programme so niedrig ist, dann würde ich mir mal Gedanken machen, ob das nächste Projekt nicht etwas komplexer werden sollte. ;)

sehr witzig :D :lol:
 

TheJavaKid

Top Contributor
AlArenal hat gesagt.:
Hackl hat gesagt.:
aber man muss doch zu geben dass es schöner is wenn man ei programm geschrieben hat wo man viele eigene methoden statt java methoden benutzen hat können oder?

Zugegeben: Nein.

Mich bezahlt niemand dafür Funktionalität nachzubilden, die ich eh schon habe. Meine Programme (auch die privat erstellten) existieren ja nicht rein zum Selbstzweck.

gut wenn man beruflich java programmiert ok, aber sonst... ich find schon...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H HashMap in HashMap, klappt nicht, Verständnisproblem Allgemeine Java-Themen 2
kodela ArrayList wird nicht komplett gespeichert Allgemeine Java-Themen 3
kodela HelpSet wird nicht gefunden Allgemeine Java-Themen 8
D Compiler-Fehler Compilierung in VM nicht erfolgreich Allgemeine Java-Themen 10
G WSDL-Aufruf funktioniert nicht mehr nach Umstieg auf Maven Allgemeine Java-Themen 4
H KNN Erkennt Zahl Nicht Allgemeine Java-Themen 7
W ICEpdf PDF-Dateien werden mit Java 21 nicht nicht mehr vollständig dargestellt Allgemeine Java-Themen 3
Zrebna Berechnung der Zeit funktioniert nicht wie erwartet: Date, GregorianCalendar Allgemeine Java-Themen 16
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
kodela Textfeld nicht rechteckig Allgemeine Java-Themen 10
G Doppelklick auf Javaprogramm klapt nicht Allgemeine Java-Themen 1
W Timer terminiert nicht Allgemeine Java-Themen 5
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
W Überflüssige Deklaration vermeiden...war da nicht mal was? Allgemeine Java-Themen 3
N lwjgl kann textureSampler nicht finden Allgemeine Java-Themen 4
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
T .Jar kann man nicht ausführen Allgemeine Java-Themen 18
P JDK nicht installiert in Net Object Fusion Allgemeine Java-Themen 7
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
N Regex schlägt nicht an Allgemeine Java-Themen 10
Y Wieso krieg ich die Unit Tests nicht hin Allgemeine Java-Themen 55
D Erste Schritte Mp3 Datei kann nicht von der Festplatte geöffnet werden - mit ChatGPT erstellt Allgemeine Java-Themen 7
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
OnDemand ApacheCommon FTP Client zuckt nicht Allgemeine Java-Themen 3
T JavaPoet - (noch) nicht existente Typen Allgemeine Java-Themen 2
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
C Was passt hier nicht bei der Calendar-Class Allgemeine Java-Themen 2
T Testing JUnit5: try ... catch arbeitet nicht sauber Allgemeine Java-Themen 6
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
OnDemand MemoryLeak nicht zu finden Allgemeine Java-Themen 26
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
OnDemand Ram Freigabe erfolgt nicht nach Prozessende Allgemeine Java-Themen 18
OnDemand XML desializing Attribute bringt nicht erwartetes Ergebnis Allgemeine Java-Themen 16
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
Tiago1234 Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 38
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
I "Neues" Lizenzmodell Oracle - JRE nicht mehr zur Redistribution freigegeben? Allgemeine Java-Themen 16
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
M Warum hat Java dieses und jenes nicht... Allgemeine Java-Themen 8
W Bilder werden in App mit Jar-Datei nicht angezeigt Allgemeine Java-Themen 15
Micha43 Applet *.jar läuft nicht auf dem Mac Allgemeine Java-Themen 8
M Warum bekommen ich den Result nicht ? Allgemeine Java-Themen 17
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
P Karate API Test läuft nicht durch . initializationError Allgemeine Java-Themen 21
N nicht static und auch nicht new Allgemeine Java-Themen 3
Z macOS java konnte nicht entfernt werden xpc verbindungsfehler Allgemeine Java-Themen 4
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
AleXusher Hauptklasse startlösung konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 1
G @PostConstruct Annotation nicht mehr gültig ? Allgemeine Java-Themen 7
L Objekte in Set nicht gefunden Allgemeine Java-Themen 13
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
izoards log4j2 will nicht.... Allgemeine Java-Themen 15
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
I serialVersionUID - explizit vergeben oder nicht? Allgemeine Java-Themen 6
MiMa Vorhandenes das nicht existiert?? Allgemeine Java-Themen 7
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18
T Fremde Typen mockt man nicht? Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
B neuroph hält beim XOR lernen nicht an Allgemeine Java-Themen 13
kodela JDialog zeigt Text nicht an Allgemeine Java-Themen 5
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
D Twitch API mit HttpURLConnection läuft nicht? Allgemeine Java-Themen 0
M Test geht auf Travis und mit Github Action schief aber nicht lokal Allgemeine Java-Themen 3
R Threads Clip loop loopt nicht Allgemeine Java-Themen 2
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
W Server-Thread schreibt nicht alle Dateien Allgemeine Java-Themen 6
OnDemand JMS Messages nicht abgeholt Allgemeine Java-Themen 0
O Aus JAR-Datei erstellte EXE-Datei funktioniert nicht Allgemeine Java-Themen 10
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
M Console geht nicht auf (Windows 10) Allgemeine Java-Themen 3
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
W Enumeration ein Array/List als Eigenschaft mitgeben - warum geht das nicht? Allgemeine Java-Themen 0
W Javac nicht bei Installation installiert Allgemeine Java-Themen 9
S HTML den ich von einer URL hole nicht identisch mit dem HTML im Browser Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben