SWING - Componentes mais importantes e suas propriedades

Nesse artigo vamos conhecer um pouco melhor alguns componentes do pacote Swing. Essa primeira parte apresentará os componentes referentes a Contêiners.

Principalmente para quem está começando no Java e quer conhecer melhor a interface gráfica, este artigo mostrará alguns de seus componentes e suas propriedades. No início, é muito comum o programador querer utilizar um componente que faz determinada função, mas esse não tem certeza se o tal componente existe ou como utilizá-lo.

Antes de conhecermos os componentes e suas propriedades, vamos entender um pouco a diferença entre os componentes do pacote Swing e os componentes do pacote AWT.

Componentes AWT

O pacote AWT (Abstract Windows Toolkit) possui os primeiros componentes gráficos que surgiram no java. Como janelas (Container, Frame, Panel...), alguns botões (Button, RadioButton, CheckBox...), Rótulos (Label), campos de texto (TextField), Listas (Choice, List,...) entre outros componentes. Esses componentes eram muito utilizados quando ainda não existia o pacote Swing. Eles possuem uma aparência mais "padrão", são mais quadrados e não possuem muitos efeitos gráficos.

Componentes Swing

O pacote Swing é uma evolução do pacote AWT. Além de seus próprios componentes, esse pacote possui quase todos os componentes que já existiam no pacote AWT, porém com uma interface gráfica mais evoluida e com maiores efeitos. Os componentes Swing começam com a letra "J", assim um botão que no AWT se denomina Button, no Swing é JButton. Como dito antes, o pacote Swing possui componentes próprios, esses componentes estão entre telas mais aperfeiçoadas (JTabbedPane, JToolBar, JInternalFrame, JColorChooser...), novos botões e campos para dispor as informações na aplicação (JFormattedTextField, JProgressBar, JSpeener, JPasswordField, JTextPane, JTextArea...) e menus (JMenuBar, JMenu...).

Nesse primeiro artigo vamos conhecer um pouco mais dos componentes relacionados a Contêiners.

JToolBar

A barra de ferramentas é utilizada para criar atalhos da aplicação. Assim como no Eclipse, por exemplo, temos os "play" verde para executar o aplicativo, podemos criar atalhos para nossos programas também.

Propriedades mais utilizadas da JToolBar:

JPanel

O painel é um componente utilizado para fazer subdivisões na tela, ou para separar de forma organizada componentes dispostos na tela.

Propriedades mais utilizadas do JPanel:

JTabbedPane

O JTabbedPane permite agrupar vários JPanels em um único componente formando uma aba para cada painel.

Propriedade mais utilizadas do JTabbedPane:

JSplitPane

O componente é semelhante a um JPanel possuindo dentro dele dois botões que fazem a divisão da tela.

Propriedades mais utilizadas do JSplitPane:

JScrollPane

O painel de rolagem sempre é utilizado com algum outro componente, normalmente um componente para adicionar textos como o JTextArea (veremos o JTextArea no próximo capítulo). Esse componente adiciona barra de rolagens ao componente que se localiza dentro dele.

Propriedades mais utilizada do JScrollPane:

A barra de rolagem aparece "automaticamente" de acordo com o componente que está dentro do painel de rolagem. Conforme vai aumentando o texto, por exemplo, maior fica a barra de rolagem.

Existem algumas propriedades que são comuns a vários componentes e também são bastante utilizadas. As propriedades comuns aos componentes acima estão descritas em seguida:

Botões e campos de controle de dados

Sabemos que para desenvolver uma tela amigável para o usuário, são necessários diversos recursos visuais, entre eles botões, caixas de texto, locais para apresentar a saída e imagens.

Quanto mais organizada e distribuída for a tela, mais legível e confortável para se trabalhar.

Nesse artigo serão apresentados alguns dos principais componentes que são utilizados em janelas e suas respectivas propriedades.

JLabel

O JLabel é utilizado para apresentar um texto "fixo" ao usuário. É muito comum utilizar o componente como rótulo para os demais componentes, ou seja, para identificar o que representa cada campo na tela. Pode ser utilizado também como saída de dados, onde o usuário irá visualizar o resultado final de alguma operação. O texto desse componente só pode ser alterado via código.

Propriedades mais utilizadas do JLabel:

JTextField e JPasswordField

O JTextField é um campo utilizado para a entrada de informações. Normalmente é uma caixa branca onde o usuário pode entrar com algum valor para que seja utilizado pelo algoritmo. O JPassowordField é idêntico ao JTextField com exceção de um fator, a aparência. O JPasswordField, como diz no nome, é um campo de senha. Assim, quando o usuário digita um texto esse texto fica codificado.

Propriedades mais utilizadas do JTextField/JPasswordField:

JFormattedTextField:

O JFormattedTextField é um campo bem semelhante ao JTextField, possuindo as mesmas propriedades e algumas a mais. Ele é utilizado quando o JTextField necessita de algum tipo de formatação, como a “Data”.

Além das propriedades mais utilizadas do JTextField, existe uma propriedade bastante utilizada pelo JFormattedTextField:

JTextArea

O JTextArea é um componente utilizado para a entrada/saída de textos ou frases maiores. Ele permite que seja adicionada mais de uma linha.

Propriedades mais utilizadas do JTextArea:

JList

A JList é uma lista utilizada normalmente para representar as saídas de um problema ou para listar informações. A JList trabalha com índices, cada linha representa um único índice.

Propriedades mais utilizadas da JList:

JComboBox

O JComboBox é utilizado como seletor de dados, onde são configurados determinados campos pelo programador e o usuário pode escolher um deles. Um exemplo prático seria um campo para escolher o estado, onde o usuário só poderia escolher um dos estados definidos. A caixão de seleção também trabalha com índices.

Propriedades mais utilizadas do JComboBox:

JSpinner

O JSpinner, semelhante ao JComboBox é utilizado para que o usuário possa selecionar uma informação dentre as pré definidas. O que muda, é que esse componente possui setas para cima e para baixo permitindo a visualização de seu conteúdo.

Propriedades mais importantes do JSpinner:

JButton

O JButton é o componente correspondente ao botão. É utilizado para que seja efetuada alguma tarefa ou função ao ser clicado.

Propriedades mais importantes do JButton:

JRadioButton e JCheckBox

O JRadioButton é um componente utilizado para que o usuário possa selecionar alguma informação definida pelo programador. Normalmente é utilizado em conjunto com outros JRadioButtons, para que o usuário tenha várias opção de seleção. Esse componente, geralmente é utilizado em casos onde o usuário deve selecionar apenas uma das opções disponíveis. O JCheckBox é semelhante ao JRadioButton, porém é utilizado quando o usuário pode, ou não, selecionar várias das opções disponíveis.

Propriedades mais importantes do JRadioButton/JCheckBox:

ButtonGroup

O ButtonGroup é um componente invisível para a tela. Ele normalmente é utilizado para gerenciar os grupos de JRadioButtons. Para que dois botões de seleção trabalhem em conjunto, ou seja, para que o usuário só possa selecionar um dos botões é necessário adicioná-lo ao ButtonGroup.

O grupo de botões tem apenas uma propriedade mais utilizada:

JSeparator

O JSeparator é um componente visual utilizado apenas para separar outros componentes, deixando a tela mais organizada. Normalmente é utilizado em menus.

Propriedades mais importantes do JSeparator:

Esses são os componentes mais importantes da parte de controle. Algumas das propriedades foram citadas em um componente e não foram citadas no outro, mas isso não significa que o componente não possui tais propriedades, apenas não é muito usado.

Existem outras propriedades que podem ser utilizadas para todos os componentes:

É muito importante saber que alguns dos componentes apresentados nesse artigo, como o JTextArea, necessitam ser adicionados em um JScrollPane (componente apresentado na parte 1 do artigo) para que possuam as barras de rolagem.

Espero que tenham gostado do artigo!

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados