JavaFx Zufallsfarbe beim Button-Klick

S

Sandro95

Bekanntes Mitglied
guten tag leute ,
ich versuche seit gestern eine Zufallsfarbe per Button Klick zu implementieren.
Habe mich schlau gemacht , dennoch klappt es bei mir nicht und ich weiß nicht woran das liehgt .
Andere aus dem Netz haben das ebenso so gelöst.Vlt kann ja einer kurz drüber schauen und mir einen Tipp geben

viele dank leute!
 

Anhänge

  • Fenster.zip
    3,5 KB · Aufrufe: 2
VfL_Freak

VfL_Freak

Top Contributor
Moin,

bitte poste Deinen Code mit Code-Tags (siehe meine Signatur)!
Nicht jeder wird 'irgendeine' ZIP-Datei öffnen wollen, außerdem ist leserlicher und besser zitierbar!

Danke und Gruß
Klaus
 
S

Sandro95

Bekanntes Mitglied
meinste so ?



Java:
import java.util.Random;
import java.util.Scanner;

import com.sun.prism.paint.Color;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;

import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class Fenster extends Application {
   
    public  void start(Stage primstage) {
       
        //Fenster art
        BorderPane border = new BorderPane();
       
        //Hbox für den Button
        HBox box = new HBox();
        //die Hbox nach unten setzen
        border.setBottom(box);
        //die HBox unten mittig setzen
        box.setAlignment(Pos.CENTER);
        // abstand zu den rändern
        box.setPadding(new Insets(10));
       
       
       
        Rectangle viereck = new Rectangle();
       
       
        viereck.setX(125);
        viereck.setY(100);
        viereck.setWidth(150);
        viereck.setHeight(150);
       
        Button wechsel = new Button("Farbenwechsel");
       
        wechsel.setPadding(new Insets(10));
       
       


        //das Viereck an der Pane hinzufügen
        border.getChildren().add(viereck);
        //den Button an der Hbox hinzufügen
        box.getChildren().add(wechsel);
       
        Scene szene = new Scene(border,400,400);
        primstage.setScene(szene);
        primstage.show();
       
        wechsel.setOnAction((ActionEvent e)-> {
            float farbe1 = (float) Math.random();
            float farb2  = (float) Math.random();
            float farbe3  = (float) Math.random();
           
            Random rnd = new Random();
         Color color = new Color(rnd.nextInt(),rnd.nextInt(),rnd.nextInt());
           
           
           
        });
       
       

       
       
       
       
    }

    public static void main(String[] args) {
        launch();
    }

   
}
 
Zuletzt bearbeitet von einem Moderator:
N

NoName2

Mitglied
Hab es mir angesehen, die setOnAction ist noch nicht richtig, hier mal mit 27 unterschiedlichen Farben:
Java:
	private static List<int[]> rgbs = new ArrayList<>();

	private static void iniRnd(int i, int[] rgb) {
		if (i == 3) {
			rgbs.add(rgb.clone());
			return;
		}
		for (int j = 0; j < 3; j++) {
			if (j == 0) {
				rgb[i] = 0;
			} else {
				rgb[i] = (j * 128) - 1;
			}
			iniRnd(i + 1, rgb);
		}
	}

	public static Color getRnd() {
		if (rgbs.isEmpty()) {
			iniRnd(0, new int[3]);
		}
		Collections.shuffle(rgbs);
		int[] a = rgbs.get(0);
		return new Color(a[0], a[1], a[2]);
	}

	public static void main(String[] args) {
		System.out.println(getRnd().toString());
		System.out.println(rgbs.size());
	}
 
S

Sandro95

Bekanntes Mitglied
Hab es mir angesehen, die setOnAction ist noch nicht richtig, hier mal mit 27 unterschiedlichen Farben:
Java:
    private static List<int[]> rgbs = new ArrayList<>();

    private static void iniRnd(int i, int[] rgb) {
        if (i == 3) {
            rgbs.add(rgb.clone());
            return;
        }
        for (int j = 0; j < 3; j++) {
            if (j == 0) {
                rgb[i] = 0;
            } else {
                rgb[i] = (j * 128) - 1;
            }
            iniRnd(i + 1, rgb);
        }
    }

    public static Color getRnd() {
        if (rgbs.isEmpty()) {
            iniRnd(0, new int[3]);
        }
        Collections.shuffle(rgbs);
        int[] a = rgbs.get(0);
        return new Color(a[0], a[1], a[2]);
    }

    public static void main(String[] args) {
        System.out.println(getRnd().toString());
        System.out.println(rgbs.size());
    }



geht das ganze nicht einfacher ?🧐
 
MoxxiManagarm

MoxxiManagarm

Top Contributor
das funktioniert so iwie nicht , die Methode ist undefiniert steht dort dann
Ist ja auch klar, du benutzt nicht JavaFX Color (blame myself). Ich kann aber die docs zu com.sun.prism.paint.Color nicht finden spontan, hast du docs dazu?



Edit:
Ah habe zumindest etwas SourceCode gefunden.

Java:
new Color(Math.random(), Math.random(), Math.random(), 1f)
Siehe https://jar-download.com/artifacts/...11/source-code/com/sun/prism/paint/Color.java

Das sollte passen. Der letzte Wert ist Transparenz. Wenn der auch zufällig sein soll musst du den noch ändern.
 
Zuletzt bearbeitet:
S

Sandro95

Bekanntes Mitglied
Ist ja auch klar, du benutzt nicht JavaFX Color (blame myself). Ich kann aber die docs zu com.sun.prism.paint.Color nicht finden spontan, hast du docs dazu?



Edit:
Ah habe zumindest etwas SourceCode gefunden.

Java:
new Color(Math.random(), Math.random(), Math.random(), 1f)
Siehe https://jar-download.com/artifacts/...11/source-code/com/sun/prism/paint/Color.java

Das sollte passen. Der letzte Wert ist Transparenz. Wenn der auch zufällig sein soll musst du den noch ändern.

Funktioniert ebenfalls nicht, wieder undefiniert ..
 
N

NoName2

Mitglied
Wie würde das dann aussehen ?
Naja, all-in-one straightforward so:
Java:
	public static Color getRnd() {
		Random r = new Random();
		int[] rgb = new int[3];
		for (int i = 0; i < rgb.length; i++) {
			rgb[i] = r.nextInt(3) * 128 - 1;
			if (rgb[i] < 0) {
				rgb[i] = 0;
			}
		}
		return new Color(rgb[0], rgb[1], rgb[2]);
	}
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Naja, dein Code macht ja auch nichts mit der Color...

(und bitte verzichte auf alles was aus com.sun.* kommt, die Dinge direkt aus JavaFX sind schon passend :) )
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
R Können Animationen in JavaFX "verschluckt" werden? AWT, Swing, JavaFX & SWT 8
dtr84 JavaFX/OpenJFX mittels Apache Ivy einbinden (Java 11) AWT, Swing, JavaFX & SWT 18
D runnable Jar mit Javafx erstellen(Eclipse) AWT, Swing, JavaFX & SWT 10
Monokuma Blöcke erzeugen (JavaFX) AWT, Swing, JavaFX & SWT 1
P JavaFx - Progressbar - Füllen mittels mehreren Tasks AWT, Swing, JavaFX & SWT 0
Rafael.Cupari JavaFx Installer AWT, Swing, JavaFX & SWT 16
Monokuma Swing zu JavaFX AWT, Swing, JavaFX & SWT 3
C JavaFx sound abspielen AWT, Swing, JavaFX & SWT 3
C JavaFX mit CSS in Eclipse AWT, Swing, JavaFX & SWT 2
parrot JavaFX Fehler AWT, Swing, JavaFX & SWT 4
B JavaFX JavaFX Anwendung deployen (entw als runnableJAR oder exe-Datei) AWT, Swing, JavaFX & SWT 15
N JavaFX applikation auf anderen Systemen zum laufen bringen AWT, Swing, JavaFX & SWT 7
W JavaFX JavaFX - TreeView will nicht AWT, Swing, JavaFX & SWT 8
H JavaFX JavaFX - Scene Builder - BorderPane AWT, Swing, JavaFX & SWT 23
D Columns unabhängig voneinander mit Daten füllen JavaFx AWT, Swing, JavaFX & SWT 1
C JavaFX Installation unter IntelliJ IDEA AWT, Swing, JavaFX & SWT 5
J JavaFX Label aktualisieren AWT, Swing, JavaFX & SWT 18
H JavaFX JavaFX Import Fehler AWT, Swing, JavaFX & SWT 4
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
T Szene wechselen JavaFX mit If in Main Class AWT, Swing, JavaFX & SWT 2
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
R javafx erste application AWT, Swing, JavaFX & SWT 12
kneitzel JavaFX - Binding & Co AWT, Swing, JavaFX & SWT 42
S Alternative JavaFX TableView AWT, Swing, JavaFX & SWT 1
B Game of Life in JavaFX AWT, Swing, JavaFX & SWT 5
B eclipse für JavaFx setuppen AWT, Swing, JavaFX & SWT 4
N JavaFX Chioceboxen verküpfen AWT, Swing, JavaFX & SWT 0
J JavaFX Controls AWT, Swing, JavaFX & SWT 4
S JavaFx AWT, Swing, JavaFX & SWT 2
Tashtego JavaFX + Mobile AWT, Swing, JavaFX & SWT 9
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
L JavaFX Javafx Dependency-Inversion AWT, Swing, JavaFX & SWT 19
OSchriever JavaFX JavaFX auf Raspberry Pi 4 AWT, Swing, JavaFX & SWT 6
M JavaFX Tab auswählen mit JavaFX AWT, Swing, JavaFX & SWT 9
J JavaFX JavaFX Splitpane - Zugriff auf die Controller der Elemente AWT, Swing, JavaFX & SWT 8
M Java und JavaFX 13 läuft endlich AWT, Swing, JavaFX & SWT 4
N JavaFX Logging des JavaFX Application Threads mit Log4J AWT, Swing, JavaFX & SWT 3
L Java FX JavaFX Effect Attribute ausdrucken AWT, Swing, JavaFX & SWT 1
Hatsi09 JavaFx Mediaplayer seltsames Verhalten AWT, Swing, JavaFX & SWT 0
Tashtego JavaFX - Datenübergabe zwischen Scenes AWT, Swing, JavaFX & SWT 8
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
S Jogl und JavaFX AWT, Swing, JavaFX & SWT 6
Bluedaishi JavaFX ProgressBar AWT, Swing, JavaFX & SWT 10
S JavaFX JavaFX TableView scrollen färbt falsche Zeilen AWT, Swing, JavaFX & SWT 1
F JavaFX JavaFX Builden: JavaFX Runtime components are missing AWT, Swing, JavaFX & SWT 0
F JavaFX wirft zufällig Exceptions AWT, Swing, JavaFX & SWT 5
M JavaFX JAVAFX TreeItem mit Tooltip versehen AWT, Swing, JavaFX & SWT 4
techM JavaFX -> CSS AWT, Swing, JavaFX & SWT 5
J JavaFx TableView mit CheckBox AWT, Swing, JavaFX & SWT 4
J JavaFX Stoppuhr mit javafx.timeline AWT, Swing, JavaFX & SWT 2
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
O Zukunft von Swing und JavaFX ? AWT, Swing, JavaFX & SWT 3
L JavaFX auf dem PI 4 installieren AWT, Swing, JavaFX & SWT 2
L JavaFX JavaFX Forms mit Groovy starten AWT, Swing, JavaFX & SWT 1
K JavaFX CSS Border (Verschiebung verhindern) AWT, Swing, JavaFX & SWT 4
K JavaFX Element in HBOX nach rechts verschieben AWT, Swing, JavaFX & SWT 2
M error: package javafx.scene.web is not visible import javafx.scene.web.*; AWT, Swing, JavaFX & SWT 16
J import javafx.fxml* bei JavaFX 13 geht nicht mehr AWT, Swing, JavaFX & SWT 7
F Kein JavaFX mehr im Eclipse Wizard AWT, Swing, JavaFX & SWT 1
N Ausführbare Datei aus JavaFX Projekt erstellen AWT, Swing, JavaFX & SWT 22
N Array mit JavaFX Elementen AWT, Swing, JavaFX & SWT 9
S JavaFX Exception in thread "JavaFX Application Thread" AWT, Swing, JavaFX & SWT 3
W JavaFX JavaFX - Spalten auf ganze SpreadsheetView verteilen AWT, Swing, JavaFX & SWT 16
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
S Erwaege JavaFX Einstieg AWT, Swing, JavaFX & SWT 27
O JavaFX mini Taschenrechner! AWT, Swing, JavaFX & SWT 35
L JavaFX JavaFX, FXML und Guice? AWT, Swing, JavaFX & SWT 0
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
L Javafx Controller Klasse in Maven AWT, Swing, JavaFX & SWT 7
L JavaFX JavaFX stürtzt durch einen Server#connect Exception AWT, Swing, JavaFX & SWT 3
Shallty JavaFX MenuItem (Info) Icon ändern AWT, Swing, JavaFX & SWT 7
E Aktuelle Uhrzeit auf jeder Stage anzeigen lassen (JavaFX) AWT, Swing, JavaFX & SWT 2
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
L JavaFX JavaScript im Javafx Webview AWT, Swing, JavaFX & SWT 4
pkm Ich kann JavaFX nicht installieren AWT, Swing, JavaFX & SWT 4
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
L JavaFX JavaFX Diagram Editor AWT, Swing, JavaFX & SWT 3
L JavaFX JavaFX Application mit Preloader sauber runterfahren AWT, Swing, JavaFX & SWT 10
K JavaFX funktioniert nicht AWT, Swing, JavaFX & SWT 2
G JavaFX Slider in JavaFX beide Seiten beschriften AWT, Swing, JavaFX & SWT 2
D JavaFX JavaFX Tutorial AWT, Swing, JavaFX & SWT 8
Bluedaishi JavaFX JFoenix TextField KeyEvent AWT, Swing, JavaFX & SWT 2
B JavaFx TreeView mit file system AWT, Swing, JavaFX & SWT 1
Bluedaishi JavaFX Button Image aus Datenbank AWT, Swing, JavaFX & SWT 13
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
H Feste Positionen und Größen in JavaFX AWT, Swing, JavaFX & SWT 1
B JavaFX JavaFX TableView PropertyValueFactory für Werte aus HashMap AWT, Swing, JavaFX & SWT 2
B JavaFX JavaFX Table gespeichertes Wert auswählen/anvisieren AWT, Swing, JavaFX & SWT 3
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
J Javafx mediaplayer mit sftp AWT, Swing, JavaFX & SWT 0
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
MoxxiManagarm JavaFX Auch ich versuche mit JavaFX warm zu werden AWT, Swing, JavaFX & SWT 9
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
J JavaFX Wie verhindere ich das gleichzeitige Spielen von Dateien bei Mediaplayer JavaFX? AWT, Swing, JavaFX & SWT 3
H JavaFX - Label aktualisieren AWT, Swing, JavaFX & SWT 1
J Swing oder JavaFX AWT, Swing, JavaFX & SWT 21

Ähnliche Java Themen

Anzeige

Neue Themen


Oben