Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *javafx arduino piano de 7 teclas
- bem10jfx.blogspot.com
- */
- package pianotina1;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javafx.application.Application;
- import javafx.event.ActionEvent;
- import javafx.event.Event;
- import javafx.event.EventHandler;
- import javafx.geometry.Pos;
- import javafx.scene.Group;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.ChoiceBox;
- import javafx.scene.effect.Blend;
- import javafx.scene.effect.BlendMode;
- import javafx.scene.effect.Bloom;
- import javafx.scene.effect.BoxBlur;
- import javafx.scene.effect.Shadow;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.input.KeyCode;
- import javafx.scene.input.KeyEvent;
- import javafx.scene.input.MouseEvent;
- import javafx.scene.layout.HBox;
- import javafx.scene.layout.StackPane;
- import javafx.scene.layout.VBox;
- import javafx.scene.paint.Color;
- import javafx.scene.shape.Rectangle;
- import javafx.scene.text.Text;
- import javafx.stage.Stage;
- import jssc.SerialPort;
- import jssc.SerialPortException;
- import jssc.SerialPortList;
- /**
- *
- * @author kml
- *
- *
- * /*
- *
- */
- public class PianoTina1 extends Application {
- public VBox[] vbTecla = new VBox[8];
- public Rectangle[] rectTecla = new Rectangle[8];
- public Text txtTecla[] = new Text[8];
- final Image imgsportaOff = new Image(pianotina1.PianoTina1.class.getResourceAsStream("arquivo2.png")); //off
- final Image imgsportaOn = new Image(pianotina1.PianoTina1.class.getResourceAsStream("arquivo1.png")); //on
- public int i;
- int o = 0;
- final ImageView imvsportaOff = new ImageView(imgsportaOff);
- final ImageView imvsportaOn = new ImageView(imgsportaOn);
- final ChoiceBox cb = new ChoiceBox();
- SerialPort serialPort;
- int vlOne = 0;//1=ligado vl=0 desligado
- @Override
- public void start(Stage stagex) {
- Stage stage = new Stage();
- Group gp = new Group();
- Scene scene = new Scene(gp, 600, 275, Color.YELLOWGREEN);
- stage.setScene(scene);
- serialPort = new SerialPort("COM3");
- System.out.println(" COM");
- try {
- serialPort.openPort();
- serialPort.setParams(9600, 8, 1, 0);
- final String[] serialPortNames = SerialPortList.getPortNames();
- for (String name : serialPortNames) {
- cb.getItems().addAll(name);
- }
- } catch (Exception e) {
- System.out.println("" + e.getMessage());
- }
- HBox vbport = new HBox(10);
- HBox hbOne = new HBox(15);
- hbOne.setAlignment(Pos.CENTER);
- gp.getChildren().addAll(vbport, hbOne);
- vbport.setAlignment(Pos.CENTER);
- vbport.setStyle("-fx-background-color:#f2021a;\n"
- + " -fx-border-radius: 10;\n"
- + " -fx-background-radius: 15;\n"
- + " -fx-padding: 5;");
- vbport.getChildren().addAll(imvsportaOff, cb);
- imvsportaOff.setFitWidth(40);
- imvsportaOff.setFitHeight(40);
- imvsportaOn.setFitWidth(40);
- imvsportaOn.setFitHeight(40);
- cb.setStyle(
- " -fx-background-color:#e8a72e;\n"
- + " -fx-border-radius: 20;\n"
- + " -fx-background-radius: 20;\n"
- + " -fx-padding: 5;");
- imvsportaOff.setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- if (vlOne == 1) {
- vlOne = 0;
- imvsportaOff.setImage(imgsportaOff);
- } else {
- vlOne = 1;
- imvsportaOff.setImage(imgsportaOn);
- }
- }
- });
- hbOne.setStyle(
- " -fx-background-color: #f90400;\n"
- + " -fx-border-radius: 20;\n"
- + " -fx-background-radius: 20;\n"
- + " -fx-padding: 5;");
- hbOne.widthProperty().add(scene.widthProperty().divide(8));
- // 20 pa pagina inicialx
- hbOne.layoutXProperty().bind(scene.widthProperty().divide(8));
- // 20 pa pagina inicialy
- hbOne.layoutYProperty().bind(scene.heightProperty().divide(4));
- for (i = 1; i < 8; i++) {
- vbTecla[i] = new VBox(10);
- rectTecla[i] = new Rectangle(40, 100, Color.web("#0163a0"));
- txtTecla[i] = new Text("");
- hbOne.getChildren().addAll(vbTecla[i]);
- vbTecla[i].getChildren().addAll(rectTecla[i], txtTecla[i]);
- vbTecla[i].setAlignment(Pos.CENTER);
- vbTecla[i].setStyle(
- " -fx-background-color:#e8a72e;\n"
- + " -fx-border-radius: 20;\n"
- + " -fx-background-radius: 20;\n"
- + " -fx-padding: 5;");
- rectTecla[i].setArcHeight(15);
- rectTecla[i].setArcWidth(15);
- vbTecla[i].setId("" + i);
- /*
- #define DO 262
- #define RE 294
- #define MI 330
- #define FA 349
- #define SOL 392
- #define LA 440
- #define SI 523
- */
- //actions
- if (i == 1) {
- txtTecla[i].setText("DO\nC");
- }
- if (i == 2) {
- txtTecla[i].setText("RE\nD");
- }
- if (i == 3) {
- txtTecla[i].setText("MI\nE");
- }
- if (i == 4) {
- txtTecla[i].setText("FA\nF");
- }
- if (i == 5) {
- txtTecla[i].setText("SOL\nG");
- }
- if (i == 6) {
- txtTecla[i].setText("LA\nA");
- }
- if (i == 7) {
- txtTecla[i].setText("SI\nB");
- }
- //efects
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[i].setEffect(bloom);
- rectTecla[i].setStroke(Color.BLUEVIOLET);
- rectTecla[i].setStrokeWidth(5.5);
- }
- vbTecla[1].setOnMouseMoved(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=1");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[1].setEffect(bloom);
- rectTecla[1].setStroke(Color.YELLOW);
- rectTecla[1].setStrokeWidth(5.5);
- }
- });
- vbTecla[2].setOnMouseMoved(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=2");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[2].setEffect(bloom);
- rectTecla[2].setStroke(Color.YELLOW);
- rectTecla[2].setStrokeWidth(5.5);
- }
- });
- vbTecla[3].setOnMouseMoved(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=3");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[3].setEffect(bloom);
- rectTecla[3].setStroke(Color.YELLOW);
- rectTecla[3].setStrokeWidth(5.5);
- }
- });
- vbTecla[4].setOnMouseMoved(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=4");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[4].setEffect(bloom);
- rectTecla[4].setStroke(Color.YELLOW);
- rectTecla[4].setStrokeWidth(5.5);
- }
- });
- vbTecla[5].setOnMouseMoved(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=5");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[5].setEffect(bloom);
- rectTecla[5].setStroke(Color.YELLOW);
- rectTecla[5].setStrokeWidth(5.5);
- }
- });
- vbTecla[6].setOnMouseMoved(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=6");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[6].setEffect(bloom);
- rectTecla[6].setStroke(Color.YELLOW);
- rectTecla[6].setStrokeWidth(5.5);
- }
- });
- vbTecla[7].setOnMouseMoved(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=7");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[7].setEffect(bloom);
- rectTecla[7].setStroke(Color.YELLOW);
- rectTecla[7].setStrokeWidth(5.5);
- }
- });
- vbTecla[1].setOnMouseExited(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=1");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[1].setEffect(bloom);
- rectTecla[1].setStroke(Color.BLUEVIOLET);
- }
- });
- vbTecla[2].setOnMouseExited(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=2");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[2].setEffect(bloom);
- rectTecla[2].setStroke(Color.BLUEVIOLET);
- }
- });
- vbTecla[3].setOnMouseExited(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=3");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[3].setEffect(bloom);
- rectTecla[3].setStroke(Color.BLUEVIOLET);
- }
- });
- vbTecla[4].setOnMouseExited(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=4");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[4].setEffect(bloom);
- rectTecla[4].setStroke(Color.BLUEVIOLET);
- }
- });
- vbTecla[5].setOnMouseExited(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=5");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[5].setEffect(bloom);
- rectTecla[5].setStroke(Color.BLUEVIOLET);
- }
- });
- vbTecla[6].setOnMouseExited(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=6");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[6].setEffect(bloom);
- rectTecla[6].setStroke(Color.BLUEVIOLET);
- }
- });
- vbTecla[7].setOnMouseExited(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("Vbtecla=7");
- Bloom bloom = new Bloom();
- bloom.setThreshold(0.9);
- rectTecla[7].setEffect(bloom);
- rectTecla[7].setStroke(Color.BLUEVIOLET);
- }
- });
- vbTecla[1].setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- rectTecla[1].setEffect(new Blend());
- try {
- System.out.println("z-Do");
- serialPort.writeByte("z".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- vbTecla[2].setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- rectTecla[2].setEffect(new Blend());
- System.out.println("x-RE");
- try {
- serialPort.writeBytes("x".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- vbTecla[3].setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("C-MI");
- rectTecla[3].setEffect(new Blend());
- try {
- serialPort.writeByte("c".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- vbTecla[4].setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("V-FA");
- rectTecla[4].setEffect(new Blend());
- try {
- serialPort.writeByte("v".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- vbTecla[5].setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- rectTecla[5].setEffect(new Blend());
- System.out.println("B-SOl");
- try {
- serialPort.writeByte("b".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- vbTecla[6].setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- rectTecla[6].setEffect(new Blend());
- System.out.println("n-LA");
- try {
- serialPort.writeByte("n".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- vbTecla[7].setOnMouseClicked(new EventHandler<Event>() {
- @Override
- public void handle(Event event) {
- System.out.println("M-SI");
- rectTecla[7].setEffect(new Blend());
- try {
- serialPort.writeByte("m".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- scene.setOnKeyReleased(new EventHandler<KeyEvent>() {
- @Override
- public void handle(KeyEvent event) {
- if (event.getCode() == KeyCode.Z) {
- rectTecla[1].setEffect(new Bloom());
- rectTecla[1].setStroke(Color.BLUEVIOLET);
- rectTecla[1].setStrokeWidth(5.5);
- rectTecla[1].setEffect(new Blend());
- } else if (event.getCode() == KeyCode.X) {
- rectTecla[2].setEffect(new Bloom());
- rectTecla[2].setStroke(Color.BLUEVIOLET);
- rectTecla[2].setStrokeWidth(5.5);
- rectTecla[2].setEffect(new Blend());
- } else if (event.getCode() == KeyCode.C) {
- rectTecla[3].setEffect(new Bloom());
- rectTecla[3].setStroke(Color.BLUEVIOLET);
- rectTecla[3].setStrokeWidth(5.5);
- rectTecla[3].setEffect(new Blend());
- } else if (event.getCode() == KeyCode.V) {
- rectTecla[4].setEffect(new Bloom());
- rectTecla[4].setStroke(Color.BLUEVIOLET);
- rectTecla[4].setStrokeWidth(5.5);
- rectTecla[4].setEffect(new Blend());
- } else if (event.getCode() == KeyCode.B) {
- rectTecla[5].setEffect(new Bloom());
- rectTecla[5].setStroke(Color.BLUEVIOLET);
- rectTecla[5].setStrokeWidth(5.5);
- rectTecla[5].setEffect(new Blend());
- } else if (event.getCode() == KeyCode.N) {
- rectTecla[6].setEffect(new Bloom());
- rectTecla[6].setStroke(Color.BLUEVIOLET);
- rectTecla[6].setStrokeWidth(5.5);
- rectTecla[6].setEffect(new Blend());
- } else if (event.getCode() == KeyCode.M) {
- rectTecla[7].setEffect(new Bloom());
- rectTecla[7].setStroke(Color.BLUEVIOLET);
- rectTecla[7].setStrokeWidth(5.5);
- rectTecla[7].setEffect(new Blend());
- }
- }
- });
- scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
- @Override
- public void handle(KeyEvent event) {
- if (event.getCode() == KeyCode.Z) {
- rectTecla[1].setEffect(new Bloom());
- rectTecla[1].setStroke(Color.YELLOW);
- rectTecla[1].setStrokeWidth(5.5);
- System.out.println("ekey-- Z-DO");
- rectTecla[1].setEffect(new Blend());
- System.out.println("ebkey-- Z-DO");
- try {
- serialPort.writeByte("z".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- } else if (event.getCode() == KeyCode.X) {
- rectTecla[2].setEffect(new Bloom(0.9));
- rectTecla[2].setStroke(Color.YELLOW);
- rectTecla[2].setStrokeWidth(5.5);
- System.out.println("Key -- X -RE");
- rectTecla[2].setEffect(new Blend());
- try {
- serialPort.writeByte("x".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- } else if (event.getCode() == KeyCode.C) {
- rectTecla[3].setEffect(new Bloom(0.9));
- rectTecla[3].setStroke(Color.YELLOW);
- rectTecla[3].setStrokeWidth(5.5);
- System.out.println("Key-c--MI");
- rectTecla[3].setEffect(new Blend());
- try {
- serialPort.writeByte("c".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- } else if (event.getCode() == KeyCode.V) {
- rectTecla[4].setEffect(new Bloom(0.9));
- rectTecla[4].setStroke(Color.YELLOW);
- rectTecla[4].setStrokeWidth(5.5);
- System.out.println("Key --v-FA ");
- try {
- serialPort.writeByte("v".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- } else if (event.getCode() == KeyCode.B) {
- rectTecla[5].setEffect(new Bloom(0.9));
- rectTecla[5].setStroke(Color.YELLOW);
- rectTecla[5].setStrokeWidth(5.5);
- System.out.println("Key--b-SOL");
- rectTecla[5].setEffect(new Blend());
- try {
- serialPort.writeByte("b".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- } else if (event.getCode() == KeyCode.N) {
- rectTecla[6].setEffect(new Bloom(0.9));
- rectTecla[6].setStroke(Color.YELLOW);
- rectTecla[6].setStrokeWidth(5.5);
- System.out.println("Key--n-LA");
- rectTecla[6].setEffect(new Blend());
- try {
- serialPort.writeByte("n".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- } else if (event.getCode() == KeyCode.M) {
- rectTecla[7].setEffect(new Bloom(0.9));
- rectTecla[7].setStroke(Color.YELLOW);
- rectTecla[7].setStrokeWidth(5.5);
- System.out.println("Key--M-SI");
- rectTecla[7].setEffect(new Blend());
- try {
- serialPort.writeByte("m".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(PianoTina1.class.getName()).log(Level.SEVERE, null, ex);
- }
- } else {
- System.out.println("nenhuma tecla correspondente");
- }
- }
- });
- stage.show();
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment