MAJUSKOPHILIE

Veröffentlicht in Gedankenblitze am 30. Juni 2011 von xehpuk

ICH BIN MAJUSKOPHIL, GLAUBE ICH! :O

Datei überschreiben durch JFileChooser nur über Bestätigung

Veröffentlicht in Programmierung am 3. Dezember 2010 von xehpuk

Mö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 xehpuk

Wen 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 xehpuk

Heute 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 xehpuk

Uiii, 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. :P

Dicota BacPac Easy(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 xehpuk

13

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 xehpuk
Rainer Holzschuh
(Quelle: Kicker)

Rainer 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 am 13. August 2010 von xehpuk
Fargastfernsehen
(Quelle: üstra)

Vorhin 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 am 12. August 2010 von xehpuk

Fü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:

1. The Requiem 2. The Radiance 3. Burning In The Skies 4. Empty Spaces 5. When They Come For Me 6. Robot Boy 7. Jornada Del Muerto 8. Waiting For The End 9. Blackout 10. Wretches And Kings 11. Wisdom, Justice, And Love 12. Iridescent 13. Fallout 14. The Catalyst 15. The Messenger … Read More

via Mike Shinoda's Blog

Wagemutiger Bahnfahrer

Veröffentlicht in Mitten aus dem Leben mit den Tags am 12. August 2010 von xehpuk

Um 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:

Kreuzung Podbielskistraße Sutelstraße
(Quelle: Google Maps)

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.

Follow

Get every new post delivered to your Inbox.