2014-04-03 3 views
9

Ich möchte die Farbe des Bereichs ändern. Ich möchte die Farbe als Zeichenfolge vom Benutzer erhalten. Der Benutzer gibt diese Zeichenfolge in ein Textfeld ein. Wie kann ich diese Zeichenfolge als Farbe festlegen? . Bitte helfen Sie mir, ich bin beginer :(Wie ändert man die Farbe der Scheibe in Javafx?

+0

Ich verstehe, dass Sie Anfänger, obwohl du uns deine Bemühungen zeigen solltest. Wie sieht der Code bisher aus? Haben Sie die Farbe des Bereichs auf einen festen Wert geändert? Konnten Sie den Wert in das Textfeld übernehmen, den der Benutzer eingegeben hat? –

+0

Ja, das ist richtig, ich bin beginer.Ich möchte eine Komponente wie folgt bauen: (http://www.uifaces.com) und ich versuche, mein Problem selbst zu lösen, aber ich habe eine Menge Probleme :(. ich weiß nicht, wie die Zeichenfolge Farbe auf Bereich !!! und das ist Teil meines Codes bis jetzt: colorField.setOnKeyTyped (new Eventhandler () { @Override public void Griff (KeyEvent t) { color = colorField.getText(); } }); – maryam

+0

Wenn Sie nicht wissen, wo Sie anfangen sollen, versuchen Sie [hier] (http://docs.oracle.com/javase/8/javafx/user-interface- tutorial/index.html) und [hier] (http://docs.oracle.com/javase/c/de/javafx/user-interface-tutorial/apply-css.htm#CHDGHCDG) für diese spezielle Frage. [Hier] (http://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html) ist die Referenzseite für JavaFX CSS und die Javadocs für [Bereich] (http://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Pane.html) und [Region] (http://docs.oracle.com/javase/8/javafx/api/javafx/ Szene/Layout/Region.html) wird ebenfalls helfen. –

Antwort

13

Wenn Sie wirklich wollen nur wissen, wie dass bestimmte Sache zu erreichen, würde ich vorschlagen, die folgenden:

die CSS wie diese Nodes' Set, mit der hexacolor, die vom Benutzer eingegeben wurde.

String enteredByUser = "abcdef"; 
yournode.setStyle("-fx-background-color: #" + enteredByUser); 

Wenn Sie mehr wissen wollen bitte genauer gesagt mit Ihnen Fragen und bieten einige Codebeispiele

Da Sie diese Frage mit 'JavaFX-8' getaggt i auch, dass Codebeispiel liefern werden (in javafx funktioniert nur 8):

yournode.setBackground(new Background(new BackgroundFill(Color.web("#" + enteredByUser), CornerRadii.EMPTY, Insets.EMPTY))); 

Hoffe, dass es hilft, Laurenz

+0

Vielen Dank für Ihre Antwort, ich versuche Ihre erste Antwort, aber es funktioniert nicht, es führt zu einer Warnung: (WARNUNG: com.sun.javafx.css.parser.CSSParser Begriff CSS-Fehler beim Analysieren Inline-Stil '-fx-Hintergrund -color: # 'von [email protected]: Unerwartetes Token' # 'bei [1,21]), hat es einen anderen Weg? – maryam

+1

@maryam, weil die Zeichenfolge "incutedByUser" beim Festlegen des Stils leer ist. –

+0

rechts die Zeichenkette repräsentiert den eingegebenen Wert durch den Benutzer –

Verwandte Themen