LookandFeel Design

maGG

Bekanntes Mitglied
Ich suche ein cooles Design für mein Programm und habe dafür die Designs von JTattoo ausprobiert - bin aber noch nicht so recht begeistert davon.
Standardmäßig ist bei Netbeans bei mir Nimbus drin gewesen, dort habe ich mit Border Title gearbeitet und bin mit dem Dropshadow da mega unzufrieden gewesen, deswegen habe ich ein bisschen ausprobiert.
Die anderen Designs, die im JDK mitgeliefert werde, also Windows, Windows Classic und Metal gefallen mir auch nicht.

Welches Design habt ihr denn so bisher benutzt?
 
Ich benute ausschließich System Look&Feel da ich es grausam finde wenn jedes Programm anders aussieht.

Microsoft, Apple und Co haben Millionen in professionelle Designer investiert um eine Oberfläche zu schaffen die von jedem User als angenehm empfunden wird. Warum sollte ich glauben, dass ich es besser kann? Würde ich was eigenes machen dann würde die Akzeptanz bei einem großteil der User die nicht meine Geschmack haben rapide sinken. Warum sollte ich das Tun? Nur weil es in meinen Augen cool aussieht?

Sorry aber eine Software muss nur coole Funktionen haben und echtg voll geil bugfrei sein (Um mal Deinen Slang zu verwenden).

Gruß

Claus
 
Ja das Argument lasse ich gelten 🙂
LookAndFeel System kann ich so bekommen oder?
Java:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

edit: Ich würde gerne die Schriftart der TextArea ändern in die Schriftart, die auch für die Labels und anderes benutzt werden. Gibt es sowas in der Art wie getSystemFont, setFontTextAreaSystemFOnt ?
 
Zuletzt bearbeitet:
Also bei Buttons kann man die Schrift wie folgt ändern:

Java:
Font monospacedFont = new Font("Monospaced", Font.PLAIN, 12);
btnEntityName.setFont(monospacedFont);

Außer Monospaced gibt es noch:
Dialog
DialogInput
Serif
SansSerif

Für das LookAndFeel kannst du eine Methode von mir verwenden:
Java:
	/**
	 * Prüft, ob das LookAndFeel namens "Windows" vorhanden ist. Falls es
	 * vorhanden ist, wird es verwendet. Falls es nicht vorhanden ist, wird
	 * überprüft, ob das LookAndFeel namens "Mac OS X" vorhanden ist usw.
	 * 
	 * Priorisierung: Windows, Mac OS X, Windows Classic, Nimbus, Metal
	 * 
	 */
	private void setBestLookAndFeel() {

		int numberOfLookAndFeels = UIManager.getInstalledLookAndFeels().length;

		ArrayList<String> namesOfLookAndFeels = new ArrayList<String>();
		ArrayList<String> classNamesOfLookAndFeels = new ArrayList<String>();

		for (int i = 0; i < numberOfLookAndFeels; i++) {
			namesOfLookAndFeels.add(UIManager.getInstalledLookAndFeels()[i].getName());
			classNamesOfLookAndFeels.add(UIManager.getInstalledLookAndFeels()[i].getClassName());
		}

		int indexOfBestLookAndFeel = -1;

		if (namesOfLookAndFeels.contains("Windows")) {
			for (int i = 0; i < namesOfLookAndFeels.size(); i++) {
				if (namesOfLookAndFeels.get(i).equals("Windows")) {
					indexOfBestLookAndFeel = i;
					i = namesOfLookAndFeels.size();
				}
			}
		}

		else if (namesOfLookAndFeels.contains("Mac OS X")) {
			for (int i = 0; i < namesOfLookAndFeels.size(); i++) {
				if (namesOfLookAndFeels.get(i).equals("Mac OS X")) {
					indexOfBestLookAndFeel = i;
				}
			}
		}

		else if (namesOfLookAndFeels.contains("Windows Classic")) {
			for (int i = 0; i < namesOfLookAndFeels.size(); i++) {
				if (namesOfLookAndFeels.get(i).equals("Windows Classic")) {
					indexOfBestLookAndFeel = i;
				}
			}
		}

		else if (namesOfLookAndFeels.contains("Nimbus")) {
			for (int i = 0; i < namesOfLookAndFeels.size(); i++) {
				if (namesOfLookAndFeels.get(i).equals("Nimbus")) {
					indexOfBestLookAndFeel = i;
				}
			}
		}

		else if (namesOfLookAndFeels.contains("Metal")) {
			for (int i = 0; i < namesOfLookAndFeels.size(); i++) {
				if (namesOfLookAndFeels.get(i).equals("Metal")) {
					indexOfBestLookAndFeel = i;
				}
			}
		}

		if (indexOfBestLookAndFeel != -1) {
			try {
				UIManager.setLookAndFeel(classNamesOfLookAndFeels.get(indexOfBestLookAndFeel));
				SwingUtilities.updateComponentTreeUI(this);
				return;
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

	}
 

Neue Themen


Zurück
Oben