0
我有一個javafx類ShowBytes
其中包含字節a-z。每個字節的定義如下Classf和Combobox之間的Javafx連接
public static final byte A = (byte) 0x00;
我想填充類中的字節列表並將它們顯示在組合框中。有沒有什麼辦法可以在類ShowBytes
鏈接組合框項的字節,因此,如果我在下拉列表中選擇A
它仍然代表字節0
我有一個javafx類ShowBytes
其中包含字節a-z。每個字節的定義如下Classf和Combobox之間的Javafx連接
public static final byte A = (byte) 0x00;
我想填充類中的字節列表並將它們顯示在組合框中。有沒有什麼辦法可以在類ShowBytes
鏈接組合框項的字節,因此,如果我在下拉列表中選擇A
它仍然代表字節0
你可以創建一個包含字節類和String
和覆蓋toString
方法返回字符串。如果需要,您可以從該類別獲得價值
例如,
ObservableList<NamedByteValue> bytes = FXCollections.observableArrayList();
// just filling it with some sample values here
for (char c = 'A'; c <= 'Z'; c++) {
bytes.add(new NamedByteValue((byte) (c - 'A'), Character.toString(c)));
}
ComboBox<NamedByteValue> comboBox = new ComboBox<>(bytes);
comboBox.valueProperty().addListener((observable, oldValue, newValue) -> System.out.println(newValue.getValue()));
public static class NamedByteValue {
private final byte value;
private final String name;
public NamedByteValue(byte value, String name) {
this.value = value;
this.name = name;
}
public byte getValue() {
return value;
}
public String getName() {
return name;
}
@Override
public String toString() {
return name;
}
}
謝謝你。這是它 – tashtoons
你到底想幹什麼?在'ComboBox'中顯示變量名,但保持項類型爲'Byte'?這些價值是否獨一無二?你爲什麼想這樣做?使用'Byte'作爲項目類型的好處是什麼,而不是在使用項目時簡單地將項目轉換爲'byte'? – fabian
這些字節將通過串行通信發送到開發板。字節將被設備解釋爲命令。是否有可能有一個名爲getbytes(String Bytename)的函數,它將從類中返回字節。 – tashtoons
你不能修改那個類並把數據放在一個更合適的數據結構中嗎? – fabian