Introdução ao JTabbedPane em Java

A classe JTabbedPane é uma das muitas classes (como JButton, JTextArea, JMenu, JTextField, etc) que o pacote java 'javax.swing' fornece APIs de java swing.

O pacote Java Swing faz parte das classes de fundação do Java, JFCs. Essas classes de base são usadas para criar interfaces gráficas de usuário, aplicativos baseados em janelas, usando componentes da GUI disponíveis, o que facilita ao programador o desenvolvimento de aplicativos de desktop. Eles são escritos completamente em java top do AWT, Abstract Windows Toolkit.

Mas, ao contrário do AWT, os pacotes Java Swing fornecem componentes independentes de plataforma. Esses componentes também são comparativamente leves.

No final deste artigo, você poderá adicionar Swing JComponents como JTabbedPane a um contêiner AWT. Você também poderá definir a posição do seu painel e moldura. Você também aprenderá como criar um painel de guias com capacidade de rolagem.

O que é o JTabbedPane?

JTabbedPane é uma das classes fornecidas pelo pacote swing em java. É muito útil, pois fornece flexibilidade ao usuário para alternar entre diferentes grupos de componentes que ele deseja ver, simplesmente clicando em uma das guias. As guias podem receber títulos ou ícones diferentes.

Aqui está um exemplo cotidiano de uma janela desse tipo, que possui várias guias que podem ser acessadas clicando nas guias.

Uma simples janela de 'propriedades' de um disco local (aqui, janela Disco Local F: Propriedades no meu sistema) no sistema do seu computador possui várias guias, denominadas Geral, Ferramentas, Hardware, etc, que você pode acessar, clicando em uma deles, é um exemplo perfeito dos painéis com guias.

Em outras palavras, o JTabbedPane ajuda você a ter vários componentes no mesmo local. O usuário escolhe facilmente qual componente ele deseja ver escolhendo ou clicando na guia desejada.

Posicionamento e indexação da guia JTabbedPane

As guias são representadas por um índice, que é decidido de acordo com o local ou a posição em que a guia foi adicionada.

Para entender isso, vamos supor que você adicionou sua primeira guia. Em seguida, o índice será igual a '0' e sua próxima guia terá um índice igual a '1' e, seguindo a moda, o índice da última guia adicionada será igual a 'contagem de guias menos 1'.

As classes do Painel com guias usam um único modelo de seleção que representa 'um conjunto de índices de guias', bem como o 'índice atualmente selecionado', ou seja, o índice da guia selecionada.

Por padrão, as guias são colocadas no local TOP, como você pode ver no painel com guias de propriedades da janela acima. Você pode alterar o posicionamento dessa guia para qualquer uma das direções, como ESQUERDA, DIREITA ou INFERIOR, usando um método chamado, método setTabPlacement.

Construtores JTabbedPane em Java

Ao usar o JTabbedPane, também usaremos seus construtores, que são diferenciados com base nos privilégios que eles fornecem.

Os construtores comumente usados ​​ao usar o JTabbedPane estão listados da seguinte maneira:

1. JTabbedPane ()

O construtor JTabbedPane () cria um TabbedPane vazio. Quando usamos o construtor JTabbedPane (), ele cria o painel sem nenhuma especificação para seu posicionamento. Portanto, a guia é colocada no local padrão TOP, conforme discutido acima, usando JTabbedPane.TOP.

2. JTabbedPane (int tabPlacement)

Este construtor cria um TabbedPane vazio. Ele fornece o privilégio de decidir a direção ou o local do painel. O posicionamento é feito quando a direção é especificada usando JTabbedPane.TOP, JTabbedPane.BOTTOM, JTabbedPane.LEFT ou JTabbedPane.RIGHT.

3. JTabbedPane (int tabPlacement, int tabLayoutPolicy)

Um painel com guias vazio é criado quando esse construtor é usado. Isso fornece o privilégio de decidir o posicionamento para o painel de guias o mesmo que o construtor JTabbedPane (int tabPlacement).

Também permite que o programador decida a política de layout da guia. Isso permite que o programador controle como as guias serão exibidas. A política de layout da guia está definida como JTabbedPane.SCROLL_TAB_LAYOUT ou JTabbedPane.WRAP_TAB_LAYOUT. Por padrão, a política é definida comoWRAP_TAB_LAYOUT.

Com a política definida como SCROLL_TAB_LAYOUT, as guias se tornam roláveis ​​e um botão para rolar as guias, esquerda, direita ou cima para baixo, é exibido no painel com guias.

Exemplo JTabbedPane

Aqui, discutimos o Exemplo de JTabbedPane em Java em detalhes:

Finalmente, algum exercício, devemos começar?

Esta é a parte em que tentaremos adicionar o painel com guias em nosso JFrame. Usaremos o pacote javax.swing.JTabbedPane nos fornecerá o recurso para adicionar guias ao nosso quadro.

A seguir, é apresentado um exemplo de código, usando o JTabbedPane para criar guias em nosso quadro.

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
public class JTP_Layout
(
JFrame frame;
JTP_Layout()
(
//Creating our JFrame
frame= newJFrame("Tabbed Pane Sample");
//Terminating process after exiting
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Adding TabbedPane Object
JTabbedPanetabbedPane = new JTabbedPane();
//Adding TabbedPane LayoutPolicy
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
//TabPlacement
//tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);
//Setting our componentobject
//JRadioButton r1=new JRadioButton("A) Tab Component A");
//r1.setBounds(30, 30, 100, 90);
//Adding our First Panel Object
JPanel p1=new JPanel();
//Adding our component to the Panel
//p1.add(r1);
JPanel p2=new JPanel();
JPanel p3=new JPanel();
//Setting boundary values for the tabs
tabbedPane.setBounds(50, 50, 200, 200);
//Naming 'One' asour First Pane
tabbedPane.add("One", p1);
tabbedPane.add("Two", p2);
tabbedPane.add("Three", p3);
//Setting Frame'sposition to the center
frame.add(tabbedPane, BorderLayout.CENTER);
//Setting FRame'sSize
frame.setSize(400, 150);
//Setting visibility asTrue
frame.setVisible(true);
)
public static void main(String args())
(
new JTP_Layout();
)
)


Quando o programa acima é executado, obtemos a seguinte janela como saída.

No exemplo acima, adicionamos guias ao nosso JFrame e atribuímos nomes diferentes às nossas guias como 'Um', 'Dois' etc. etc. Também podemos adicionar componentes diferentes em nossas guias diferentes usando uma linha de código simples, como abaixo.

Criamos um objeto para o botão de opção r1 e, em seguida, esse objeto foi usado para adicionar botões de opção ao painel Um, ou seja, p1.

E o componente 'Radio Button' aparecerá sob o nosso primeiro painel, onde o adicionamos.

Usando construtores JTabbedPane

Já usamos Construtores como JTabbedPane (int tabPlacement) ou JTabbedPane (int tabPlacement, int tabLayoutPolicy) em nosso programa, mas ainda não vimos que isso é um efeito.

Entenda isso, criamos a classe Java para nós mesmos e, em seguida, chamamos nosso construtor, JTP_Layout (consulte o código). Em seguida, definimos argumentos como setTabLayoutPolicy como SCROLL_TAB_LAYOUT usando o objeto da nossa classe.

Como mencionado acima, quando a política de tablayout é definida como SCROLL, ela permite que o usuário role as guias em uma direção usando um botão.

Para ilustração, aumentei o número de guias em nosso programa e defina a política como SCROLL, veja o efeito:

Você pode ver um botão de rolagem no canto direito, o que permite que o usuário vá para a esquerda-direita usando esse botão.

O outro argumento adicionado ao nosso construtor é setTabPlacement, conforme discutido acima, e definido como TOP por padrão. Mas nosso construtor nos ajuda a decidir isso definindo o posicionamento da guia como INFERIOR ou ESQUERDA ou DIREITA.

Já tínhamos esse código offline em nosso programa, mas comentamos (veja o código), quando o comentário é removido, veja o efeito.

Observe que, quando usamos tabbedPane.setTabPlacement (JTabbedPane.BOTTOM), nossas guias são realocadas na parte inferior do quadro.

Aqui, é importante notar que não há necessidade de qualquer 'Tratamento de Erros'; nosso objeto JTabbedPane lida com os movimentos ou eventos do mouse e do teclado. Ainda assim, se você quiser funcionalidade semelhante sem a interface da guia, poderá usar um layout de cartão em vez de um painel com guias.

No final, se dito em palavras simples, para criar nosso painel com guias, instale o JTabbedPane, crie componentes a serem exibidos e adicione esses componentes à guia desejada.

É isso aí, foi fácil né?

Artigos recomendados

Este é um guia para o JTabbedPane em Java. Aqui discutimos a introdução dos construtores JTabbedPane e JTabbedPane, juntamente com seu exemplo. Você também pode consultar os seguintes artigos para saber mais:

  1. Construtor e Destrutor em Java
  2. JScrollPane em Java
  3. JComboBox em Java
  4. JDialog em Java
  5. Ferramentas de implantação Java
  6. JFrame em Java