# Compiler-Frage: Was bedeutet deprecated?



## padde479 (1. Sep 2005)

Hallo zusammen!

Habe mir ein kleines hello-world-Programm geschrieben und kompiliert. Nach dem Kompilieren kam folgende Aussage:
Note: HelloWorldSwing.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

Hier mal der Code:

```
/**
 * File: HelloWorldSwing.java
 * Das Hello-World-Beispiel in einem Fenster
 */
import javax.swing.*;

public class HelloWorldSwing{
        public static void main(String [] args){
                JFrame frame   = new JFrame("HauptFenster");
                JButton button = new JButton("Hello World");
                frame.getContentPane().add(button);
                frame.pack();
                frame.show();
        }
}
```
Was ist damit denn gemeint?

Gruß
Padde

_//Edit Sebastian: Groß schreiben wirkt keine Wunder. Nächstesmal änder ich die Schriftgröße auf "1", dann schauen wir mal ;D_


----------



## Oni (1. Sep 2005)

der compiler sagt dir das du etwas verwendest was veraltet ist.

ersetz mal
frame.show();
durch
 frame.setVisible(true);

dan müsste die meldung weg sein


----------



## Sky (1. Sep 2005)

padde479 hat gesagt.:
			
		

> Hallo zusammen!
> 
> Habe mir ein kleines hello-world-Programm geschrieben und kompiliert. Nach dem Kompilieren kam folgende Aussage:
> Note: HelloWorldSwing.java uses or overrides a deprecated API.
> ...


Du kennst zum Glück die Forum-Regel "Wer die größte Schrift benutzt bekommt als erstes eine Antwort!"


----------



## L-ectron-X (1. Sep 2005)

Zur Ergänzung bzw. Verständnis:

Klar, als Anfänger steht man vor vielen Problemen. Unbekannte Struktur, unbekannte Befehle, merkwürdige Compiler-Ausgaben und die API-Doc ist für einen Anfänger auch nicht gerade leicht zu lesen.
Das alles wird von den erfahreneren Programmierern schon mal vergessen...



> Note: HelloWorldSwing.java uses or overrides a deprecated API.
> Note: Recompile with -Xlint:deprecation for details.



Notes oder Warnings, stören den Programmablauf glaub ich nie. Das Programm wird in den meisten Fällen auch bei einer deprecated-Warnung laufen, nur ist das in zukünftigen Java-Versionen nicht sichergestellt.

Es bietet sich daher immer an, während der Entwicklung des Programms die Compiler-Optionen zu nutzen, um mehr über die Art und den Grund eines Fehlers/Warnung zu erfahren.
Beispiel:

```
javac -deprecation MeineKlasse.java
```


----------



## Dukel (1. Sep 2005)

padde479 hat gesagt.:
			
		

> Hallo zusammen!
> [...]
> Was ist damit denn gemeint?
> 
> ...



Als ich das erste mal in meinem Compiler "deprecated" gelesen hab, hab ich mir das bei dict.leo.org übersetzen lassen und in die Java API reingeschaut.

show

@Deprecated
public void show()

    Deprecated. As of JDK 5, replaced by Component.setVisible(boolean).

    Overrides:
        show in class Component


----------

