btnAddToCart.disableProperty().bind(
Bindings.and(
fieldQuantity.textProperty().isEqualTo(""),
fieldBarcodeID.textProperty().isEqualTo("")));
У меня есть такой код выше, и он работает очень хорошо, но проблема в том, что он возвращает мне логический оператор ИЛИ, означающий, что если fieldQuantity не пусто, кнопка будет включена. Я хочу, чтобы это было похоже на логический оператор AND. Где эти два поля должны содержаться, прежде чем кнопка будет включена. Надеюсь, я проясню здесь ситуацию. Благодарю вас!




Ваш код отключает кнопку, если оба текстовых поля пусты. Вы хотите отключить кнопку, если текстовое поле либо пусто: т.е. вам нужен or, а не and:
btnAddToCart.disableProperty().bind(
Bindings.or(
fieldQuantity.textProperty().isEmpty(),
fieldBarcodeID.textProperty().isEmpty()));
Обратите внимание, что я использовал метод isEmpty(), который немного чище, imho.
@ i4mB4rney02 Не знаю, почему это сбивает с толку. В исходном коде вы используете and, что верно, если выполняются оба условия. Таким образом, ваш исходный код отключает кнопку Только, когда текстовые поля оба пусты. Вы хотите отключить текстовое поле, если какое-либо текстовое поле пусто, поэтому вы хотите отключить его, если первое текстовое поле пусто или же, второе текстовое поле пусто.
В вашем данном коде происходит обратное. Эти два текстовых поля должны иметь значение для включения кнопки, иначе она не будет включена. Это немного сбивает с толку, потому что вы используете ИЛИ, но получаете значение И.
@ i4mB4rney02 Как, черт возьми, вы интерпретируете значение «И»? Логика такова: «Если fieldQuantity пуст ИЛИ fieldBarcodeID пуст, отключите кнопку». Похоже, вы действительно не понимаете, что означают ИЛИ и И ...
Спасибо, приятель, это работает, но это немного сбивает с толку, насколько я знаю, использование оператора AND должно возвращать оба истинных условия. и ИЛИ возвращает любой из них для выполнения оператора. в моем случае я хочу, чтобы два текстовых поля содержали, чтобы включить его.