Java 类javafx.beans.binding.IntegerBinding 实例源码
项目:clarity-analyzer
文件:PointingHeroIcon.java
public PointingHeroIcon(ObservableEntity oe) {
super(oe);
shape = new Polygon(
0, -200, -120, 200, 120, 200
);
shape.fillProperty().bind(getPlayerColor());
ObjectBinding<Vector> angRotVector = oe.getPropertyBinding(Vector.class, "CBodyComponent.m_angRotation", null);
DoubleBinding angRot = Bindings.createDoubleBinding(() -> (double) angRotVector.get().getElement(1), angRotVector);
IntegerBinding angDiff = Bindings.selectInteger(oe.getPropertyBinding(Integer.class, "m_anglediff", 0));
shape.translateXProperty().bind(getMapX());
shape.translateYProperty().bind(getMapY());
shape.rotateProperty().bind(getBaseAngle().add(angRot).add(angDiff));
}
项目:advanced-bindings
文件:NumberBindingsTest.java
@Test
public void testDivideSafeIntegerWithDefaultValue(){
IntegerProperty a = new SimpleIntegerProperty();
IntegerProperty b = new SimpleIntegerProperty();
IntegerProperty defaultValue = new SimpleIntegerProperty(10);
final IntegerBinding quotient = NumberBindings.divideSafe(a, b, defaultValue);
assertThat(quotient).hasSameValue(defaultValue);
a.set(10);
assertThat(quotient).hasSameValue(defaultValue);
b.set(5);
assertThat(quotient).hasValue(2);
a.set(12);
assertThat(quotient).hasValue(2);
b.set(0);
assertThat(quotient).hasSameValue(defaultValue);
}
项目:MacroIIDiscrete
文件:GeographicalMarketPresentation.java
private IntegerBinding convertXModelCoordinateToXPixelCoordinate(ObservableDoubleValue xModel)
{
return new IntegerBinding() {
{
this.bind(xModel,oneUnitInModelEqualsHowManyPixels,pixelOffsetToSimulateNegativeXCoordinate);
}
@Override
protected int computeValue() {
int newValue = (int) Math.round(xModel.get() * oneUnitInModelEqualsHowManyPixels.get() +
pixelOffsetToSimulateNegativeXCoordinate.doubleValue());
assert newValue >= 0; //new value must always be positive!
return newValue;
}
};
}
项目:MacroIIDiscrete
文件:GeographicalMarketPresentation.java
private IntegerBinding convertYModelCoordinateToYPixelCoordinate(ObservableDoubleValue yModel)
{
return new IntegerBinding() {
{
this.bind(yModel,oneUnitInModelEqualsHowManyPixels,pixelOffsetToSimulateNegativeYCoordinate);
}
@Override
protected int computeValue() {
int newValue = (int) Math.round(yModel.get() * oneUnitInModelEqualsHowManyPixels.get() +
pixelOffsetToSimulateNegativeYCoordinate.doubleValue());
assert newValue >= 0; //new value must always be positive!
return newValue;
}
};
}
项目:ReactFX
文件:VarFromValTest.java
@Test
public void test() {
IntegerProperty src = new SimpleIntegerProperty(0);
IntegerBinding twice = src.multiply(2);
Var<Number> twiceVar = Var.fromVal(twice, n -> src.set(n.intValue() / 2));
List<Number> values = new ArrayList<>();
EventStreams.valuesOf(twiceVar).subscribe(values::add);
src.set(1);
twiceVar.setValue(4);
twiceVar.setValue(5); // no effect
twiceVar.setValue(7); // will become 6
assertEquals(Arrays.asList(0, 2, 4, 6), values);
}
项目:JavaFX-EX
文件:BeanConvertUtil.java
public static IntegerBinding toIntegerBinding(ObservableValue<? extends Number> ov) {
return new IntegerBinding() {
{
bind(ov);
}
@Override
protected int computeValue() {
return ov.getValue() == null ? 0 : ov.getValue().intValue();
}
};
}
项目:JavaFX-EX
文件:BeanConvertUtil.java
public static IntegerBinding toIntegerBinding(ObservableValue<? extends Number> ov) {
return new IntegerBinding() {
{
bind(ov);
}
@Override
protected int computeValue() {
return ov.getValue() == null ? 0 : ov.getValue().intValue();
}
};
}
项目:clarity-analyzer
文件:EntityIcon.java
protected ObjectBinding<Paint> getTeamColor() {
IntegerBinding teamNum = getTeamNum();
return Bindings.createObjectBinding(() -> {
int n = teamNum.get();
switch (n) {
case 2:
return Color.GREEN;
case 3:
return Color.RED;
default:
return Color.GRAY;
}
}, teamNum);
}
项目:clarity-analyzer
文件:EntityIcon.java
protected ObjectBinding<Paint> getPlayerColor() {
IntegerBinding playerId = getPlayerId();
return Bindings.createObjectBinding(() -> {
int n = playerId.get();
if (n < 0 || n > 9) {
return Color.WHITE;
} else {
return PLAYER_COLORS[n];
}
}, playerId);
}
项目:junit
文件:TestBatchModel.java
public IntegerBinding failedRunsCountProperty() {
return Bindings.createIntegerBinding(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
int result = 0;
for (TestRunModel testRunModel : getTestRuns()) {
if (testRunModel.getRun().isFailedRun()) result++;
}
return result;
}
}, testRunsProperty());
}
项目:gemoc-studio-modeldebugging
文件:MultidimensionalTimelineRenderer.java
private Pane setupStatesPane() {
final Label titleLabel = new Label("All execution states (0)");
nbStates.addListener((v, o, n) -> {
String s = "All execution states (" + n.intValue() + ")";
Platform.runLater(() -> {
titleLabel.setText(s);
titleLabel.setContentDisplay(ContentDisplay.RIGHT);
final ImageView nodeGraphic = new ImageView();
nodeGraphic.setImage(playGraphic);
titleLabel.setGraphic(nodeGraphic);
isInReplayMode.addListener((val, old, neu) -> {
if (old != neu) {
if (neu) {
nodeGraphic.setImage(replayGraphic);
} else {
nodeGraphic.setImage(playGraphic);
}
}
});
});
});
titleLabel.setFont(statesFont);
VBox.setMargin(titleLabel, HALF_MARGIN_INSETS);
titleLabel.setAlignment(Pos.CENTER);
final ScrollBar scrollBar = new ScrollBar();
scrollBar.setVisibleAmount(1);
scrollBar.setBlockIncrement(10);
scrollBar.setMin(0);
final IntegerBinding statesRange = visibleStatesRange.subtract(1);
scrollBar.disableProperty().bind(statesRange.lessThanOrEqualTo(0));
scrollBar.maxProperty().bind(statesRange);
scrollBar.valueProperty().addListener((v, o, n) -> {
if (o.intValue() != n.intValue() && n.intValue() != currentState.intValue()) {
currentState.set(n.intValue());
}
});
currentState.addListener((v, o, n) -> {
if (o.intValue() != n.intValue() && n.intValue() != scrollBar.valueProperty().intValue()) {
scrollBar.setValue(n.intValue());
}
});
final HBox hBox = new HBox();
final Polygon arrow = new Polygon(2.5, 10, 10, 5, 2.5, 0);
HBox.setMargin(arrow, HALF_MARGIN_INSETS);
final Label toggleValuesLabel = new Label("Timeline for dynamic information ");
toggleValuesLabel.setFont(statesFont);
hBox.setAlignment(Pos.CENTER_LEFT);
hBox.getChildren().addAll(arrow, toggleValuesLabel);
hBox.setCursor(Cursor.HAND);
hBox.setOnMouseClicked((e) -> {
if (bodyScrollPane.isVisible()) {
bodyScrollPane.setVisible(false);
arrow.setRotate(0);
} else {
bodyScrollPane.setVisible(true);
arrow.setRotate(90);
}
});
VBox.setMargin(hBox, HALF_MARGIN_INSETS);
headerPane.getChildren().addAll(scrollBar, titleLabel, statesPane, hBox);
VBox.setMargin(statesPane, MARGIN_INSETS);
return headerPane;
}
项目:TechnicalAnalysisTool
文件:ChartCanvasPane.java
public void CalculateNewIndicatorCanvasHeight(){
//This binding will make sure the main chart height is always roughly twice as indicator's height
IntegerBinding size = (IntegerBinding) Bindings.size(chartPaneList).add(new SimpleIntegerProperty(2));
NumberBinding sub = Bindings.divide(chartAreaHeight, size);
indicatorCanvasHeightProperty.setValue(sub.getValue());
}
项目:fx-animation-editor
文件:ChainedBindingFunctions.java
public IntegerBinding selectInteger(Function<S, ? extends ObservableIntegerValue> childPropertyAccessor) {
return selectInteger(childPropertyAccessor, 0);
}
项目:fx-animation-editor
文件:ChainedBindingFunctions.java
public IntegerBinding selectInteger(Function<S, ? extends ObservableIntegerValue> childPropertyAccessor, int defaultValue) {
return new IntegerBindingAdapter(new ChainBinding<>(rootProperty, childPropertyAccessor), defaultValue);
}
项目:fx-animation-editor
文件:ChainedBindingFunctions.java
public IntegerBinding mapToInteger(Function<S, Integer> childValueAccessor) {
return mapToInteger(childValueAccessor, 0);
}
项目:fx-animation-editor
文件:ChainedBindingFunctions.java
public IntegerBinding mapToInteger(Function<S, Integer> childValueAccessor, Integer defaultValue) {
return new IntegerBindingAdapter(mapToObject(childValueAccessor), defaultValue);
}
项目:clarity-analyzer
文件:EntityIcon.java
protected IntegerBinding getCellX() {
return Bindings.selectInteger(oe.getPropertyBinding(Integer.class, "CBodyComponent.m_cellX", 0));
}
项目:clarity-analyzer
文件:EntityIcon.java
protected IntegerBinding getCellY() {
return Bindings.selectInteger(oe.getPropertyBinding(Integer.class, "CBodyComponent.m_cellY", 0));
}
项目:clarity-analyzer
文件:EntityIcon.java
protected IntegerBinding getPlayerId() {
return Bindings.selectInteger(oe.getPropertyBinding(Integer.class, "m_iPlayerID", -1));
}
项目:clarity-analyzer
文件:EntityIcon.java
protected IntegerBinding getTeamNum() {
return Bindings.selectInteger(oe.getPropertyBinding(Integer.class, "m_iTeamNum", 0));
}
项目:ModelDebugging
文件:MultidimensionalTimelineRenderer.java
private Pane setupStatesPane() {
final Label titleLabel = new Label("All execution states (0)");
nbStates.addListener((v, o, n) -> {
String s = "All execution states (" + n.intValue() + ")";
Platform.runLater(() -> {
titleLabel.setText(s);
titleLabel.setContentDisplay(ContentDisplay.RIGHT);
final ImageView nodeGraphic = new ImageView();
nodeGraphic.setImage(playGraphic);
titleLabel.setGraphic(nodeGraphic);
isInReplayMode.addListener((val, old, neu) -> {
if (old != neu) {
if (neu) {
nodeGraphic.setImage(replayGraphic);
} else {
nodeGraphic.setImage(playGraphic);
}
}
});
});
});
titleLabel.setFont(statesFont);
VBox.setMargin(titleLabel, HALF_MARGIN_INSETS);
titleLabel.setAlignment(Pos.CENTER);
final ScrollBar scrollBar = new ScrollBar();
scrollBar.setVisibleAmount(1);
scrollBar.setBlockIncrement(10);
scrollBar.setMin(0);
final IntegerBinding statesRange = visibleStatesRange.subtract(1);
scrollBar.disableProperty().bind(statesRange.lessThanOrEqualTo(0));
scrollBar.maxProperty().bind(statesRange);
scrollBar.valueProperty().addListener((v, o, n) -> {
if (o.intValue() != n.intValue() && n.intValue() != currentState.intValue()) {
currentState.set(n.intValue());
}
});
currentState.addListener((v, o, n) -> {
if (o.intValue() != n.intValue() && n.intValue() != scrollBar.valueProperty().intValue()) {
scrollBar.setValue(n.intValue());
}
});
final HBox hBox = new HBox();
final Polygon arrow = new Polygon(2.5, 10, 10, 5, 2.5, 0);
HBox.setMargin(arrow, HALF_MARGIN_INSETS);
final Label toggleValuesLabel = new Label("Timeline for dynamic information ");
toggleValuesLabel.setFont(statesFont);
hBox.setAlignment(Pos.CENTER_LEFT);
hBox.getChildren().addAll(arrow, toggleValuesLabel);
hBox.setCursor(Cursor.HAND);
hBox.setOnMouseClicked((e) -> {
if (bodyScrollPane.isVisible()) {
bodyScrollPane.setVisible(false);
arrow.setRotate(0);
} else {
bodyScrollPane.setVisible(true);
arrow.setRotate(90);
}
});
VBox.setMargin(hBox, HALF_MARGIN_INSETS);
headerPane.getChildren().addAll(scrollBar, titleLabel, statesPane, hBox);
VBox.setMargin(statesPane, MARGIN_INSETS);
return headerPane;
}
项目:speedment
文件:DbmsProperty.java
protected IntegerBinding defaultPortProperty(DbmsHandlerComponent dbmsHandlerComponent) {
return Bindings.createIntegerBinding(() ->
DatabaseUtil.findDbmsType(dbmsHandlerComponent, this).getDefaultPort(),
typeNameProperty()
);
}
项目:speedment
文件:PortNumberEditor.java
private IntegerBinding defaultPortProperty(T document, DbmsHandlerComponent dbmsHandlerComponent) {
return Bindings.createIntegerBinding(() ->
DatabaseUtil.findDbmsType(dbmsHandlerComponent, document).getDefaultPort(),
document.typeNameProperty()
);
}
项目:assertj-javafx
文件:IntegerBindingAssert.java
protected IntegerBindingAssert(IntegerBinding actual) {
super(actual, IntegerBindingAssert.class);
}
项目:advanced-bindings
文件:NumberBindingsTest.java
@Test
public void testDivideSafeInteger(){
IntegerProperty a = new SimpleIntegerProperty();
IntegerProperty b = new SimpleIntegerProperty();
final IntegerBinding quotient = NumberBindings.divideSafe(a, b);
assertThat(quotient).hasValue(0);
a.set(10);
assertThat(quotient).hasValue(0);
b.set(5);
assertThat(quotient).hasValue(2);
a.set(12);
assertThat(quotient).hasValue(2);
b.set(0);
assertThat(quotient).hasValue(0);
}
项目:reta
文件:MainConfigurationController.java
@Override
public void initialize(final URL location, final ResourceBundle resources)
{
labels = resources;
try
{
outputFile.getChild().textProperty().bindBidirectional(bufferedOutput);
outputFile.bindValidation(bufferedOutput);
delete.disableProperty().bind(sourceConfigurations.expandedPaneProperty()
.isNull()
.or(Bindings.size(sourceConfigurations.getPanes()).lessThan(2)));
final IntegerBinding indexOfExpendedPane = new IntegerBinding()
{
{
bind(sourceConfigurations.expandedPaneProperty());
}
@Override
public void dispose()
{
super.unbind(sourceConfigurations.expandedPaneProperty());
}
@Override
protected int computeValue()
{
return sourceConfigurations.getPanes().indexOf(sourceConfigurations.getExpandedPane());
}
@Override
public ObservableList<?> getDependencies()
{
return FXCollections.singletonObservableList(sourceConfigurations.expandedPaneProperty());
}
};
upSource.disableProperty()
.bind(sourceConfigurations.expandedPaneProperty().isNull().or(indexOfExpendedPane.lessThan(1)));
downSource.disableProperty().bind(sourceConfigurations.expandedPaneProperty().isNull().or(
indexOfExpendedPane.greaterThan(Bindings.size(sourceConfigurations.getPanes()).subtract(2))));
save.disableProperty().bind(Bindings.not(bufferingManager.validProperty()));
cancel.disableProperty().bind(Bindings.not(bufferingManager.bufferingProperty()));
run.disableProperty()
.bind(bufferingManager.bufferingProperty().or(Bindings.not(bufferingManager.validProperty())));
}
catch (final Exception e)
{
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "", e);
}
}
项目:todomvcFX
文件:ControlsViewModel.java
public ControlsViewModel(TodoItemStore store) {
final ObservableList<TodoItem> items = store.getItems();
ObservableList<TodoItem> completedItems = FilterHelper.filterInverted(items, TodoItem::completedProperty);
final IntegerBinding size = Bindings.size(completedItems);
final StringBinding itemsLabel = Bindings.when(size.isEqualTo(1)).then("item").otherwise("items");
itemsLeftLabelText.bind(Bindings.concat(size, " ", itemsLabel, " left"));
}
项目:assertj-javafx
文件:IntegerTest.java
@Test
public void testIntegerBinding(){
IntegerProperty value = new SimpleIntegerProperty(10);
final IntegerBinding actual = value.add(20);
assertThat(actual).hasValue(30);
assertThat(actual).hasSameValue(actual);
}
项目:JXTN
文件:ObservableValueExt.java
/**
* 建立包裝目前觀察值為整數型態的繫節。
*
* @param thiz 來源觀察值
* @param mapper 轉換目前觀察值為整數型態的函數
* @return 整數型態的繫節(依賴目前的觀察物件)
*/
default IntegerBinding asInteger(Function<? super T, ? extends Integer> mapper)
{
ObservableValue<T> thiz = (ObservableValue<T>) this;
return Bindings.createIntegerBinding(() -> mapper.apply(thiz.getValue()), thiz);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#abs(int)}
*
* @param a the argument whose absolute value is to be determined
* @return the absolute value of the argument.
*/
public static IntegerBinding abs(final ObservableIntegerValue a) {
return createIntegerBinding(() -> Math.abs(a.get()), a);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#addExact(int, int)}
*
* @param x the first value
* @param y the second value
* @return the result
* @throws ArithmeticException if the result overflows an int
*/
public static IntegerBinding addExact(final ObservableIntegerValue x, final ObservableIntegerValue y) {
return createIntegerBinding(() -> Math.addExact(x.get(), y.get()), x, y);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#addExact(int, int)}
*
* @param x the first value
* @param y the second value
* @return the result
* @throws ArithmeticException if the result overflows an int
*/
public static IntegerBinding addExact(final int x, final ObservableIntegerValue y) {
return createIntegerBinding(() -> Math.addExact(x, y.get()), y);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#addExact(int, int)}
*
* @param x the first value
* @param y the second value
* @return the result
* @throws ArithmeticException if the result overflows an int
*/
public static IntegerBinding addExact(final ObservableIntegerValue x, final int y) {
return createIntegerBinding(() -> Math.addExact(x.get(), y), x);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#decrementExact(int)}
*
* @param a the value to decrement
* @return the result
* @throws ArithmeticException if the result overflows an int
*/
public static IntegerBinding decrementExact(final ObservableIntegerValue a) {
return createIntegerBinding(() -> Math.decrementExact(a.get()), a);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#floorDiv(int, int)}
*
* @param x the dividend
* @param y the divisor
* @return the largest (closest to positive infinity)
* {@code int} value that is less than or equal to the algebraic quotient.
* @throws ArithmeticException if the divisor {@code y} is zero
*/
public static IntegerBinding floorDiv(final ObservableIntegerValue x, final ObservableIntegerValue y) {
return createIntegerBinding(() -> Math.floorDiv(x.get(), y.get()), x, y);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#floorDiv(int, int)}
*
* @param x the dividend
* @param y the divisor
* @return the largest (closest to positive infinity)
* {@code int} value that is less than or equal to the algebraic quotient.
* @throws ArithmeticException if the divisor {@code y} is zero
*/
public static IntegerBinding floorDiv(final int x, final ObservableIntegerValue y) {
return createIntegerBinding(() -> Math.floorDiv(x, y.get()), y);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#floorDiv(int, int)}
*
* @param x the dividend
* @param y the divisor
* @return the largest (closest to positive infinity)
* {@code int} value that is less than or equal to the algebraic quotient.
* @throws ArithmeticException if the divisor {@code y} is zero
*/
public static IntegerBinding floorDiv(final ObservableIntegerValue x, final int y) {
return createIntegerBinding(() -> Math.floorDiv(x.get(), y), x);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#floorMod(int, int)}
*
* @param x the dividend
* @param y the divisor
* @return the floor modulus {@code x - (floorDiv(x, y) * y)}
* @throws ArithmeticException if the divisor {@code y} is zero
*/
public static IntegerBinding floorMod(final ObservableIntegerValue x, final ObservableIntegerValue y) {
return createIntegerBinding(() -> Math.floorMod(x.get(), y.get()), x, y);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#floorMod(int, int)}
*
* @param x the dividend
* @param y the divisor
* @return the floor modulus {@code x - (floorDiv(x, y) * y)}
* @throws ArithmeticException if the divisor {@code y} is zero
*/
public static IntegerBinding floorMod(final int x, final ObservableIntegerValue y) {
return createIntegerBinding(() -> Math.floorMod(x, y.get()), y);
}
项目:advanced-bindings
文件:MathBindings.java
/**
* Binding for {@link java.lang.Math#floorMod(int, int)}
*
* @param x the dividend
* @param y the divisor
* @return the floor modulus {@code x - (floorDiv(x, y) * y)}
* @throws ArithmeticException if the divisor {@code y} is zero
*/
public static IntegerBinding floorMod(final ObservableIntegerValue x, final int y) {
return createIntegerBinding(() -> Math.floorMod(x.get(), y), x);
}