Farbe wählen ohne JColorChooser

beastofchaos

Bekanntes Mitglied
Hallo Leute,
ich arbeite im Moment an einem Programm mit vielen grafischen Effekten (es ist ein Zeichenporgramm :p ).

Dabei kann man per Button einen JColorChooser aufrufen und sich eine Farbe zusammenmixen. Bloß ist das ein bisschen zu umständlicher für ein normales weiß oder rot... :/ Vll. kennt ihr Paint / Paint.net. dort hat man die Palette direkt am Rand und kann optional eine Farbe mixen.

Wüsstet ihr da eine Komponente, sonst müsste ich mir das selber iwie basteln :)

Gruß, Thomas
 

javaDev2011

Mitglied
Hi,

wie währe es denn mit einer JComboBox mit den Farben als Optionen.
Da kannst du auch die foreground-color einzeln setzen (hald nicht direkt, sondern über einen Renderer!)

Hier ein kleines Beispiel:
Java:
yourComboBox.setRenderer(new DefaultListCellRenderer() {
            
            @Override    
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
                String wert = value.toString();
                setText(wert);
                setBackground(Color.white);
                if(wert.equals("grün")) setForeground(Color.green);
                else if(wert.equals("blau")) setForeground(Color.blue); 
                else if(wert.equals("gelb")) setForeground(Color.yellow);
                return this;
            }
                   
});

Gruß javaDev2011
 

Runtime

Top Contributor
Es geht schöner, wenn du value zu Color castest und zur JComboBox statt eines Strings eine Farbe addest:
Java:
yourComboBox.setRenderer(new DefaultListCellRenderer() {
            
            @Override    
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
                setBackground(Color.white);
                setForeground((Color) value));
                return this;
            }
                   
});
und
Java:
yourComboBox.add(Color.WHITE);
yourComboBox.add(Color.RED);
...
Allerdings wird der Name der Farbe nicht angezeit, aber Farben kann man idr selbst erkennen ;)
 

beastofchaos

Bekanntes Mitglied
Danke für die Ansätze - mir kommt bei Runtime's Antwotr ne Frage:

Java:
setBackground(Color.white);        // setzt das den Hintergrund in der Combobox? "Weiß" ist doch sicher schon Standard, oder?
setForeground((Color) value));     // und wozu ist das? :)

Also Combobox wäre für mich nur eine temporäre Lösung - also entweder zeichne ich mir doch ein Panel und er fragt bei Klick, auf welcher Farbe die Maus ist, oder ich nehme iwie 10-20 Buttons (einen für jede einzelne Farbe), was mir auch ein bisschen unsauber erscheint :p

Da fällt mir ein - kann ich auf Buttons zeichnen? Sonst müsste man halt wirklich für jeden Button ein Icon mit der jeweiligen Farbe erstellen :/
 
Zuletzt bearbeitet:

Runtime

Top Contributor
Java:
setBackground(Color.white);        // setzt das den Hintergrund in der Combobox? "Weiß" ist doch sicher schon Standard, oder?
setForeground((Color) value));     // und wozu ist das? :)
Der Hintergrund des ComboBox Items ist standardmässig vom Laf gegeben und "(Color) value" ist die Farbe, die zur ComboBox geaddet wurde.
Da fällt mir ein - kann ich auf Buttons zeichnen? Sonst müsste man halt wirklich für jeden Button ein Icon mit der jeweiligen Farbe erstellen :/
Es gibt ein Interface Icon. Das kannst du implementieren und dann mit dem Graphics-Objekt auf den Button zeichnen.
 

beastofchaos

Bekanntes Mitglied
okay - danke schonmal - Ich denke, ic hwerde erstmal di einfachere Methode mit den Buttons ausprobieren udn schaun, wie das optisch rüberkmmt. Und sonst muss ich mir halt noch ne Klasse erstellen :)
 

beastofchaos

Bekanntes Mitglied
Es ist ja auch möglich den JColorChooser direkt einzubinden in das Fenster zu bauen, aber dazu ist es einfach zu groß und ich dacht, ich könnte die "Vorschau" etc. zurpcksetzen, bin aber bei den vielen Settern nur darauf gestoßen "JColorChooser.setChooserPanels(AbstractColorChooserPanel[] panels)", womit ich zumindest die verschiendenen Möglichkeiten eingrenze...

Da kam mir die Idee, vll so eine Art "Verschwinder" einzubaun - sprich:
Ich habe bei meinem Programm am rechten Rand den ColorChooser. Nun ist da direkt links vom ColorChooser ein kleiner Pfeil, der, wenn ich auf ihn klicke, der den ColorChooser "minimiert", also ihn an den Rand drückt. Gäbe es da schon eine Komponente? Sonst müsste ich viel ausprobieren :(

Gruß, Thomas
 

beastofchaos

Bekanntes Mitglied
Tschuldigt, wenn das jetzt ein Trippelpost wird, weil keiner antwortet, aber ich hab das gesten mal ausprobiert, mehrere Buttons farbig zu machen. Also ich habe z.B. "setBackground(Color.blue)" gemacht.
Doch beim Draufklicken verschwindet kurz das Blau durch dieses Animation des Draufklickens. Kann ich die Animation vll ausschalten? :)

Außerdem benutze ich eigentlich am Anfang
Code:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
dadurch funktioniert das "setBackground" so ziemlich gar nicht (diese Methode macht das Design ein bisschen "windowsmäßiger"). Für das Testen hab ich die Methode halt auskommentieren müssen :/
 

Marco13

Top Contributor
Ja, nochmal einen Rollback: Du willst im Prinzip sowas wie das "SwatchPanel" vom ColorChooser (mit vielen kleinen Rechtecken)? (Am besten noch zum ein- und Ausklappen, aber das ist ein zweiter Schritt...)
 

beastofchaos

Bekanntes Mitglied
Also ich konnte das Problem heute vormittag lösen. Ich habe meinen JColorChooser in meinem Frame rechts (BorderLayout.EAST) angeordnet. Was mich gestört hat, war, dass es so viel Platz einnimmt und dazu auch noch die Vorschau nicht sehr schön ist. Das Platzproblem habe ich mit einem JSplitPane gelöst und die Vorschau kontne ich verändern, in dem da nun zweit JLabels wie bei Paint sind, so dass du halt 2 Farben einstellen kannst ;)

Also das wars eigentlich mit dem Thema, denn ich habe es letztendlich geschafft platsparend eine gute Auswahl an Farben einzubauen :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Farbe des Striches eines TitledBorders ändern Java Basics - Anfänger-Themen 2
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
amelie123456 Objekt Farbe Quellcode Java Basics - Anfänger-Themen 4
D Ampel Programmieren die jede 10 sekunden ihre farbe wechselt Java Basics - Anfänger-Themen 6
Tom/S JLabel Icon Farbe Java Basics - Anfänger-Themen 2
C Farbe in der Auswahlliste (Direkte Reaktion auf Änderung) Java Basics - Anfänger-Themen 3
M Mit KeyListener Farbe von Label ändern Java Basics - Anfänger-Themen 13
B Eclipse Tabellen Farbe ändern? Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
E Mastermind programmieren, wie den falschen Platz aber richtige Farbe schecken? Java Basics - Anfänger-Themen 23
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
D Mit Buttonklick Farbe der anderen Buttons verändern? Java Basics - Anfänger-Themen 2
D JButton soll Farbe von JTextfield ändern Java Basics - Anfänger-Themen 5
S Schriftart/Farbe im Grafikfenster ändern Java Basics - Anfänger-Themen 8
I Zähler, der erst wieder zählt nachdem Pixel wieder andere Farbe hat Java Basics - Anfänger-Themen 2
U Farbe meines Würfels jede sekunde ändern! Java Basics - Anfänger-Themen 5
X Bildabschnitt anhand der Farbe und messen Java Basics - Anfänger-Themen 4
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
A Dateiformat mit 100%iger Farbe Java Basics - Anfänger-Themen 6
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
B Methode zum ändern der Farbe? Java Basics - Anfänger-Themen 20
J Bild mit transparenter Farbe Java Basics - Anfänger-Themen 10
T JLabel Farbe ändern, Problem Java Basics - Anfänger-Themen 2
R JTabbedPane - Farbe ändern Java Basics - Anfänger-Themen 4
L Farbe unter Cursor bestimmen Java Basics - Anfänger-Themen 5
B JTextArea Farbe und Schrift aendern Java Basics - Anfänger-Themen 2
I Schriftart / farbe / größe bei Emailversand ändern Java Basics - Anfänger-Themen 17
K Farbe heller machen Java Basics - Anfänger-Themen 4
H Farbe setzen Java Basics - Anfänger-Themen 5
D Text Farbe Java Basics - Anfänger-Themen 7
T Ausgabe in Farbe Java Basics - Anfänger-Themen 5
T Die deutsche Flagge :) . Farbe ausgeben Java Basics - Anfänger-Themen 4
G jTable schriftgröße und -farbe ändern? Java Basics - Anfänger-Themen 2
A Im Chat eigenen Beitrag in Farbe zeigen Java Basics - Anfänger-Themen 8
K jTextPane: Farbe des markierten Textes ändern und auslesen? Java Basics - Anfänger-Themen 3
S Zufällige Farbe Java Basics - Anfänger-Themen 5
M Text in der Farbe rot ausgeben Java Basics - Anfänger-Themen 9
L Dreieck soll Farbe ändern Java Basics - Anfänger-Themen 4
S Drucken in farbe Java Basics - Anfänger-Themen 4
D Die Farbe wird nicht angenommen Java Basics - Anfänger-Themen 2
P String eine rote Farbe geben? Java Basics - Anfänger-Themen 6
S Cursor Form und oder Farbe verändern, geht das???? Java Basics - Anfänger-Themen 4
K Übergabe der Variable für Farbe Java Basics - Anfänger-Themen 6
D SWING Anwendung mit 3 Buttons zum ändern der Farbe Java Basics - Anfänger-Themen 18
G Farbe des Pixels unter dem Mauszeiger? Java Basics - Anfänger-Themen 40
O Ein Sichtbarer Rahmen (in Farbe) um ein JPanel. Java Basics - Anfänger-Themen 5
F String in Farbe ausgeben Java Basics - Anfänger-Themen 2
D Farbe vom Scrollbalken ändern Java Basics - Anfänger-Themen 6
M Farbe der Titelleiste eines JFrames ändern Java Basics - Anfänger-Themen 6
Bierhumpen Farbe? Java Basics - Anfänger-Themen 4
C Farbe ins Spiel bringen Java Basics - Anfänger-Themen 2
C JTable: Farbe und Checkbox Java Basics - Anfänger-Themen 3
M Bei Swing Komponenten die Farbe ändern? Java Basics - Anfänger-Themen 12
P Button "Farbe wechseln" Java Basics - Anfänger-Themen 11
C Farbe in DOS Java Basics - Anfänger-Themen 2
F Ball soll auf Mausklick farbe ändern. Java Basics - Anfänger-Themen 10
G Farbe invertieren? Java Basics - Anfänger-Themen 14
C Farbe von ProgressBar ändern Java Basics - Anfänger-Themen 3
W User zwischen Optionen wählen lassen Java Basics - Anfänger-Themen 1
N Spielername eingeben/wählen Java Basics - Anfänger-Themen 1
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
MiMa Die richtigen Java Projektvorlagen wählen? Java Basics - Anfänger-Themen 3
M Erste Schritte Ordner im selber Verzeichnis wählen Java Basics - Anfänger-Themen 1
H wählen des kleinstmöglichen Datentypen für Gleitkommazahlen. Java Basics - Anfänger-Themen 2
F Welchen Layout Manager wählen? Java Basics - Anfänger-Themen 13
C Wert aus Array zufällig wählen Java Basics - Anfänger-Themen 2
C OOP Aus Vektor zufällig einen Eintrag wählen und in Array[][] schreiben Java Basics - Anfänger-Themen 5
N Eclipse und ascii codes, welchen wählen? Java Basics - Anfänger-Themen 3
G Welchen package-Namen wählen, wenn man keine Domain hat? Java Basics - Anfänger-Themen 11
J Richtigen Parser wählen Java Basics - Anfänger-Themen 2
V Textdatei mit filechooser wählen und dann einlesen Java Basics - Anfänger-Themen 4
J Java Applets schreiben welches JDK wählen? Java Basics - Anfänger-Themen 5
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
V JSON-Objs aus JSON-Obj filtern und löschen (Manipulation ohne Kenntnis der vollst. Struktur) Java Basics - Anfänger-Themen 12
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
T Mehrere if bedingungen ohne & Java Basics - Anfänger-Themen 2
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
Mugetsu35 ArrayList Update ohne Index Java Basics - Anfänger-Themen 6
P 2n Potenzieren ohne Math.pow oder pow Java Basics - Anfänger-Themen 8
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
JavaBeginner22 TextArea, ohne Zeilenumbruch? Java Basics - Anfänger-Themen 4
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
S Was macht ++ ohne Schleife? Java Basics - Anfänger-Themen 4
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
M Wie verknüpfe ich eine Bedingung mit einer Methode ohne if-Verzweigung & Bedingungsoperator? Java Basics - Anfänger-Themen 2
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
S Chars vergleichen ohne Betrachtung der Groß und Kleinschreibung Java Basics - Anfänger-Themen 7
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben