Clocking Time ?

Code46

Erfahrenes Mitglied
So meine letzte frage. Meine schoene Uhr funkt. Ich will date und Time Fontsize 18 haben ?
north.add(datetime.setFont("Algerian",Font.PLAIN,25));

dies funkt nit er gibt mir ein Fehler fuer setFont weis du warum ?
 

Fabio Hellmann

Erfahrenes Mitglied
Ja, weiß ich. :)

Das JPanel "north" erwartet bei der add-Methode eine Component. Deine Component ist das JLabel "datetime". Rufst du nun aber die Methode "setFont(...)" - in der add-Methode - von JLabel auf, bekommst du keinen Return-Wert, da diese eine void Methode ist. Daher kannst du nicht eine Methode in dieser add-Methode aufrufen, die keine Component zurück gibt.

Deshalb musst du den Aufruf für setFont außerhalb der add-Methode machen.
Java:
datetime.setFont("Algerian",Font.PLAIN,25);
north.add(datetime);
 

Code46

Erfahrenes Mitglied
Ups sorry tut mir leid.
Das ist die Fehlermeldung:
The method setFont(Font) in the type JComponent is not applicable for the arguments(String,int,int)

Danke fuer deine Hilfe und muehe
 

Fabio Hellmann

Erfahrenes Mitglied
Wie lange programmierst du schon?

Eine der grundlegenden Sachen die man beim programmieren lernt, ist dass das, was in der Methode in Klammern steht, die Objekttypen sind, die diese Methode braucht. Sprich...
Java:
setFont(Font); // Font ist der Objekttyp der erwartet wird
setText(String); // String ist der Objekttyp der erwartet wird
setSize(int, int); // zwei int-Werte werden erwartet

Demzufolge musst du an die Methode 'setFont(Font)' ein Font-Objekt übergeben und nicht einen String und zwei int-Werte. Also genau das was in der Fehlermeldung steht.