Und noch ein amüsantes Beispiel:
import java.util.List;
import javax.swing.*;
import javax.swing.plaf.ColorUIResource;
public class GradieltButton {
public static void main(String[] args) {
Object grad = UIManager.get("Button.gradient");
List gradient;
if (grad instanceof List) {
gradient = (List) grad;
System.out.println(gradient.get(0));
System.out.println(gradient.get(1));
System.out.println(gradient.get(2));
System.out.println(gradient.get(3));
System.out.println(gradient.get(4));
//gradient.set(2, new ColorUIResource(Color.blue));
//gradient.set(3, new ColorUIResource(Color.YELLOW));
//gradient.set(4, new ColorUIResource(Color.GREEN));
//gradient.set(2, new ColorUIResource(221, 232, 243));//origal Color
//gradient.set(2, new ColorUIResource(255, 255, 255));//origal Color
//gradient.set(2, new ColorUIResource(184, 207, 229));//origal Color
gradient.set(2, new ColorUIResource(190, 230, 240));
gradient.set(3, new ColorUIResource(240, 240, 240));
gradient.set(4, new ColorUIResource(180, 200, 220));
//UIManager.put("Button.background", Color.pink);
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new GradieltButton().makeUI();
}
});
}
public void makeUI() {
JButton button = new JButton("Click");
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(button);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
@ShaggyInjun Aus irgendeinem Grund meine UIManager.get schrieb ("Button.gradient") einen Nullwert zurückgibt. Würdest du wissen warum? Ich weiß, dass ich MetalTheme benutze.
Diese Key in UIManager
kehrt ColorUIResource
(more in UIManagerDefaults by @camickr)
[0.3, 0.0, javax.swing.plaf.ColorUIResource [R = 221, G = 232, B = 243], javax.swing. plaf.ColorUIResource [R = 255, g = 255, B = 255], javax.swing.plaf.ColorUIResource [R = 184, g = 207, B = 229]]
erforderlich ColorUIResource
zu verwenden anstelle von Gradient
, t gibt arrays of Colors and Insets
== ColorUIResource
Aus irgendeinem Grund gibt mein 'UIManager.get (" Button.gradient ")' null zurück. Würdest du wissen warum? Ich weiß, dass ich MetalTheme benutze. – ShaggyInjun
@ShaggyInjun se meine Bearbeitung hier für mehr Info – mKorbel
Der eigentliche Aufruf ist 'UIManager.getDefaults(). Get (" Button.gradient ")'. – ShaggyInjun