Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *bem10jfx.blogspot.com
- */
- package lcdsend;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javafx.application.Application;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.scene.Group;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.ChoiceBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.TextArea;
- import javafx.scene.control.TextField;
- import javafx.scene.input.KeyEvent;
- import javafx.scene.input.MouseEvent;
- import javafx.scene.layout.HBox;
- import javafx.scene.paint.Color;
- import javafx.stage.Stage;
- import javafx.stage.StageStyle;
- import javafx.stage.WindowEvent;
- import jssc.SerialPort;
- import jssc.SerialPortEvent;
- import jssc.SerialPortEventListener;
- import jssc.SerialPortException;
- import jssc.SerialPortList;
- /**
- *
- * @author kmls
- */
- public class Lcdsend extends Application {
- String n1 = "0";
- String n2 = "0";
- ChoiceBox cbPorta = new ChoiceBox();
- SerialPort serialport;
- TextArea taSend = new TextArea();
- TextArea taRecevOff = new TextArea();
- TextField tf1 = new TextField();
- TextField tf2 = new TextField();
- Label lbPortsStatu = new Label("Status de Porta");
- public void arranquedeconexao() {
- final String[] serialPortasNomes = SerialPortList.getPortNames();
- for (String nomeportas : serialPortasNomes) {
- cbPorta.getItems().addAll(nomeportas);
- }
- }
- @Override
- public void start(Stage stagex) {
- Stage stage = new Stage();
- Group gp = new Group();
- Scene scene = new Scene(gp, 400, 450, Color.SILVER);
- stage.setScene(scene);
- try {
- arranquedeconexao();
- } catch (Exception e) {
- System.out.println("falha ao fazer o arranque\n" + e.getMessage());
- }
- tf1.setPromptText("Max.16 digitos");
- tf2.setPromptText("Max.16 digitos");
- //bt1 send
- Button btSend = new Button("Send");
- Button btReset = new Button("Reset");
- Label tx_tf1 = new Label("N1:" + n1);
- Label tx_tf2 = new Label("N2:" + n2);
- Label tx_al1 = new Label("Linha1:"),
- tx_al2 = new Label("Linha2:");
- tf1.layoutXProperty().bind(scene.widthProperty().divide(2.5));
- tf1.layoutYProperty().bind(scene.heightProperty().divide(3));
- tf1.prefWidthProperty().bind(scene.widthProperty().divide(3.2));
- tf2.prefWidthProperty().bind(scene.widthProperty().divide(3.2));
- tf2.layoutXProperty().bind(tf1.layoutXProperty());
- tf2.layoutYProperty().bind(tf1.layoutYProperty().add(25));
- btSend.layoutXProperty().bind(tf1.layoutXProperty().add(tf1.prefWidthProperty().add(20)));
- btSend.layoutYProperty().bind(tf1.layoutYProperty());
- btReset.layoutXProperty().bind(tf1.layoutXProperty().add(tf1.prefWidthProperty().add(20)));
- btReset.layoutYProperty().bind(tf2.layoutYProperty());
- tx_tf1.layoutXProperty().bind(tf1.layoutXProperty().subtract(30));
- tx_tf2.layoutXProperty().bind(tf2.layoutXProperty().subtract(30));
- tx_tf1.layoutYProperty().bind(tf1.layoutYProperty());
- tx_tf2.layoutYProperty().bind(tf1.layoutYProperty().add(25));
- //
- tx_al1.layoutXProperty().bind(tx_tf1.layoutXProperty().subtract(40));
- tx_al2.layoutXProperty().bind(tx_tf2.layoutXProperty().subtract(40));
- tx_al1.layoutYProperty().bind(tx_tf1.layoutYProperty());
- tx_al2.layoutYProperty().bind(tx_tf2.layoutYProperty());
- taSend.setPrefSize(125, 170);
- taRecevOff.setPrefSize(125, 170);
- Label lbSendx = new Label("send");
- Label lbReceivx = new Label("received");
- lbSendx.layoutXProperty().bind(tx_al1.layoutXProperty().subtract(40));
- lbReceivx.layoutXProperty().bind(tf2.layoutXProperty().add(35));
- lbSendx.layoutYProperty().bind(tx_tf2.layoutYProperty().add(40));
- lbReceivx.layoutYProperty().bind(tx_tf2.layoutYProperty().add(40));
- //
- taSend.layoutXProperty().bind(lbSendx.layoutXProperty());
- taRecevOff.layoutXProperty().bind(lbReceivx.layoutXProperty());
- taSend.layoutYProperty().bind(lbSendx.layoutYProperty().add(20));
- taRecevOff.layoutYProperty().bind(lbReceivx.layoutYProperty().add(20));
- Button btatual = new Button("Atualizar");
- Button btatualReset = new Button("Reset");
- btatual.layoutXProperty().bind(taRecevOff.layoutXProperty().add(taRecevOff.prefWidthProperty().add(10)));
- btatualReset.layoutXProperty().bind(taRecevOff.layoutXProperty().add(taRecevOff.prefWidthProperty().add(10)));
- btatual.layoutYProperty().bind(lbSendx.layoutYProperty().add(20));
- btatualReset.layoutYProperty().bind(btatual.layoutYProperty().add(30));
- HBox hb1 = new HBox(10);
- Label lbPorts = new Label("Portas");
- Button btConectPort = new Button("conectar");
- hb1.getChildren().addAll(cbPorta, lbPorts, btConectPort, lbPortsStatu);
- gp.getChildren().addAll(
- tx_al1, tx_al2, tf1, tf2,
- btSend, btReset, tx_tf1, tx_tf2,
- lbSendx, lbReceivx, taSend, taRecevOff,
- btatual, btatualReset, hb1
- );
- tf1.setOnKeyPressed(new EventHandler<KeyEvent>() {
- @Override
- public void handle(KeyEvent event) {
- n1 = "" + (tf1.getText().length() + 1);
- tx_tf1.setText("N1:" + n1.toString());
- }
- });
- tf2.setOnKeyPressed(new EventHandler<KeyEvent>() {
- @Override
- public void handle(KeyEvent event) {
- n2 = "" + (tf2.getText().length() + 1);
- tx_tf2.setText("N2:" + n2.toString());
- }
- });
- btReset.setOnMouseClicked(new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- tf1.setText("");
- tf2.setText("");
- n1 = "0";
- n2 = "0";
- tx_tf1.setText("N1:" + n1);
- tx_tf2.setText("N2:" + n2);
- tx_al1.setText("Linha1:");
- tx_al2.setText("Linha2:");
- }
- }
- );
- btatualReset.setOnMouseClicked(new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- try {
- serialport.writeBytes("*".getBytes());
- } catch (SerialPortException ex) {
- Logger.getLogger(Lcdsend.class.getName()).log(Level.SEVERE, null, ex);
- }
- taSend.setText("");
- taRecevOff.setText("");
- }
- }
- );
- btSend.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- if (tf1.getText().length() > 0 && tf1.getText().length() > 0) {
- try {
- serialport.writeBytes(tf1.getText().getBytes());
- serialport.writeBytes(tf2.getText().getBytes());
- taSend.appendText("\r\n" + tf1.getText() + ""
- + "\r\n" + tf2.getText());
- serialport.addEventListener(new SerialPortEventListener() {
- @Override
- public void serialEvent(SerialPortEvent serialPortEvent) {
- if (serialPortEvent.isRXCHAR()) {
- try {
- taRecevOff.appendText(serialport.readString(serialPortEvent.getEventValue()));
- String ch = taRecevOff.toString();
- if (ch.endsWith("\r\n")) {
- taRecevOff.appendText(ch.substring(0, ch.indexOf("\r\n")));
- }
- } catch (SerialPortException e) {
- System.out.println("SerialEvent error:" + e.toString());
- }
- }
- }
- });
- System.out.println("envio" + tf1.getText() + tf2.getText());
- } catch (SerialPortException ex) {
- System.out.println("gerou error+" + ex.getMessage());
- }
- } else {
- System.out.println("Nenhum dados nos campos");
- Stage stagealerta = new Stage(StageStyle.UTILITY);
- Group gpalerta = new Group();
- Scene sceneAlerta = new Scene(gpalerta, 400, 40, Color.SILVER);
- stagealerta.setScene(sceneAlerta);
- Label lbsair = new Label("X");
- Label lbmsg = new Label("Falta de Texto no Campo");
- gpalerta.getChildren().addAll(lbmsg, lbsair);
- lbmsg.setLayoutX(10);
- lbmsg.setLayoutY(10);
- lbmsg.setTextFill(Color.BLUEVIOLET);
- lbsair.setLayoutX(sceneAlerta.getWidth() - 25);
- lbsair.setLayoutY(15);
- lbsair.setTextFill(Color.RED);
- lbsair.setOnMouseClicked(new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- stagealerta.close();
- }
- });
- stagealerta.show();
- }
- }
- });
- btConectPort.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- try {
- System.out.println("Conectando a porta jssc\n"
- + "porta " + cbPorta.getValue().toString());
- lbPortsStatu.setText("Conectando a porta jssc\n" + "porta " + cbPorta.getValue().toString());
- serialport = new SerialPort(cbPorta.getValue().toString());
- serialport.openPort();
- serialport.setParams(9600, 8, 1, 0);
- serialport.setEventsMask(SerialPort.MASK_RXCHAR);
- serialport.addEventListener(new SerialPortEventListener() {
- @Override
- public void serialEvent(SerialPortEvent serialPortEvent) {
- if (serialPortEvent.isRXCHAR()) {
- try {
- taRecevOff.appendText(serialport.readString(serialPortEvent.getEventValue()));
- String ch = taRecevOff.toString();
- if (ch.endsWith("\r\n")) {
- taRecevOff.appendText(ch.substring(0, ch.indexOf("\r\n")));
- }
- } catch (SerialPortException e) {
- System.out.println("SerialEvent error: nao conectado" + e.toString());
- }
- }
- }
- });
- } catch (SerialPortException ex) {
- Logger.getLogger(Lcdsend.class.getName()).log(Level.SEVERE, null, ex);
- System.err.println("error : Sem porta de conexao escolhida");
- }
- }
- }
- );
- stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
- @Override
- public void handle(WindowEvent event) {
- try {
- if (serialport.isOpened()) {
- serialport.closePort();
- }
- } catch (SerialPortException ex) {
- Logger.getLogger(Lcdsend.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- stage.show();
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
- //bem10jfx.blogspot.com
Add Comment
Please, Sign In to add comment