Merkwürdiger Bug. Einfache Lösung:
Rechtsklick (auf Desktop) -> Ansicht -> Desktopsymbole anzeigen
Das Suchen nach Treibern kann Schwierigkeiten bereiten, sofern der Hersteller das gewünschte Betriebssystem nicht unterstützt. Zum Glück gibt es bereits automatisierte Programme, die einem die Suche nach dem richtigen Treiber erleichtern. Für einen Bekannten mit einem Fujitsu Siemens Amilo Notebook Pi 2540 sollte ich nach Treibern für Windows XP (32-bit) suchen. Da dieses OS nicht von FSC unterstützt wird, habe ich DriverMax 5.31 Pro und Driver Genius Professional Edition 9 ausprobiert.
Bei einem direkten Vergleich dieser beiden kostenpflichtigen Produkte, zieht DriverMax deutlich den Kürzeren. Während Driver Genius selbst unbekannte Hardware sofort erkannte, wusste DriverMax nicht einmal was für eine Grafikkarte im Amilo Pi 2540 steckt. Dazu kommt, das man bei DriverMax 5 für das zeitgleiche Herunterladen mehrerer Dateien, ganz schön viele Klicks benötigt, während sich in Driver Genius 9 diesselbe Funktion mit nur einem Button erledigen lässt. Auch der Export von Treibern als Zip-Archiv bleibt der Driver Genius Professional Edition 9 vorbehalten. Somit verdient sich dieser Treiber-Downloader den eindeutigen Sieg.
Für alle Besitzer eines FSC Amilo Pi 2540 Laptops, die noch auf der Suche nach passenden Windows XP-Treibern sind, folgt eine geschmälerte Liste mit der verbauten Hardware und den zu verwendenden Treiber:
Grafikkarte: ATI Mobility Radeon HD 2400
ATI Catalyst Display Driver 8.491Netzwerkkarte: Realtek RTL8139/810x Family Fast Ethernet NIC
Realtek GbE & FE Ethernet PCI-E NIC DriverWLAN: Atheros AR5007EG Wireless Network Adapter
Atheros AR5xxx AR9xxx Series Wireless Network Card Driver
View.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | import java.util.Observable; import java.util.Observer; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class View implements Observer { // MVC Instances private Controller controller; private Model model; // Further local variables... private JButton button; // Initialization constructor public View(Model model) { this.model = model; this.model.addObserver(this); this.controller = new Controller(this,model); initGUI(); } // Initialization of Frame and GUI Elements private void initGUI() { // Frame JFrame frame = new JFrame("Application Titlebar Name"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(180,180,400,300); frame.setLayout(null); frame.setResizable(false); frame.setVisible(true); // Other GUI Elements... button = new JButton("I'm a Button!"); button.setBounds(10,10,200,50); button.setActionCommand("fromButton"); button.addActionListener(controller); frame.add(button); } // Start the GUI in an Event-Dispatching-Thread public static void main(String args []) { SwingUtilities.invokeLater(new Runnable() { public void run() { new View(new Model()); } }); } // Setter for the button text public void setButtonText(String text) { this.button.setText(text); } @Override // Event-Handling public void update(Observable arg0, Object eventCommand) { if (eventCommand.equals("done")) { if(model.getButtonState()) setButtonText("I'm happy :)"); else setButtonText("I'm sad :("); } } } |
Controller.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Controller implements ActionListener { // Local variables private View view; private Model model; public Controller(View view, Model model) { super(); this.view = view; this.model = model; } @Override public void actionPerformed(ActionEvent action) { if( action.getActionCommand().equals("fromButton") && !model.getButtonState() ) model.setButtonState(true); else model.setButtonState(false); } } |
Model.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import java.util.Observable; public class Model extends Observable { // Private variable(s) boolean buttonState; // Default constructor public Model() { super(); this.buttonState = false; } // Setter for the button state public void setButtonState(boolean state) { this.buttonState = state; this.setChanged(); this.notifyObservers("done"); } // Getter for the actual button state public boolean getButtonState() { return this.buttonState; } } |
Mit Taskbar Shuffle lassen sich Icons in der Startleiste verschieben, was unter Windows 95 bis Windows Vista von Hause aus leider nicht möglich ist.
Wer schon mal in Java Programme mit Textausgabe programmiert hat, wird feststellen, dass es trotz der Betriebssystemunabhängigkeit von Java Probleme mit der Darstellung von Sonderzeichen auf verschiedenen Betriebssystemen gibt. Daher sollte man Umlaute und Sonderzeichen immer durch Unicode-Escapes im Quellcode ersetzten. Java arbeitet mit 16-Bit Unicodes (UTF-16).
Beispiel:
System.out.println(“\u00C4sthetisches Fr\u00FChst\u00FCcksfernsehen.”);
Übersicht der wichtigsten Unicode-Maskierungen für Java:
| Unicode-Escapes | Sonderzeichen |
| \u00A1 | ¡ |
| \u00A2 | ¢ |
| \u00A3 | £ |
| \u00A4 | ¤ |
| \u00A5 | ¥ |
| \u00A6 | ¦ |
| \u00A7 | § |
| \u00A8 | ¨ |
| \u00A9 | © |
| \u00AA | ª |
| \u00AB | « |
| \u00AC | ¬ |
| \u00AD | |
| \u00AE | ® |
| \u00AF | ¯ |
| \u00B0 | ° |
| \u00B1 | ± |
| \u00B2 | ² |
| \u00B3 | ³ |
| \u00B4 | ´ |
| \u00B5 | µ |
| \u00B6 | ¶ |
| \u00B7 | · |
| \u00B8 | ¸ |
| \u00B9 | ¹ |
| \u00BA | º |
| \u00BB | » |
| \u00BC | ¼ |
| \u00BD | ½ |
| \u00BE | ¾ |
| \u00BF | ¿ |
| \u00C0 | À |
| \u00C1 | Á |
| \u00C2 | Â |
| \u00C3 | Ã |
| \u00C4 | Ä |
| \u00C5 | Å |
| \u00C6 | Æ |
| \u00C7 | Ç |
| \u00C8 | È |
| \u00C9 | É |
| \u00CA | Ê |
| \u00CB | Ë |
| \u00CC | Ì |
| \u00CD | Í |
| \u00CE | Î |
| \u00CF | Ï |
| \u00D0 | Ð |
| \u00D1 | Ñ |
| \u00D2 | Ò |
| \u00D3 | Ó |
| \u00D4 | Ô |
| \u00D5 | Õ |
| \u00D6 | Ö |
| \u00D7 | × |
| \u00D8 | Ø |
| \u00D9 | Ù |
| \u00DA | Ú |
| \u00DB | Û |
| \u00DC | Ü |
| \u00DD | Ý |
| \u00DE | Þ |
| \u00DF | ß |
| \u00E0 | à |
| \u00E1 | á |
| \u00E2 | â |
| \u00E3 | ã |
| \u00E4 | ä |
| \u00E5 | å |
| \u00E6 | æ |
| \u00E7 | ç |
| \u00E8 | è |
| \u00E9 | é |
| \u00EA | ê |
| \u00EB | ë |
| \u00EC | ì |
| \u00ED | í |
| \u00EE | î |
| \u00EF | ï |
| \u00F0 | ð |
| \u00F1 | ñ |
| \u00F2 | ò |
| \u00F3 | ó |
| \u00F4 | ô |
| \u00F5 | õ |
| \u00F6 | ö |
| \u00F7 | ÷ |
| \u00F8 | ø |
| \u00F9 | ù |
| \u00FA | ú |
| \u00FB | û |
| \u00FC | ü |
| \u00FD | ý |
| \u00FE | þ |
| \u00FF | ÿ |
Hinweis: Die Unicodes können unter Windows XP auch mit der Zeichentabelle (zu erreichen über Start -> Ausführen -> charmap) gefunden werden.


0