Friday 1 September 2017

Combo De Opções De Fx


Versão: JavaFX 2.2 Usando controles de interface do JavaFX 14 Caixa de combinação Este capítulo explica como usar caixas combinadas em sua aplicação JavaFX. Ele discute caixas de combinação editáveis ​​e não editáveis, ensina como rastrear mudanças nas caixas de combinação editáveis ​​e lidar com eventos nelas e explica como usar fábricas de células para alterar a implementação padrão de uma caixa de combinação. Uma caixa de combinação é um elemento típico de uma interface de usuário que permite aos usuários escolher uma das várias opções. Uma caixa de combinação é útil quando o número de itens a serem exibidos excede algum limite, pois pode adicionar rolagem para a lista suspensa, ao contrário de uma caixa de escolha. Se o número de itens não exceder um determinado limite, os desenvolvedores podem decidir se uma caixa de combinação ou uma caixa de escolha melhor se adequa às suas necessidades. Você pode criar uma caixa de combinação no aplicativo JavaFX usando a classe ComboBox da API JavaFX. A Figura 14-1 mostra um aplicativo com duas caixas combinadas. Figura 14-1 Aplicação com duas caixas combinadas Descrição da Figura 14-1 Aplicação com duas caixas combinadas Criando caixas combinadas Ao criar uma caixa de combinação, você deve instanciar a classe ComboBox e definir os itens como uma lista observável, assim como outros controles de UI, tais como Como ChoiceBox. Exibição de lista. E TableView. O Exemplo 14-1 define os itens dentro de um construtor. Exemplo 14-1 Criando uma caixa de combinação com uma lista observável Outra possibilidade é criar uma caixa de combinação usando um construtor vazio e chamar o método setItems, da seguinte maneira: comboBox. setItems (opções) Quando a caixa de combinação é adicionada ao Cena do aplicativo, aparece na interface do usuário como mostrado na Figura 14-2. Figura 14-2 Caixa combinada com três itens Descrição da Figura 14-2 Caixa combinada com três itens A qualquer momento, você pode complementar a lista de itens com novos valores. O Exemplo 14-2 implementa essa tarefa adicionando mais três itens ao controle comboBox. Exemplo 14-2 Adicionando Itens a uma Caixa Combo A classe ComboBox fornece propriedades úteis e métodos para usar com caixas combinadas. Você pode usar o método setValue para especificar o item selecionado na caixa de combinação. Quando você chama o método setValue no objeto ComboBox, o item selecionado da propriedade selectionModel muda para este valor mesmo se o valor não estiver na lista de itens da caixa de combinação. Se a lista de itens, em seguida, muda para incluir esse valor, o item correspondente será selecionado. Da mesma forma, você pode obter o valor do item selecionado chamando o método getValue. Quando um usuário seleciona um item, o item selecionado da propriedade selectionModel e a propriedade do valor da caixa de combinação são atualizados para o novo valor. Você também pode restringir o número de linhas visíveis na lista suspensa ComboBox quando ela é exibida. A seguinte linha de código permite a exibição de três itens para o controle comboBox: comboBox. setVisibleRowCount (3) Como resultado de chamar esse método, o número de linhas visíveis é limitado a três e uma barra de rolagem aparece (como mostrado na Figura 14 -3). Figura 14-3 Configuração do número de linhas visíveis para uma caixa combinada Descrição da Figura 14-3 Configuração do número de linhas visíveis para uma caixa de combinação Embora a classe ComboBox tenha uma notação genérica e permita que os usuários a preencham com itens de vários tipos, Não use Node (ou qualquer subclasse) como o tipo. Como o conceito de gráfico de cena implica que apenas um objeto Nó pode estar em um lugar da cena do aplicativo, o item selecionado é removido da lista de itens ComboBox. Quando a seleção muda, o item selecionado anteriormente retorna à lista e a nova seleção é removida. Para evitar esta situação, use o mecanismo da fábrica de células e a solução descrita na documentação da API. O mecanismo da fábrica celular é particularmente útil quando você precisa alterar o comportamento inicial ou a aparência do objeto ComboBox. O aplicativo ComboBoxSample foi projetado para ilustrar como usar caixas combinadas em uma interface de e-mail típica. O Exemplo 14-3 cria uma tal interface, na qual duas caixas combinadas são usadas para selecionar o destinatário do email e a prioridade da mensagem. Exemplo 14-3 Criando Caixas Combo e Adicionando-os à Cena. As duas caixas combinadas no Exemplo 14-3 usam os métodos getItems e addAll para adicionar itens. Quando você compila e executa esse código, ele produz a janela do aplicativo mostrada na Figura 14-4. Figura 14-4 Receptores de e-mail e caixas de combinação de prioridade Descrição da Figura 14-4 Caixas de combinação de destinatário de e-mail e caixas de combinação de prioridades Caixas de combinação editáveis ​​Normalmente, os aplicativos de cliente de e-mail permitem que os usuários selecionem os destinatários do catálogo de endereços e digite um novo endereço. Uma caixa de combinação editável se encaixa perfeitamente nesta tarefa. Use o método setEditable (verdadeiro) da classe ComboBox para tornar uma caixa de combinação editável. Com o método setPromptText, você pode especificar o texto para aparecer na área de edição da caixa de combinação quando nenhuma seleção é executada. Examine o código modificado da aplicação no Exemplo 14-4. As linhas negativas são as adições feitas no exemplo 14-3. Exemplo 14-4 Processando valores recém-digitados em uma caixa combinada editável Além da capacidade de editar o emailComboBox. Este fragmento de código implementa o tratamento de eventos para esse controle. O valor recém-digitado ou selecionado é armazenado na variável de endereço. Quando os usuários pressionam o botão Enviar, a notificação que contém o endereço de e-mail é mostrada. A Figura 14-5 captura o momento em que um usuário está editando o endereço de e-mail de Jacob Smith e mudando para greg. smithexample. Figura 14-5 Editar um endereço de e-mail Descrição da Figura 14-5 Editar um endereço de e-mail Quando o botão Enviar é pressionado, todos os controles retornam aos seus estados padrão. Os métodos claros são chamados nos objetos TextField e TextArea e o valor nulo está definido para a caixa de combinação de itens selecionados. A Figura 14-6 mostra o momento após o botão Enviar ser pressionado. Figura 14-6 Interface do usuário Depois que o botão Enviar é pressionado Descrição da Figura 14-6 Interface do usuário Depois que o botão Enviar é pressionado Aplicação de fábricas de células em caixas combinadas Você pode usar o mecanismo de fábrica de células para alterar o comportamento padrão ou a aparência de uma caixa de combinação . O Exemplo 14-5 cria uma fábrica de células e aplica-a à caixa de combinação de prioridade para destacar tipos de prioridade com cores especiais. Exemplo 14-5 Implementando uma fábrica de células para a caixa de combinação de prioridade A fábrica de células produz objetos ListCell. Cada célula está associada a um único item de caixa de combinação. A largura de cada item de caixa de combinação é definida através do método setPrefWidth. O método updateItem define a cor vermelha para os itens alto e superior, cor verde para itens baixos e mais baixos e deixa o item Normal preto. A Figura 14-7 mostra os itens da caixa de combinação prioritária após a aplicação da fábrica de células no Exemplo 14-5. Figura 14-7 Modificou a caixa de combinação de prioridade Descrição da Figura 14-7 Modificou a caixa de combinação de prioridade Você pode aprimorar ainda mais a aparência do controle ComboBox aplicando estilos CSS ou efeitos visuais. Documentação da API relacionada BREAKING DOWN Straddle Straddles são uma boa estratégia para prosseguir se um investidor acredita que um preço de ações se moverá significativamente, mas não tem certeza sobre qual direção. Assim, esta é uma estratégia neutra, uma vez que o investidor é indiferente se o estoque subiu ou baixou, desde que o preço se mova o suficiente para que a estratégia obtenha lucro. Mecânica e características da Straddle A chave para criar uma posição de straddle longo é comprar uma opção de chamada e uma opção de colocação. Ambas as opções devem ter o mesmo preço de exercício e a data de validade. Se os preços de faturamento não correspondentes forem comprados, a posição é então considerada um estrangulamento, não um estrondo. As posições de longo alcance têm lucros ilimitados e riscos limitados. Se o preço do subjacente continuar a aumentar, o lucro potencial é ilimitado. Se o preço do activo subjacente for zero, o lucro seria o preço de exercício menos os prémios pagos pelas opções. Em ambos os casos, o risco máximo é o custo total para entrar na posição, que é o preço da opção de compra mais o preço da opção de venda. O lucro quando o preço do ativo subjacente está aumentando é dado por: Lucro (acima) Preço do ativo subjacente - o preço de exercício da opção de compra - prêmio líquido pago O lucro quando o preço do ativo subjacente está diminuindo é dado por : Lucro (baixo) Preço de exercício da opção de venda - preço do ativo subjacente - prémio líquido pago A perda máxima é o total do prémio líquido pago mais as comissões comerciais. Essa perda ocorre quando o preço do ativo subjacente é igual ao preço de exercício das opções no vencimento. Existem dois pontos de ponto de equilíbrio em uma posição de estrondo. O primeiro, conhecido como ponto de equilíbrio superior, é igual ao preço de exercício da opção de compra mais o prémio líquido pago. O segundo, o ponto de equilíbrio inferior, é igual ao preço de exercício da opção de venda menos o prémio pago. Exemplo de Straddle A O estoque tem um preço de 50 por ação. Uma opção de compra com um preço de exercício de 50 tem um preço de 3, e uma opção de venda com o mesmo preço de exercício também tem um preço de 3. Um investidor entra em uma estrada comprando uma de cada opção. A posição terá lucro no vencimento se o estoque tiver um preço acima de 56 ou abaixo de 44. A perda máxima de 6 ocorre se o estoque ainda tiver um preço de 50 no vencimento. Por exemplo, se o estoque tiver um preço igual a 65, a posição ganharia: Lucro 65 - 50 - 6 9Class ComboBoxltTgt Uma implementação da classe abstrata ComboBoxBase para a forma mais comum de ComboBox, onde uma lista pop-up é mostrada aos usuários que os fornecem Uma escolha de que eles podem selecionar. Para obter mais informações em torno dos conceitos gerais e da API do ComboBox, consulte a documentação da classe ComboBoxBase. Em cima do ComboBoxBase, a classe ComboBox introduz API adicional. Mais importante, ele adiciona uma propriedade de itens que funciona da mesma maneira que a propriedade de itens ListView. Em outras palavras, é o conteúdo da lista de itens que é exibida aos usuários quando eles clicam no botão ComboBox. Por padrão, quando a lista pop-up está sendo exibida, o número máximo de linhas visíveis é 10, mas isso pode ser alterado modificando a propriedade visibleRowCount. Se o número de itens na ComboBox for menor que o valor de visibleRowCount. Então o tamanho dos itens será usado em vez disso, de modo que a lista pop-up não seja muito longa. Tal como acontece com ListView, é possível modificar o modelo de seleção que é usado, embora provavelmente isso seja raramente alterado. Isso ocorre porque o ComboBox impõe a necessidade de uma instância SingleSelectionModel, e não é provável que haja muita necessidade de implementações alternativas. No entanto, a opção é que deve ser encontrado o caso para mudar o modelo de seleção. Como o ComboBox processa internamente o conteúdo com um ListView, a API existe na classe ComboBox para permitir que uma fábrica de células personalizada seja configurada. Para obter mais informações sobre fábricas de células, consulte as classes Cell e ListCell. É importante notar que, se uma fábrica de células estiver configurada em uma ComboBox, as células serão usadas apenas no ListView que mostra quando o ComboBox é clicado. Se você também quiser personalizar a renderização da área do botão da ComboBox, você pode configurar uma instância ListCell personalizada na propriedade da célula do botão. Uma maneira de fazer isso é com o seguinte código (note o uso de setButtonCell. Como uma ComboBox pode ser editável e os meios padrão de permitir a entrada do usuário é através de um TextField. Uma propriedade de conversor de string é fornecida para permitir que os desenvolvedores especifiquem como Para traduzir uma string de usuários em um objeto do tipo T, de modo que a propriedade do valor possa conter. Por padrão, o conversor simplesmente retorna a entrada String como o usuário digitou, o que, portanto, pressupõe que o tipo da ComboBox editável é String. Se Um tipo diferente é especificado e a ComboBox deve ser editável, é necessário especificar um StringConverter personalizado. Um aviso sobre a inserção de nós na lista de itens ComboBox ComboBox permite que a lista de itens contenha elementos de qualquer tipo, incluindo instâncias de nó. Colocando Os nodos na lista de itens não são fortemente recomendados. Isso ocorre porque a fábrica de células padrão simplesmente insere itens de Nó diretamente na célula, inclusive na área do botão ComboBox. Scenegraph só permite que os Nodes estejam em um lugar por vez, isto significa que, quando um item é selecionado, ele é removido da lista ComboBox e fica visível na área do botão. Quando a seleção muda, o item selecionado anteriormente retorna à lista e a nova seleção é removida. A abordagem recomendada, ao invés de inserir instâncias de Nó na lista de itens, é colocar as informações relevantes na ComboBox e, em seguida, fornecer uma fábrica de células personalizada. Por exemplo, em vez de usar o seguinte código: Você deve fazer o seguinte: Certamente, a abordagem acima é muito mais detalhada, mas oferece a funcionalidade necessária sem encontrar as restrições do scenegraph. Resumo da propriedade

No comments:

Post a Comment