diff --git a/src/main/java/io/bitsquare/gui/main/trade/TradeView.java b/src/main/java/io/bitsquare/gui/main/trade/TradeView.java index fda199dd53..7b8d5303fa 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/TradeView.java +++ b/src/main/java/io/bitsquare/gui/main/trade/TradeView.java @@ -118,9 +118,10 @@ public abstract class TradeView extends ActivatableView { private View loadView(Class viewClass) { TabPane tabPane = root; - View view = viewLoader.load(viewClass); + View view; - if (view instanceof OfferBookView && offerBookView == null) { + if (viewClass == OfferBookView.class && offerBookView == null) { + view = viewLoader.load(viewClass); // Offerbook must not be cached by ViewLoader as we use 2 instances for sell and buy screens. final Tab tab = new Tab(direction == Direction.BUY ? "Buy Bitcoin" : "Sell Bitcoin"); tab.setClosable(false); @@ -159,7 +160,8 @@ public abstract class TradeView extends ActivatableView { return offerBookView; } - else if (view instanceof CreateOfferView && createOfferView == null) { + else if (viewClass == CreateOfferView.class && createOfferView == null) { + view = viewLoader.load(viewClass); // CreateOffer and TakeOffer must not be cached by ViewLoader as we cannot use a view multiple times // in different graphs createOfferView = (CreateOfferView) view; @@ -172,7 +174,8 @@ public abstract class TradeView extends ActivatableView { tabPane.getSelectionModel().select(tab); return createOfferView; } - else if (view instanceof TakeOfferView && takeOfferView == null && offer != null) { + else if (viewClass == TakeOfferView.class && takeOfferView == null && offer != null) { + view = viewLoader.load(viewClass); // CreateOffer and TakeOffer must not be cached by ViewLoader as we cannot use a view multiple times // in different graphs takeOfferView = (TakeOfferView) view;