ICH BIN MAJUSKOPHIL, GLAUBE ICH! :O
Datei überschreiben durch JFileChooser nur über Bestätigung
Veröffentlicht in Programmierung am 3. Dezember 2010 von xehpukMöchte man in einer Java-Applikation eine Datei speichern, so bietet sich dafür der JFileChooser an. Für den Anwender kann es jedoch ein wenig ärgerlich werden, wenn er eine falsche Datei zum Überschreiben ausgewählt hat oder einen Dateinamen eingegeben hat, der in dem Ordner bereits existiert, denn: Die Datei wird direkt überschrieben.
Also möchte man einen Dialog anzeigen lassen, der um die Bestätigung des Anwenders bittet. Dafür bietet sich JOptionPane.showConfirmDialog() gut an.
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
if (JOptionPane.showConfirmDialog(this, fileChooser.getSelectedFile().getName() + " ist bereits vorhanden." +
System.getProperty("line.separator") + "Möchten Sie sie ersetzen?", "Speichern bestätigen",
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.YES_OPTION)
//speichern
[paste]
Und wenn der Anwender sich nun umentscheidet und „Nein“ wählt? Der JFileChooser muss nun neu geöffnet werden, weil er sich durch das Klicken auf „Speichern“ schließt.
Das erste Problem ließe sich durch eine Schleife lösen. Dies behebt jedoch nicht das zweite Problem: Klickt man auf „Speichern“, so schließt sich der JFileChooser und dann öffnet sich der Dialog. Erst beim Klick auf „Nein“ öffnet sich der JFileChooser wieder. Nicht gerade ein natürliches Verhalten (und unschön ist es allemal).
Für dieses Dilemma gibt es jedoch eine einfache Lösung. JFileChooser’s approveSelection() muss überschrieben werden. Dies lässt sich schnell in einer anonymen Klasse erledigen.
JFileChooser fileChooser = new JFileChooser() {
@Override
public void approveSelection() {
File file = getSelectedFile();
if (file.exists()) {
if (JOptionPane.showConfirmDialog(this, file.getName() + " ist bereits vorhanden." +
System.getProperty("line.separator") + "Möchten Sie sie ersetzen?", "Speichern bestätigen",
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.YES_OPTION)
super.approveSelection();
} else super.approveSelection();
}
};
if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
//speichern
[paste]
Wird nun auf „Speichern“ geklickt, so schließt sich der JFileChooser nicht, sondern es wird nur der Dialog geöffnet. Beim Klick auf „Nein“ schließt sich dieser einfach wieder, der JFileChooser bleibt jedoch sichtbar. Wird jedoch auf „Ja“ geklickt, so wird die ursprüngliche Methode von approveSelection() aufgerufen (JFileChooser wird unsichtbar gemacht und das ActionEvent JFileChooser.APPROVE_SELECTION wird gefeuert).
Das gewünschte Verhalten ist erreicht – ein weiterer Tag gerettet!
Keine Macht der Werbung!
Veröffentlicht in Elektronische Datenverarbeitung am 19. September 2010 von xehpukWen stören sie nicht, die blinkenden Werbebanner, Pop-ups oder gar die Werbefenster, die sich penetrant über den Inhalt der besuchten Webseite legen und sich nur über eine ab und an gut versteckte Schließen-Schaltfläche wegdrücken lassen? Was, dich stören sie nicht? Dann bitte einmal kurz Strg + W drücken. Danke.
Ich werde hier kurz Lösungen für die mir geläufigsten Browser (Firefox, Internet Explorer, Opera) vorstellen. Ist dein Browser nicht dabei? Dann verfass die Lösung doch bitte als Kommentar. Ich nehme sie dann gegebenenfalls auf.
» Firefox
Einfach das Add-on AdBlock Plus herunterladen, das Filterabonnement EasyList Germany+EasyList (Deutsch) hinzufügen, fertig.
» Internet Explorer
Hier hilft Simple Adblock. Einfach installieren, fertig.
» Opera
In Opera wird der Blockierfilter über die Datei urlfilter.ini (Infos auf Opera-Wiki und OperaInfo-Wiki) geregelt. Dort kann man sich die Liste an zu blockierenden URLs entweder selbst eintragen, vorgefertigte Listen herunterladen und integrieren oder sich beispielsweise die Java-Anwendung Opera URLFilter Downloader herunterladen. Unterstützung mehrerer Sprachen fehlt zwar (noch), aber die GUI ist simpel gehalten und auch selbsterklärend.
Alles klar?
Morgenmuffel
Veröffentlicht in Gedankenblitze am 31. August 2010 von xehpukHeute war ich mal wieder vor 9 Uhr bei der Arbeit. Das letzte Mal war dies am 14. Juli der Fall.
Danke, FH!
Veröffentlicht in Mitten aus dem Leben am 16. August 2010 von xehpukUiii, heute ist ein guter Tag!
Ich war heut Morgen in der Fachhochschule, um zum einen das Organisatorische bzgl. der Studiengebühren zu klären und zum anderen meinen morschen Rucksack umzutauschen.
Dort habe ich dann in der Verwaltung erfahren, dass ich statt der normalen Gebühren nur in Höhe des Praxisentgelds blechen muss. 750 € gespart!
Das Umtauschen des Rucksacks war auch kein Problem. Habe sofort einen neuen bekommen. Vorn leider ohne aufgenähte Kennung der FH, aber das kann ich verkraften.
(Quelle: Dicota)Zum Rucksack an sich kann ich nur sagen, dass ich ihn nicht empfehlen würde. Ich behandle meine Sachen immer recht gut. Trotzdessen ist er schon nach etwas mehr als einem Semester oben aufgerissen.
Es ist ein Dicota BacPac Easy, welcher auch eine interessante Preisspanne innehat. Der niedrigste Preis liegt bei 9,19 €, während der höchste überraschenderweise mit 31,77 € bei amazon zu finden ist.
Freitag, der 13.
Veröffentlicht in Gedankenblitze am 14. August 2010 von xehpuk13
Das war er mal wieder, Freitag, der 13. Und, ist jemandem etwas Schönes passiert? Mir zumindest nicht.
Übrigens teilt sich dieser Tag den ersten Platz bei den am häufigsten vorkommenden Kombinationen aus Wochen- und Monatstag.
Die folgende Tabelle habe ich der Wikipedia gestohlen:
| Monatstag | So | Mo | Di | Mi | Do | Fr | Sa | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 8 | 15 | 22 | 688 | 684 | 687 | 685 | 685 | 687 | 684 | 4800 | ||
| 2 | 9 | 16 | 23 | 684 | 688 | 684 | 687 | 685 | 685 | 687 | 4800 | ||
| 3 | 10 | 17 | 24 | 687 | 684 | 688 | 684 | 687 | 685 | 685 | 4800 | ||
| 4 | 11 | 18 | 25 | 685 | 687 | 684 | 688 | 684 | 687 | 685 | 4800 | ||
| 5 | 12 | 19 | 26 | 685 | 685 | 687 | 684 | 688 | 684 | 687 | 4800 | ||
| 6 | 13 | 20 | 27 | 687 | 685 | 685 | 687 | 684 | 688 | 684 | 4800 | ||
| 7 | 14 | 21 | 28 | 684 | 687 | 685 | 685 | 687 | 684 | 688 | 4800 | ||
| 29 | 644 | 641 | 644 | 642 | 642 | 643 | 641 | 4497 | |||||
| 30 | 627 | 631 | 626 | 631 | 627 | 629 | 629 | 4400 | |||||
| 31 | 400 | 399 | 401 | 398 | 402 | 399 | 401 | 2800 | |||||
Anmerkung zu Mittwoch, dem 31.: Dieser Tag kommt am seltensten vor. Das nächste Mal übrigens an meinem Geburtstag.
Rainer „Netzer“ Holzschuh
Veröffentlicht in Gedankenblitze am 13. August 2010 von xehpukRainer Holzschuh, ehemaliger Chefredakteur und momentaner Herausgeber des Sportmagazins „Kicker“, redet genauso wie Günter Netzer.
Gefährliches Fahrgastfernsehen
Veröffentlicht in Mitten aus dem Leben mit den Tags üstra am 13. August 2010 von xehpukVorhin hörte ich einen lauten Knall in der Bahn, sogar durch die ansatzweise schalldichten In-Ears hindurch.
Ein Riese war mit seinem Kopf voll gegen das Fahrgastfernsehen geknallt.
Der mir gegenübersitzende Maler arabischer Herkunft verzog erst mal das Gesicht (er konnte wohl den Schmerz nachempfinden), konnte dann aber im Nachhinein nicht mehr aufhören, fett durch die ganze Bahn zu grinsen.
Ja, das war irgendwie schon ein wenig lustig!
„A Thousand Suns“ Track Listing (via Mike Shinoda’s Blog)
Veröffentlicht in Gedankenblitze mit den Tags Linkin Park am 12. August 2010 von xehpukFür alle, die es noch nicht mitbekommen haben: Am 14. September kommt das vierte Studioalbum „A Thousand Suns“ von Linkin Park raus.
Die Tracklist sieht so aus:
Wagemutiger Bahnfahrer
Veröffentlicht in Mitten aus dem Leben mit den Tags üstra am 12. August 2010 von xehpukUm 09:11 saß ich in der Stadtbahn, Linie 3 Richtung Altwarmbüchen. Ganz vorn beim Fahrer. An der Station Noltemeyerbrücke steht die Bahn meistens etwas länger, weil die folgende Kreuzung größer und komplexer als normale Kreuzungen ist:
Die Strecke verläuft von Westsüdwest nach Ostnordost.
Es war so weit. Die Bahn fuhr an. „Endlich hat die Ampel umgeschaltet.“, dachte ich naiverweise. Ich schaute in Fahrtrichtung: Nur die Strecke nach links war freigegeben! Gespannt beobachtete ich die Verkehrslage, als die Bahn ihren Weg durch die Kreuzung nahm. Es geschah kein Unheil, die Autofahrer hatten wohl gut aufgepasst.



