Java Command "show" ist durchgestrichen(Bild)?

show - (programmieren, Java)

3 Antworten

Ich glaube, dass durchgestrichene Commands erneuert werden oder so, stimmt das? Wenn das stimmt, was ist dann der neue Command? Oder warum funktioniert das sonst nicht?

Wenn eine Methode durchgestrichen ist, heißt das, dass die Methode deprecated ist. Heißt: Die Methode sollte nicht mehr verwendet werden, da sie ggf. in einer späteren Funktion heraus genommen wird, und eine andere Methode hierfür empfohlen wird.

In der JavaDoc findest du meist einen Hinweis darauf, welche Methode stattdessen verwendet werden soll:

Deprecated. As of JDK version 1.5, replaced by Window.setVisible(boolean).

KnusperPudding  07.09.2016, 08:27
@regex9

Sorry regex. Auch wenn die Vermutung nahe liegt, dass es sich um das CardLayout handelt. So ist das falsch. - Da der Fragesteller seine Klasse CardLayout nennt, welche von JFrame erbt.

public class CardLayout extends JFrame {
...
}
package cardlayout.tutorial;

Daher ist mein Einwand mit JFrame#show durchaus berechtigt.

0

Wenn Klassen- oder Methodennamen durchgestrichen werden, macht dich dein Editor darauf aufmerksam, dass diese deprecated sind, also eigentlich nicht mehr genutzt werden sollten, da sie veraltet sind und möglicherweise sogar Fehler/Sicherheitslücken/Performanceschwächen o.ä. aufweisen.

Stattdessen sollte man die Methoden nehmen, die diese Funktionalität nun (anders) umsetzen. Aufschluss über die neue Alternative (in deinem Fall wäre das die Methode setVisible) gibt meist die Java Dokumentation oder gar bereits der Editor durch einen Tooltip selbst, wenn du deine Maus über den durchgestrichenen Text / die Warnung bewegst.

usergutefrage10 
Fragesteller
 06.09.2016, 16:34

Ich hab die Lösung gefunden: Ich habe nicht den LayoutManager CardLayout verwendest sondern meine eigene Klasse, welche ebenfalls CardLayout heißt. xD

1
regex9  06.09.2016, 21:35
@usergutefrage10

Gut, das erklärt auch, wieso in der Dokumentation kein deprecated Hinweis für die Methode vermerkt ist. 

0

setVisible(true);

Angewandt auf deine jFrame:
cl.setVisible(true);