Sınıflarımdan birinde bir JavaFx ObjectProperty kullanıyorum. Bağlantı özellikleri için kullanıyorum. Sorun şu ki, insanların ona bağlanabilmelerini, ancak değeri değiştirmemelerini istiyorum. Bunu yapmak için kasti bir kanıtlama yolu düşünemiyorum (insanların dışarıdan değiştirmek için HERHANGİ bir yolu olmayacakları), ancak bunu yapmanın bir yolu olmalı.Yalnızca bir JavaFx özelliği ile okunan ayar
cevap
Çözüm
Sen ReadOnlyObjectWrapper arıyoruz. Bu temsil olmak Square durumunu sağlar
class Square {
enum State { EMPTY, NOUGHT, CROSS }
private ReadOnlyObjectWrapper<State> state =
new ReadOnlyObjectWrapper<>(State.EMPTY);
public ReadOnlyObjectProperty<State> stateProperty() {
return state.getReadOnlyProperty();
}
public State getState() {
return state.get();
}
public void pressed() {
if (!game.isGameOver() && state.get() == State.EMPTY) {
state.set(game.getCurrentPlayer());
...
}
}
}
Açıklama
: Burada örnek
yazdım sample tic tac toe game alınan bir örnek kullanımıdır Bir mülkün dış kullanıcıları Kare'nin devletine bağlanabilsin diye bir mülk, ancak devletin kendisi de meydanda kapsüllenir. Kare kendi devletini değiştirebilir.
Bu desen için bir kullanım örneği, Kare'yi temsil eden görünür düğümleri içeren bir SquareSkin nesnesidir. Cilt, ilgili karenin durum özelliğindeki değişiklikleri dinleyebilir ve kareyi uygun şekilde görüntülemek için kullandığı görüntüyü güncelleyebilir.
Gerçekten de ReadOnlyWrapper öğesindeki Nesne değerlerinin değiştirilemediğinden emin olmak için, bu Nesne değerlerinin immutable (örneğin, Nesnelerin ayarlayıcı işlevi yoktur, yalnızca alıcı işlevleri vardır) olması en iyisidir.
Başka Örnekler
ben bağlantılı oyun kodu farklı bağlama modelleri ve kullanımlarının diğer birçok örnekler içerir (Ben bir in bağları bir çok kullanırım ne olacağını görmek için bir bağlanma egzersiz kısmen yazdım Uygulama).
- 1. Ayar özelliği eşleşen bir özelliği bulamadık
- 2. JavaFX Slider tamsayı yalnızca
- 3. Neden JavaFX bir geri alma özelliği içermiyor
- 4. JavaFX TextArea ayar listesinden koordinat konumunu al
- 5. "open()" vs ile okuma "open()" ile okunan "
- 6. Swing Uygulamasında yalnızca JavaFX dokunma olaylarını kullanın
- 7. Yalnızca kenarlıktaki gölgelerle JavaFX saydam bir aşama nasıl oluşturulur?
- 8. Ayar getURL
- 9. javaFX ile bağlantı noktaları
- 10. JavaFX ile ses çalma
- 11. Ayar stil bildirimli FXML
- 12. JavaFX - Bir Görüntü Düğmesi ile ListView Öğesi
- 13. UseDestinationValue yalnızca hedef özelliği boş olmadığında
- 14. JavaFX zaman dilimli JavaFX gerçek zamanlı LineChart
- 15. Bu iki ayar maven ile aynı mı?
- 16. Javafx,
- 17. javafx
- 18. Bir .txt dosyasından okunan bilgileri oku
- 19. Ayar Tuşu/Değer Çiftleri
- 20. JavaFX - gözlemlenebilir Koleksiyondaki tüm öğelerin özelliklerine bağlama özelliği
- 21. Ayar yanlış sonuçlar üretir
- 22. JavaFX ile Vaadin arasındaki fark
- 23. T özelliği ile bir sınıf özelliği nasıl tanımlanır T
- 24. ProgressBar javafx ile tegerring değil
- 25. JavaFX
- 26. Özellik kılavuzunda gösterilen bir özelliği
- 27. JavaFX
- 28. ECMAScript'te accessor özelliği ile data özelliği arasındaki fark nedir?
- 29. JavaFX ile Tuval ile hareketli bir top çizimi
- 30. Yalnızca bir öğe ile bir numpy dizisinin uzunluğunu nasıl algılar?
10 Ahhh ... Bu tamamen mantıklı. Bunu yapmanın bir yolu olmalıydı. Teşekkür ederim. –