Ich habe ein Programm, in dem ein JPanel zu einem JFrame hinzugefügt wird:
%Vor%Ich erhalte eine Fehlermeldung, in der ich gefragt werde, ob ich den Typ von "Panel" in "Komponente" ändern soll. Ich repariere diesen Fehler? Es will ich tun: Component Panel = neue Komponente ();
Anstatt dass Ihre Test2-Klasse eine JPanel enthält, sollten Sie die Subklasse JPanel haben:
%Vor%Weitere Details:
JPanel ist eine Unterklasse von Component, also jede Methode, die Nimmt eine Komponente als Argument, kann auch ein JPanel als Argument verwendet werden.
Bei älteren Versionen konnten Sie nicht direkt zu einem JFrame hinzufügen. Sie mussten JFrame.getContentPane () verwenden. add (Komponente). Wenn Sie eine ältere Version verwenden, könnte dies ebenfalls ein Problem darstellen. Neuere Versionen von Java lassen Sie JFrame.add (Component) direkt aufrufen.
Ihre Test2
-Klasse ist keine Component
, sie hat eine Component
, was ein Unterschied ist.
Entweder machst du etwas wie
%Vor% nachdem Sie einen Getter für das Panel in Ihrer Klasse eingeführt haben oder Sie sicherstellen, dass Ihre Test2
-Klasse zu Component
wird (z. B. durch Erweitern eines JPanel
)