类和Combobox之间的Javafx链接

类和Combobox之间的Javafx链接,javafx,combobox,Javafx,Combobox,我有一个javafx类ShowBytes,它包含字节a-z。每个字节的定义如下 public static final byte A = (byte) 0x00; 我想填充类中的字节列表,并在组合框中显示它们。是否有任何方法可以将组合框项目链接到类ShowBytes中的字节,以便如果在组合框中选择A,它仍然表示字节0。您可以创建一个包含字节和字符串的类,并重写toString方法以返回字符串。如果需要,您可以从该类获取值 e、 g 你想干什么?在组合框中显示变量名,但保持项目类型为字节?这些价

我有一个javafx类
ShowBytes
,它包含字节a-z。每个字节的定义如下

public static final byte A = (byte) 0x00;

我想填充类中的字节列表,并在组合框中显示它们。是否有任何方法可以将组合框项目链接到类
ShowBytes
中的字节,以便如果在组合框中选择
A
,它仍然表示字节0。

您可以创建一个包含字节和
字符串的类,并重写
toString
方法以返回字符串。如果需要,您可以从该类获取值

e、 g


你想干什么?在
组合框中显示变量名
,但保持项目类型为
字节
?这些价值观是独一无二的吗?你为什么要这样做?使用
字节
作为项目类型而不是简单地将项目转换为
字节
有什么好处?字节将通过与开发板的串行通信发送到设备。这些字节将由设备解释为命令。有没有可能有一个名为getbytes(String Bytename)的函数,它将从类中返回字节。您不能修改该类并将数据放入更合适的数据结构中吗?是的,我可以。问题是,我是javafx的新手,所以我仍在努力解决一些问题。什么样的数据结构才合适。
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;
    }

}