Lar Finanças Pessoais 10 Diferenças entre JavaFX e Swing - dummies

10 Diferenças entre JavaFX e Swing - dummies

Índice:

Vídeo: AWT vs Swing vs JavaFX 2024

Vídeo: AWT vs Swing vs JavaFX 2024
Anonim

Se você é um programador Java experiente, você, sem dúvida, trabalhou com o Swing para criar interfaces de usuário. A Oracle não abandonou completamente o Swing - não está obsoleto e as aplicações Swing continuam a funcionar. Mas nenhum trabalho está sendo feito mais para melhorar Swing, e a Oracle deixou claro que o JavaFX é o futuro.

Aqui estão dez diferenças básicas entre JavaFX e Swing.

No JavaFX, todo o mundo é um palco

No Swing, a classe que contém os componentes da sua interface de usuário é chamada de frame e é definida pela classe JFrame. Um quadro é essencialmente uma janela vazia à qual você pode adicionar um painel , , que serve como um contêiner para seus elementos da interface do usuário. Um painel é definido pela classe JPanel.

Um aplicativo Swing é na verdade uma classe que estende a classe JFrame. Para exibir os componentes da interface do usuário, você adiciona componentes a um JPanel e depois adiciona o painel ao quadro.

JavaFX usa a metáfora de um teatro para modelar os recipientes de nível superior de uma aplicação. Um estágio (definido pela classe Stage) representa o recipiente de nível mais alto - normalmente, uma janela, mas em alguns sistemas operacionais, o estágio pode representar toda a superfície de exibição. Os controles individuais e outros componentes que compõem a interface do usuário estão contidos em uma cena (definida pela classe Scene). Um aplicativo pode ter mais de uma cena, mas apenas uma das cenas pode ser exibida no palco em qualquer momento.

Uma cena contém um gráfico de cena, , que é o conceito mais importante no JavaFX. O gráfico de cena é uma coleção de todos os elementos que compõem uma interface de usuário - grupos, layouts, controles e formas. Esses objetos são chamados nós e são todos derivados da classe Node. A classe Node possui muitos recursos e recursos úteis que são automaticamente disponibilizados para qualquer objeto que você possa adicionar à sua interface de usuário. Por exemplo, a classe Node define um método setRotate que permite rotear qualquer nó no gráfico da cena.

No JavaFX, os gerentes de layout são nós

No Swing, um layout está associado a um JPanel. O JPanel de nível superior fornece o layout básico para o quadro. Se você deseja aninhar layouts adicionais dentro do layout de nível superior, você deve criar JPanels adicionais, definir os layouts associados e, em seguida, adicioná-los ao layout de nível superior.

Em JavaFX, os layouts são subclasses da classe Node, assim como controles e formas. Layouts contêm uma coleção de nós, e qualquer nó contido em um layout pode ser qualquer tipo de nó: um controle, uma forma ou outro layout.Este esquema é muito menos complicado que a associação de layouts e painéis da Swing.

JavaFX melhorou o tratamento de eventos

Tanto o uso de eventos do JavaFX como o Swing para responder aos eventos de entrada do usuário. No entanto, você achará que os eventos no JavaFX são mais bem pensados ​​e mais consistentes do que seus equivalentes no Swing. Mas o maior motivo de tratamento de eventos é melhorado no JavaFX é por sua dependência de propriedades.

JavaFX suporta propriedades

O JavaFX suporta os conceitos de propriedades e usa propriedades extensivamente ao longo de suas classes. Simplificando, uma propriedade é uma variável cujo valor pode ser observado. Você pode registrar um ouvinte com qualquer propriedade, permitindo que você escreva o código que é acionado automaticamente sempre que a propriedade muda. Além disso, você pode vincular propriedades entre si, o que significa que se um valor de propriedade muda, o outro valor da propriedade muda automaticamente com ele.

Como quase todas as características dos elementos da interface do usuário são gerenciadas através de propriedades, o JavaFX fornece o gerenciamento de eventos que é inédito no Swing. Por exemplo, no JavaFX, você pode anexar um ouvinte de eventos à cor de uma forma. Se a forma muda de cor, seu código de ouvinte de evento é executado. Você pode não ter um uso para a capacidade, mas você pode usá-lo se precisar.

JavaFX é compatível com CSS

Uma das melhores características do JavaFX é que você pode controlar a formatação com folhas de estilo em cascata (CSS). Apenas sobre todos os aspectos da aparência de sua interface de usuário pode ser configurado por uma regra de estilo, e você pode facilmente permitir que o usuário selecione qual das várias folhas de estilo disponíveis para se aplicarem à cena. Assim, você pode alterar toda a aparência do seu aplicativo com uma única chamada de método.

JavaFX tem controles mais consistentes

Em geral, você verá que a hierarquia de controle JavaFX é mais completa que a de Swing. Ambos têm todos os controles básicos - botões, caixas de verificação, caixas combinadas e similares. Mas o JavaFX possui vários controles interessantes que o Swing não possui, como o controle TitledPane dobrável e o controle Accordion que organiza múltiplos controles TitledPane em uma pilha. E o fato de que todos esses controles são abrangentes pelo CSS dá-lhes uma grande vantagem em relação ao Swing.

JavaFX tem efeitos especiais

O javafx. cena. O pacote de efeitos contém uma série de classes que podem facilmente aplicar efeitos especiais a qualquer nó no gráfico de cena. Essas classes permitem que você aplique facilmente sombras, reflexões, borrões e outros efeitos visuais interessantes que podem transformar a aparência de sua interface de usuário.

A animação é mais fácil no JavaFX

A animação é possível no Swing, mas o Swing não fornece suporte direto para isso. Para animar um componente Swing, você deve configurar seus próprios temporizadores e criar sua própria lógica para executar a animação.

Em contraste, o JavaFX possui suporte incorporado para animações sofisticadas que podem ser aplicadas a qualquer nó no gráfico de cena. Você pode usar uma das várias classes de transição incorporadas para executar animações comuns, como fades, rotações ou caminhos de movimento.Ou, você pode usar as classes KeyFrame e Timeline para configurar facilmente animações personalizadas.

JavaFX suporta dispositivos de toque modernos

O Swing não possui nenhum suporte para dispositivos de toque modernos. Em contraste, o JavaFX possui suporte incorporado para gestos de toque comuns, como rolagem, deslocamento, rotação e zoom. Manipular esses eventos no JavaFX é tão fácil como lidar com qualquer outro tipo de evento: Você simplesmente instala um ouvinte de eventos no evento de toque e depois escreve o código que responde apropriadamente.

JavaFX não tem equivalente a JOptionPane

Não seria justo preencher completamente esta lista de dez diferenças com pontos que claramente favorecem JavaFX. Aqui está um pequeno aborrecimento do JavaFX: Ele não possui equivalente incorporado à classe JOptionpane do Swing, que é muito útil para exibir mensagens de alerta curtas ou obter entrada simples do usuário. No JavaFX, você deve criar seu próprio equivalente a esta classe útil.

10 Diferenças entre JavaFX e Swing - dummies

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...