Created
April 13, 2017 06:57
-
-
Save urankajtazaj/8fd7f3df9d43b747a8c79d263e998da9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package sample; | |
import javafx.fxml.FXML; | |
import javafx.fxml.Initializable; | |
import javafx.scene.control.Button; | |
import javafx.scene.control.RadioButton; | |
import javafx.scene.control.TextField; | |
import javafx.scene.control.ToggleGroup; | |
import javafx.scene.layout.HBox; | |
import javafx.scene.shape.Rectangle; | |
import java.net.URL; | |
import java.util.Random; | |
import java.util.ResourceBundle; | |
public class Controller implements Initializable { | |
ToggleGroup g = new ToggleGroup(); | |
@FXML private RadioButton rbKuq, rbGjel, rbKaltert, rbGjitha; | |
@FXML private HBox hbox, hbox2, hexHbox; | |
private Random rand; | |
@Override | |
public void initialize(URL location, ResourceBundle resources) { | |
rbGjel.setToggleGroup(g); | |
rbGjitha.setToggleGroup(g); | |
rbKaltert.setToggleGroup(g); | |
rbKuq.setToggleGroup(g); | |
Generate(-1); | |
} | |
@FXML | |
private void generateColor(){ | |
if (rbKuq.isSelected()) | |
Generate(0); | |
else if (rbGjel.isSelected()) | |
Generate(1); | |
else if (rbKaltert.isSelected()) | |
Generate(2); | |
else Generate(-1); | |
} | |
private void Generate(int index){ | |
String rgb; | |
rand = new Random(); | |
int rnd = 0; | |
for (int j = 0; j < 4; j++) { | |
rgb = "rgb("; | |
for (int i = 0; i < 3; i++) { | |
if (index == i){ | |
rnd = rand.nextInt(256); | |
rgb += ((rnd < 200 || rnd > 254) ? 230 : rnd) + ","; | |
}else { | |
rgb += rand.nextInt(200) + ","; | |
} | |
} | |
rgb = rgb.substring(0, rgb.length()-1) + ")"; | |
String[] s = rgb.substring(4, rgb.length()-1).split(","); | |
((TextField) hbox2.getChildren().get(j)).setText(s[0] + ", " + s[1] + ", " + s[2]); | |
((TextField) hexHbox.getChildren().get(j)).setText(decimalToHex(s[0]) + decimalToHex(s[1]) + decimalToHex(s[2])); | |
hbox.getChildren().get(j).setStyle("-fx-fill: " + rgb); | |
} | |
} | |
private String decimalToHex(String in){ | |
int n = Integer.parseInt(in); | |
StringBuilder hex = new StringBuilder(""); | |
int remainer = 0; | |
while (n > 0){ | |
remainer = n % 16; | |
if (remainer == 10) hex.append("A"); | |
else if (remainer == 11) hex.append("B"); | |
else if (remainer == 12) hex.append("C"); | |
else if (remainer == 13) hex.append("D"); | |
else if (remainer == 14) hex.append("E"); | |
else if (remainer == 15) hex.append("F"); | |
else hex.append(remainer); | |
n /= 16; | |
} | |
if (hex.length() == 1) hex.append(0); | |
return hex.reverse().toString(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment