【发布时间】:2016-08-17 09:54:31
【问题描述】:
我有一个Button,它获取ComboBox 的值并将其插入到字符串中以通过我的串行端口发送。由于某种原因,该值未插入到字符串中,但字符串的其余部分已正确构建。谁能告诉我为什么?
当 i System.out.println(something); 它正确打印在 ComboBox "3" 中选择的值
这是我的按钮JavaFX.ActionEvent
@FXML
public void setPresetButton(ActionEvent event) {
byte _preset = (Byte) setPresetComboBox.getValue();
try {
something = presetNo[_preset - 1];
byte[] command = { (byte) setPresetX,setPresetS,something,0x20};
TwoWaySerialComm.SerialWriter sw = new TwoWaySerialComm.SerialWriter(
twoWaySerCom.serialPort.getOutputStream());
sw.out.write(command);
System.out.println(something);
} catch (IOException e) {
e.printStackTrace();
}
}
byte presetNo[] = { 0X01, 0X02, 0X03, 0X04, 0X05 };
byte something;
Byte[] preset = { 1, 2, 3, 4, 5 };
byte setPresetX = 0x78;
byte setPresetS = 0x73;
【问题讨论】:
-
你的组合框是什么类型的?
-
它的
private ComboBox<Byte> getPresetComboBox; -
bytes
0x01-0x05非常小。它们是否应该将数字包含为(8 位)字符,还是您故意发送控制字符(SOH、STX、ETX、EOT 或 ENQ)? -
我只是想在一个字符串中发送 3 个字符。例如,XS1 将是“设置预设 1”。我使用的协议没有 STX、ETX 校验和等。