/**
* 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();
}
}
}