Wednesday 19 July 2017

Fx Options Combo

Release: JavaFX 2.2 Verwenden von JavaFX-UI-Steuerelementen 14 Kombinationsfeld In diesem Kapitel wird die Verwendung von Kombinationsfeldern in Ihrer JavaFX-Anwendung erläutert. Es erörtert editierbare und nicht bearbeitbare Kombinationsfelder, zeigt Ihnen, wie Sie Änderungen in den bearbeitbaren Kombinationsfeldern verfolgen und Ereignisse behandeln können, und erläutert, wie Zellenfabriken verwendet werden, um die Standardimplementierung eines Kombinationsfelds zu ändern. Ein Kombinationsfeld ist ein typisches Element einer Benutzeroberfläche, mit der Benutzer eine von mehreren Optionen auswählen können. Ein Kombinationsfeld ist hilfreich, wenn die Anzahl der Elemente, die angezeigt werden sollen, ein bestimmtes Limit überschreitet, da es in der Dropdown-Liste Scrolling hinzufügen kann, im Gegensatz zu einem Auswahlfeld. Wenn die Anzahl der Elemente eine bestimmte Grenze nicht überschreitet, können Entwickler entscheiden, ob ein Kombinationsfeld oder ein Auswahlfeld besser auf ihre Bedürfnisse zugeschnitten ist. Sie können ein Kombinationsfeld in der JavaFX-Anwendung erstellen, indem Sie die ComboBox-Klasse der JavaFX-API verwenden. Abbildung 14-1 zeigt eine Anwendung mit zwei Kombinationsfeldern. Abbildung 14-1 Anwendung mit zwei Kombinationsfeldern Beschreibung von Abbildung 14-1 Anwendung mit zwei Kombinationsfeldern Erstellen von Kombinationsfeldern Beim Erstellen eines Kombinationsfelds müssen Sie die ComboBox-Klasse instanziieren und die Objekte wie eine beobachtbare Liste definieren, genau wie andere UI-Steuerelemente Als ChoiceBox. Listenansicht. Und TableView. Beispiel 14-1 setzt die Elemente innerhalb eines Konstruktors. Beispiel 14-1 Erstellen eines Kombinationsfelds mit einer Observable-Liste Eine weitere Möglichkeit besteht darin, ein Kombinationsfeld mit einem leeren Konstruktor zu erstellen und die Methode setItems wie folgt aufzurufen: comboBox. setItems (options) Wenn das Kombinationsfeld dem Feld hinzugefügt wird Erscheint sie in der Benutzeroberfläche wie in Abbildung 14-2 gezeigt. Abbildung 14-2 Kombinationsfeld mit drei Elementen Beschreibung von Abbildung 14-2 Kombinationsfeld mit drei Elementen Zu jeder Zeit können Sie die Liste der Elemente mit neuen Werten ergänzen. Beispiel 14-2 implementiert diese Aufgabe, indem dem comboBox-Steuerelement drei weitere Elemente hinzugefügt werden. Beispiel 14-2 Hinzufügen von Elementen zu einem Kombinationsfeld Die ComboBox-Klasse bietet praktische Eigenschaften und Methoden für Kombinationsfelder. Sie können die Methode setValue verwenden, um das im Kombinationsfeld ausgewählte Element anzugeben. Wenn Sie die Methode setValue für das ComboBox-Objekt aufrufen, ändert sich das ausgewählte Element der Eigenschaft selectionModel auf diesen Wert, auch wenn sich der Wert nicht in der Liste der Kombinationsfelder befindet. Wenn sich die Positionsliste ändert, um diesen Wert einzuschließen, wird das entsprechende Element ausgewählt. Ebenso können Sie den Wert des ausgewählten Elements erhalten, indem Sie die Methode getValue aufrufen. Wenn ein Benutzer ein Element auswählt, werden das ausgewählte Element der Eigenschaft selectionModel und die Eigenschaft combo box value auf den neuen Wert aktualisiert. Sie können auch die Anzahl der sichtbaren Zeilen in der Dropdown-Liste von ComboBox einschränken, wenn sie angezeigt wird. Die folgende Codezeile ermöglicht die Anzeige von drei Elementen für das comboBox-Steuerelement: comboBox. setVisibleRowCount (3) Als Ergebnis des Aufrufs dieser Methode ist die Anzahl der sichtbaren Zeilen auf drei beschränkt und es erscheint eine Bildlaufleiste (siehe Abbildung 14) -3 ). Abbildung 14-3 Einstellen der Anzahl sichtbarer Zeilen für ein Kombinationsfeld Beschreibung von Abbildung 14-3 Einstellen der Anzahl sichtbarer Zeilen für eine Kombinationsbox Die ComboBox-Klasse verfügt zwar über eine allgemeine Notation und ermöglicht es Benutzern, sie mit Elementen verschiedener Typen zu füllen, Verwenden Sie Node (oder jede Unterklasse) nicht als Typ. Da das Szenengraph-Konzept impliziert, dass nur ein Node-Objekt an einer Stelle der Anwendungsszene sein kann, wird das ausgewählte Element aus der ComboBox-Liste der Elemente entfernt. Wenn die Auswahl geändert wird, kehrt das vorher ausgewählte Element zur Liste zurück, und die neue Auswahl wird entfernt. Um dies zu verhindern, verwenden Sie den Mechanismus der Zellenfabrik und die in der API-Dokumentation beschriebene Lösung. Der Mechanismus der Zellenfabrik ist besonders hilfreich, wenn Sie das ursprüngliche Verhalten oder das Erscheinungsbild des ComboBox-Objekts ändern müssen. Die Anwendung ComboBoxSample soll die Verwendung von Kombinationsfeldern in einem typischen E-Mail-Interface veranschaulichen. Beispiel 14-3 erzeugt eine solche Schnittstelle, in der zwei Kombinationsfelder verwendet werden, um den E-Mail-Empfänger und die Priorität der Nachricht auszuwählen. Beispiel 14-3 Erstellen von Kombinationsfeldern und Hinzufügen zu der Szene Beide Kombinationsfelder in Beispiel 14-3 verwenden die Methoden getItems und addAll zum Hinzufügen von Elementen. Wenn Sie diesen Code kompilieren und ausführen, erzeugt er das in Abbildung 14-4 dargestellte Anwendungsfenster. Abbildung 14-4 E-Mail-Empfänger - und Prioritäts-Kombinationsfelder Beschreibung von Abbildung 14-4 E-Mail-Empfänger - und Prioritäts-Kombinationsfelder Bearbeitbare Kombinationsfelder In der Regel ermöglichen E-Mail-Clientanwendungen Benutzern, Empfänger aus dem Adressbuch auszuwählen und eine neue Adresse einzugeben. Ein bearbeitbares Kombinationsfeld passt perfekt zu dieser Aufgabe. Verwenden Sie die Methode setEditable (true) der ComboBox-Klasse, um ein Kombinationsfeld editierbar zu machen. Mit der Methode setPromptText können Sie den Text angeben, der im Kombinationsfeld-Bearbeitungsbereich angezeigt wird, wenn keine Auswahl durchgeführt wird. Untersuchen Sie den geänderten Code der Anwendung in Beispiel 14-4. Die fett gedruckten Linien sind die Additionen an Beispiel 14-3. Beispiel 14-4 Bearbeiten von neu eingegebenen Werten in einem bearbeitbaren Kombinationsfeld Neben der Möglichkeit, emailComboBox zu bearbeiten. Implementiert dieses Codefragment die Ereignisbehandlung für dieses Steuerelement. Der neu eingegebene oder ausgewählte Wert wird in der Adressvariablen gespeichert. Wenn Benutzer die Schaltfläche Senden drücken, wird die Benachrichtigung mit der E-Mail-Adresse angezeigt. Abbildung 14-5 erfasst den Moment, in dem ein Benutzer die E-Mail-Adresse von Jacob Smith redigiert und sie in greg. smithe Beispiel geändert hat. Abbildung 14-5 Bearbeiten einer E-Mail-Adresse Beschreibung von Abbildung 14-5 Bearbeiten einer E-Mail-Adresse Wenn die Schaltfläche Senden gedrückt wird, kehren alle Steuerelemente zu ihren Standardzuständen zurück. Die freien Methoden werden auf den Objekten TextField und TextArea aufgerufen, und der Nullwert wird für die markierten Elemente des Kombinationsfelds festgelegt. Abbildung 14-6 zeigt den Moment nach dem Drücken der Sende-Taste. Abbildung 14-6 Benutzeroberfläche, nachdem die Sende-Taste gedrückt wurde Beschreibung der Abbildung 14-6 Benutzeroberfläche Nachdem die Sende-Schaltfläche gedrückt wurde, um Zellenfabriken auf Kombinationsfelder anzuwenden Sie können den Zellenfabrikmechanismus verwenden, um das Standardverhalten oder das Aussehen eines Kombinationsfelds zu ändern . Beispiel 14-5 erstellt eine Zellenfabrik und wendet sie auf das Prioritäts-Kombinationsfeld an, um Prioritätstypen mit Sonderfarben hervorzuheben. Beispiel 14-5 Implementieren einer Zellenfabrik für das Kombinationsfeld "Priorität" Die Zellenfabrik erzeugt ListCell-Objekte. Jede Zelle ist mit einem einzelnen Element kombiniert. Die Breite jedes Kombinationsfeldelements wird über die setPrefWidth-Methode festgelegt. Die Methode updateItem setzt die rote Farbe für die High - und Highest-Elemente, die grüne Farbe für die Low - und die Lowest-Elemente und verlässt das Normal-Element schwarz. Abbildung 14-7 zeigt die Elemente des vorrangigen Kombinationsfelds, nachdem die Zellenfabrik in Beispiel 14-5 angewendet wurde. Abbildung 14-7 Ändern der Prioritäts-Kombinationsfeldbeschreibung von Abbildung 14-7 Ändern der Prioritäts-Kombinationsfeld Sie können das Erscheinungsbild des ComboBox-Steuerelements durch Anwenden von CSS-Stilen oder visuellen Effekten erweitern. Verwandte API DocumentationClass ComboBoxltTgt Eine Implementierung der abstrakten Klasse ComboBoxBase für die häufigste Form der ComboBox, bei der den Benutzern eine Popup-Liste angezeigt wird, mit der sie eine Auswahl treffen können. Weitere Informationen zu den allgemeinen Konzepten und der API von ComboBox finden Sie in der Dokumentation der ComboBoxBase-Klasse. Auf der ComboBoxBase führt die ComboBox-Klasse zusätzliche API ein. Am wichtigsten ist, fügt es eine Items-Eigenschaft, die in der gleichen Weise wie die ListView Items-Eigenschaft arbeitet. Mit anderen Worten, es ist der Inhalt der Itemliste, die den Benutzern angezeigt wird, wenn sie auf die Schaltfläche ComboBox klicken. Wenn die Popup-Liste angezeigt wird, ist die maximale Anzahl der sichtbaren Zeilen standardmäßig 10, aber diese kann geändert werden, indem die visibleRowCount-Eigenschaft geändert wird. Wenn die Anzahl der Elemente in der ComboBox kleiner als der Wert von visibleRowCount ist. Dann wird die Artikelgröße stattdessen verwendet, so dass die Popupliste nicht sehr lang ist. Wie bei ListView ist es möglich, das verwendete Selektionsmodell zu modifizieren, obwohl es sich wahrscheinlich nur selten ändert. Dies liegt daran, die ComboBox erzwingt die Notwendigkeit für eine SingleSelectionModel-Instanz, und es ist nicht wahrscheinlich, dass es viel Bedarf für alternative Implementierungen. Nichtsdestotrotz ist die Option, sollte es Fälle für das Umschalten des Auswahlmodells gefunden werden. Da die ComboBox intern Inhalte mit einem ListView darstellt, ist API in der ComboBox-Klasse vorhanden, damit eine benutzerdefinierte Zellenfabrik eingerichtet werden kann. Weitere Informationen zu Zellfabriken finden Sie in den Zell - und ListCell-Klassen. Es ist wichtig zu beachten, dass, wenn eine Zellenfabrik auf einer ComboBox festgelegt ist, Zellen nur in der ListView verwendet werden, die zeigt, wenn die ComboBox angeklickt wird. Wenn Sie auch das Rendern des Schaltflächenbereichs der ComboBox anpassen möchten, können Sie eine benutzerdefinierte ListCell-Instanz in der Eigenschaft button-Eigenschaft festlegen. Eine Möglichkeit, dies zu tun, ist mit dem folgenden Code (beachten Sie die Verwendung von setButtonCell. Weil eine ComboBox bearbeitet werden kann und die Standard-Mittel der Benutzereingabe ist über eine TextField. Eine String-Konverter-Eigenschaft wird bereitgestellt, damit Entwickler festlegen, wie Um eine User-Zeichenfolge in ein Objekt vom Typ T zu übersetzen, so dass die value-Eigenschaft es enthalten kann. der Default-Konverter gibt einfach den String - Eingang zurück, der vom Benutzer eingegeben wurde und daher davon ausgeht, dass der Typ der editierbaren ComboBox String ist Ein anderer Typ angegeben wird und die ComboBox bearbeitet werden soll, ist es notwendig, einen benutzerdefinierten StringConverter anzugeben Eine Warnung zum Einfügen von Knoten in die ComboBox-Elementliste ComboBox ermöglicht es, dass die Elementliste Elemente eines beliebigen Typs, einschließlich Node-Instanzen, enthält Nodes in die Items-Liste ist stark nicht empfohlen. Dies ist, weil die Standard-Zell-Factory fügt einfach Node-Elemente direkt in die Zelle, auch im Bereich der ComboBox. Weil die Szenegraph nur erlaubt, dass Nodes an einem Ort zu einem Zeitpunkt, Bedeutet dies, dass bei Auswahl eines Elements es aus der ComboBox-Liste entfernt wird und im Buttonbereich sichtbar wird. Wenn die Auswahl geändert wird, kehrt das vorher ausgewählte Element zur Liste zurück, und die neue Auswahl wird entfernt. Der empfohlene Ansatz, statt Knoteninstanzen in die Elementliste einzufügen, besteht darin, die relevanten Informationen in die ComboBox einzufügen und dann eine benutzerdefinierte Zellenfabrik bereitzustellen. Verwenden Sie stattdessen den folgenden Code: Sie sollten Folgendes tun: Zugegebenermaßen ist der obige Ansatz weitaus ausführlicher, bietet aber die erforderliche Funktionalität, ohne auf die Szenengraph-Constraints zu stoßen. Property SummaryWhat ist ein Straddle Eine Straddle ist eine Optionsstrategie, in der der Investor eine Position sowohl in einem Anruf hält und mit dem gleichen Ausübungspreis und Ablaufdatum gesetzt. Bezahlung beider Prämien. Diese Strategie ermöglicht es dem Anleger, einen Gewinn zu erzielen, unabhängig davon, ob der Kurs der Sicherheit nach oben oder unten geht, unter der Annahme, dass sich der Aktienkurs etwas signifikant ändert. Laden des Players. BREAKING DOWN Straddle Straddles sind eine gute Strategie zu verfolgen, wenn ein Investor glaubt, dass ein Aktienkurs wird deutlich bewegen, ist aber nicht sicher, welche Richtung. So ist dies eine neutrale Strategie, da der Investor gleichgültig ist, ob die Aktie nach oben oder nach unten geht, solange der Preis genug für die Strategie, um einen Gewinn zu erzielen bewegt. Straddle Mechanik und Eigenschaften Der Schlüssel zum Erstellen einer langen Straddle-Position ist es, eine Call-Option und eine Put-Option zu erwerben. Beide Optionen müssen denselben Ausübungspreis und das Ablaufdatum haben. Wenn nicht passende Ausübungspreise erworben werden, wird die Position dann als ein erwürgtes, nicht als Straddle betrachtet. Long Straddle Positionen haben unbegrenzte Gewinn und begrenztes Risiko. Wenn der Kurs des Basiswerts weiter steigt, ist der potenzielle Gewinn unbegrenzt. Liegt der Kurs des Basiswerts auf Null, wäre der Gewinn der Ausübungspreis abzüglich der für die Optionen gezahlten Prämien. In beiden Fällen ist das maximale Risiko die Gesamtkosten für die Eingabe der Position, der Preis der Call-Option zuzüglich des Preises der Put-Option. Der Gewinn, wenn der Kurs des Basiswerts ansteigt, ergibt sich aus: Gewinn (aufwärts) Kurs des Basiswertes - Basispreis der Call-Option - Nettoprämie bezahlt Der Gewinn, wenn der Kurs des Basiswertes sinkt, ergibt sich aus : Profit (down) Ausübungspreis der Put-Option - Kurs des Basiswerts - Nettoprämie bezahlt Der maximale Verlust ist die gesamte Nettoprämie zuzüglich etwaiger Trade-Provisionen. Dieser Verlust tritt ein, wenn der Kurs des Basiswerts dem Ausübungspreis der Optionen bei Verfall entspricht. Es gibt zwei Breakeven Punkte in einer Straddle-Position. Die erste, als obere Break-even-Punkt bekannt, ist gleich dem Ausübungspreis der Call-Option zuzüglich der Nettoprämie. Der zweite, der untere Break-even-Punkt, entspricht dem Ausübungspreis der Put-Option abzüglich der gezahlten Prämie. Straddle Beispiel Eine Aktie kostet 50 pro Aktie. Eine Call-Option mit einem Basispreis von 50 wird bei 3 bewertet, und eine Put-Option mit demselben Basispreis wird ebenfalls bei 3 bewertet. Ein Investor tritt in eine Straddle ein, indem er eine Option erwerben. Die Position wird am Verfall profitieren, wenn die Aktie über 56 oder unter 44 liegt. Der maximale Verlust von 6 tritt ein, wenn die Aktie bei Verfall bei 50 gehalten wird. Zum Beispiel, wenn die Aktie bei 65 festgesetzt wird, würde die Position profitieren: Gewinn 65 - 50 - 6 9


No comments:

Post a Comment