javafx通过fxml自动生成controller

复制粘贴即可或者

就可以直接生成

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成十六进制S/N码可以使用Java中的UUID(Universally Unique Identifier)类来实现。UUID是一个标准的32位长度的字符串,可以使用toString()方法将其转换为16进制表示。在Java中操作串口可以使用Java Comm API,可以在Java SE Development Kit中找到该API。 下面是一个生成S/N码并通过串口存入并在Fxml显示的例子: ```java import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; import javafx.fxml.FXML; import javafx.scene.control.Label; import javafx.scene.control.TextField; import java.io.IOException; import java.io.OutputStream; import java.util.Enumeration; import java.util.UUID; public class Controller { @FXML private TextField snTextField; @FXML private Label statusLabel; private SerialPort serialPort; public void generateSN() { UUID uuid = UUID.randomUUID(); String sn = uuid.toString().replace("-", ""); snTextField.setText(sn); } public void saveSN() { String sn = snTextField.getText(); if (serialPort != null) { try { OutputStream outputStream = serialPort.getOutputStream(); outputStream.write(sn.getBytes()); statusLabel.setText("S/N码已存入串口"); } catch (IOException e) { e.printStackTrace(); statusLabel.setText("串口写入失败"); } } else { statusLabel.setText("串口未连接"); } } public void connectSerialPort() { Enumeration portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { CommPortIdentifier portIdentifier = (CommPortIdentifier) portList.nextElement(); if (portIdentifier.getPortType() == CommPortIdentifier.PORT_SERIAL) { if (portIdentifier.getName().equals("COM1")) { try { serialPort = (SerialPort) portIdentifier.open("SerialPort", 2000); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); statusLabel.setText("串口已连接"); } catch (Exception e) { e.printStackTrace(); statusLabel.setText("串口连接失败"); } } } } } public void disconnectSerialPort() { if (serialPort != null) { serialPort.close(); serialPort = null; statusLabel.setText("串口已断开"); } } } ``` 在FXML文件中,使用Button、TextField和Label分别绑定对应的方法即可实现功能。需要注意的是,在连接串口时需要将串口名称(COM1)修改为实际的串口名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值