MAJUSKOPHILIE

Posted in Gedankenblitze on 30. Juni 2011 by redxorange

ICH BIN MAJUSKOPHIL, GLAUBE ICH! :O

Datei überschreiben durch JFileChooser nur über Bestätigung

Posted in Programmierung on 3. Dezember 2010 by redxorange

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!

Posted in Elektronische Datenverarbeitung on 19. September 2010 by redxorange

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

Posted in Gedankenblitze on 31. August 2010 by redxorange

Heute war ich mal wieder vor 9 Uhr bei der Arbeit. Das letzte Mal war dies am 14. Juli der Fall.

Danke, FH!

Posted in Mitten aus dem Leben on 16. August 2010 by redxorange

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. 😛

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.

Posted in Gedankenblitze on 14. August 2010 by redxorange

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

Posted in Gedankenblitze on 13. August 2010 by redxorange
Rainer Holzschuh
(Quelle: Kicker)

Rainer Holzschuh, ehemaliger Chefredakteur und momentaner Herausgeber des Sportmagazins „Kicker“, redet genauso wie Günter Netzer.