In meiner Java-Anwendung konnte ich das Color
von a JButton
in Bezug auf Rot, Grün und Blau erhalten; Ich habe diese Werte in drei int
s gespeichert .
Wie konvertiere ich diese RGB-Werte in eine, String
die die entsprechende hexadezimale Darstellung enthält? Sowie#0033fA
class java.util.IllegalFormatConversionException with message: x != java.lang.Float
String.format("#%06x", color.getRGB() & 0xFFFFFF);
Ein Einzeiler ohne String.format:
Sie können ein hinzufügen,
.toUpperCase()
wenn Sie zu Großbuchstaben wechseln möchten.Beachten Sie, dass ARRG richtig ist - nur für nicht transparente Farben.
quelle
quelle
Color.BLUE
die#0ff
Ausgabe , da der RGB-Wert von Color.BLUE zu der256
Basis 10 führt, die hexadezimal istff
). Ein Fix besteht darin, einewhile
Schleife anstelle einer if-Anweisung zu verwenden, wenn Nullen vorangestellt werden.Dies ist eine angepasste Version der Antwort von Vivien Barousse mit dem Update von Vulcan . In diesem Beispiel verwende ich Schieberegler, um die RGB-Werte von drei Schiebereglern dynamisch abzurufen und diese Farbe in einem Rechteck anzuzeigen. Dann verwende ich in der Methode toHex () die Werte, um eine Farbe zu erstellen und den entsprechenden Hex-Farbcode anzuzeigen.
Ein großes Dankeschön an Vivien und Vulcan. Diese Lösung funktioniert perfekt und war super einfach zu implementieren.
quelle