From 933b0b8277856f8c1c897e8c5aedced18d01ad6a Mon Sep 17 00:00:00 2001 From: Devin Bileck <603793+devinbileck@users.noreply.github.com> Date: Sat, 13 Oct 2018 21:43:14 -0700 Subject: [PATCH] Fix prompt text disappearing after selection After selecting an option from the combobox, it would no longer display the prompt text and instead would be blank. As per the documentation https://docs.oracle.com/javase/10/docs/api/javafx/scene/control/ComboBoxBase.html#promptTextProperty: > Prompt text is not displayed in all circumstances, it is dependent > upon the subclasses of ComboBoxBase to clarify when promptText will be > shown. Therefore, use a custom buttonCell on the combo box to display the prompt text. --- .../settings/preferences/PreferencesView.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java index 73e1977b6e..ce02f203d4 100644 --- a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java +++ b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java @@ -426,6 +426,17 @@ public class PreferencesView extends ActivatableViewAndModeladdLabelComboBox(root, ++gridRow).second; fiatCurrenciesComboBox.setPromptText(Res.get("setting.preferences.addFiat")); + fiatCurrenciesComboBox.setButtonCell(new ListCell() { + @Override + protected void updateItem(final FiatCurrency item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(Res.get("setting.preferences.addFiat")); + } else { + setText(item.getNameAndCode()); + } + } + }); fiatCurrenciesComboBox.setConverter(new StringConverter() { @Override public String toString(FiatCurrency tradeCurrency) { @@ -442,6 +453,17 @@ public class PreferencesView extends ActivatableViewAndModel() { + @Override + protected void updateItem(final CryptoCurrency item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(Res.get("setting.preferences.addAltcoin")); + } else { + setText(item.getNameAndCode()); + } + } + }); cryptoCurrenciesComboBox.setConverter(new StringConverter() { @Override public String toString(CryptoCurrency tradeCurrency) {