OceanTheme

Status
Nicht offen für weitere Antworten.

Illuvatar

Top Contributor
Wenn ich in meinem Programm (1.5 Beta 1) das MetalTheme einmal per
Code:
MetalLookAndFeel.setCurrentTheme (new DefaultMetalTheme());
auf das alte Steel-Theme umschalte, wie kann ich dann auf das Ocean-Theme zurückschalten?
Das Ocean-Theme ist zwar in der Klasse javax.swing.plaf.metal.OceanTheme, diese ist aber, entgegen der API, genau wie ihr Konstruktor nicht public. Genauso verhält es sich mit der Methode MetalLookAndFeel.getCurrentTheme(), die private ist.
Weiß jemand eine Möglichkeit, wie ich die Änderung trotzdem Rückgängig machen könnte? Oder ist die Klasse vielleicht in der Beta 2 public?
 

Illuvatar

Top Contributor
Aber hier:
Code:
MetalLookAndFeel.setCurrentTheme (new OceanTheme());
kommt das hier:
--------------------Configuration: Pacman3d - JDK version 15 <Default> - <Default>--------------------
D:\java\selbst\PacMan\Pacman3d\src\main\Main.java:1202: javax.swing.plaf.metal.OceanTheme is not public in javax.swing.plaf.metal; cannot be accessed from outside package
MetalLookAndFeel.setCurrentTheme (new OceanTheme());
^
D:\java\selbst\PacMan\Pacman3d\src\main\Main.java:1202: OceanTheme() in javax.swing.plaf.metal.OceanTheme is not defined in a public class or interface; cannot be accessed from outside package
MetalLookAndFeel.setCurrentTheme (new OceanTheme());
^
2 errors

Process completed.

Und hier:
Code:
private MetalTheme oceanTheme = MetalLookAndFeel.getCurrentTheme();
kommt auch
D:\java\selbst\PacMan\Pacman3d\src\main\Main.java:48: getCurrentTheme() has private access in javax.swing.plaf.metal.MetalLookAndFeel
private MetalTheme oceanTheme = MetalLookAndFeel.getCurrentTheme();

obwohls in der API als public steht.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben