Axel Richter: Verständnisprobleme

Beitrag lesen

Hallo,

Eye || Augenzwinkern [Frauen zwinkern doppelt so häufig wie Männer. ] || EyelidEvent
Nur nochmal zu meiner Sicherheit: Das ist ironisch gemeint, oder? ;-)

Ja, allerdings kann man durchaus ein Objekt namens Eye programmieren, welches ein EyelidEvent auslösen könnte. Man müsste dazu nur AWTEvent entsprechend (was auch immer ein EyelidEvent speziell sein könnte) erweitern.

  1. Wie ist es möglich, dass man in Java z.B. den Text von JLabel per HTML formatieren kann? Ich meine, wieso macht man soetwas?

Als man das Textformatieren für Java-Komponenten andachte, wurde HTML wohl noch als _die_ sehr einfache Möglichkeit zur Textformatierung angesehen. Deshalb wurde ziemlich zeitig ein HTML-Parser implementiert, der bei Swing-Components nun genutzt werden kann. Wie einfach es ist, mit Java einen Browser zu realisieren, siehst Du hier: http://www.galileocomputing.de/openbook/javainsel6/javainsel_14_016.htm#mjae195fa969346d98709dc3bb022f3cc0.

Jetzt haben sich für mich noch 2 Fragen aufgeworfen, die ganz direkt etwas mit einem Java-Programm zutun haben.

  1. Ich habe mir ein Miniprogramm zusammengebastelt. Und zwar soll es 2 JButtons erstellen. Der erste (b) hat einen vordefinierten Text. Der Text des zweiten Buttons soll dann der Text des ersten mit dem Anhängsel "Nr.2" sein.
    Das Problem ist, dass der erste Button ersetzt wird, und nur der zweite Button dargestellt wird. Warum macht Java das?

Du legst mit
...

frame.add(b);
        frame.add(c);

...
die Buttons a und b direkt auf die contentPane des JFrames. Bei http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html findest Du:
...
The default content pane will have a BorderLayout manager set on it.
...
Das heißt, der Standard-Layoutmanager des JFrames ist ein Border-Layout-Manager. Für diesen musst Du bei [container].add() noch angeben, wo die Komponente im Kontainer plaziert werden soll. Bsp.:
...
import java.awt.*;
...
        frame.add(b, BorderLayout.NORTH);
        frame.add(c, BorderLayout.SOUTH);
...

Beschäftige Dich also noch mit Layoutmanagern.

Den Punkt 4. kann ich nicht nachvollziehen.

viele Grüße

Axel