コード例 #1
0
  private static List<IAttribute<Object>> createInstance() {
    final IBeanAttributesBuilder builder = Attributes.builder(RadioStation.class);

    // frequency
    IBeanAttributeBluePrint<Object> bp =
        builder.add(RadioStation.FREQUENCY_PROPERTY).setLabel("Frequency");
    bp.setTableColumnWidth(180);
    bp.setControlPanel().setControlCreator(new HzValueControlCreator());

    // band
    bp = builder.add(RadioStation.BAND_PROPERTY).setLabel("Band");
    bp.setTableColumnWidth(100);
    bp.setDefaultValue(Band.UKW);

    // modulation
    bp = builder.add(RadioStation.MODULATION_PROPERTY).setLabel("Modulation");
    bp.setTableColumnWidth(100);
    bp.setDefaultValue(Modulation.FM);

    // bandwidth
    bp = builder.add(RadioStation.BANDWIDTH_PROPERTY).setLabel("Bandwidth");
    bp.setControlPanel().setControlCreator(new HzValueControlCreator());
    bp.setTableColumnWidth(100);
    bp.setDefaultValue(new HzValue(250, HertzUnitSet.KH));

    // distance
    bp = builder.add(RadioStation.DISTANCE_PROPERTY).setLabel("Distance");
    final IConverterProvider converters = Toolkit.getConverterProvider();
    final IObjectStringConverter<Long> converter;
    converter =
        converters.unitValueConverter(
            new LongDoubleUnitConverter(MillimeterUnitSet.KILO_METER), Double.class);
    bp.setControlPanel()
        .setControlCreator(new DistanceValueControlCreator())
        .setObjectLabelConverter(converter);
    bp.setTableColumnWidth(100);

    // category
    bp = builder.add(RadioStation.CATEGORY_PROPERTY).setLabel("Category");
    bp.setTableColumnWidth(100);
    bp.setDefaultValue(Category.OTHER);

    // name
    bp = builder.add(RadioStation.NAME_PROPERTY).setLabel("Name");
    bp.setTableColumnWidth(180);

    return builder.build();
  };