Introdução ao JLabel Java Swing

JLabel é uma das muitas classes Java do pacote Java Swing. A classe JLabel do pacote swing é capaz de exibir um texto ou uma imagem ou ambos. Semelhante a outras classes no pacote Swing, o rótulo e o conteúdo do rótulo exibidos pelo JLabel são alinhados usando alinhamentos horizontais e verticais. O programador pode especificar onde o conteúdo da etiqueta será exibido na área de exibição da etiqueta, definindo os alinhamentos.

Por padrão, o texto ou, mais especificamente, o texto do rótulo é alinhado verticalmente e é exibido no centro da área de exibição, enquanto uma imagem ou imagem exibida é centralizada horizontalmente por padrão.

Também podemos especificar facilmente a posição e exibir o texto em relação à nossa imagem. O texto normalmente é exibido no final de nossa imagem, com o texto alinhado verticalmente, conforme discutido acima.

É o mais simples dos componentes da GUI do Swing. O componente JLabel do pacote Swing é quase o mesmo que um rótulo do pacote AWT, a diferença é que o JLabel não contém texto editável pelo usuário que é 'texto somente leitura. O JLabel simplesmente é usado para exibir uma mensagem de texto ou um ícone / imagem ou ambos na tela, mas não é capaz de reagir a eventos do usuário, por exemplo, foco do mouse ou foco da palavra-chave.

Podemos simplesmente usar o JLabel criando e usando uma instância para esta classe. A seguir, é apresentado um exemplo de captura de tela após a criação de um objeto para a classe JLabel e a impressão de nossa etiqueta, 'A Basic Label'.

Aqui, criamos um objeto da classe JLabel chamado 'label' com um texto de rótulo 'A Basic Label' fornecido com ele. Você pode simplesmente escrever como:

JLabel label1 = new JLabel("A basic label."); OR
JLabel label1;
label1 = new JLabel("A basic label.");

Será exibido como:

Objetivo do JLabel em Java

O JLabel não reage aos eventos de entrada executados pelo usuário, como o foco do mouse ou o teclado. É simplesmente um texto, imagem ou ícone não editável ou ambos. O JLabel é geralmente usado junto com os componentes que não têm capacidade própria de explicar ou demonstrar seu propósito. O objeto JLabel criado fornecerá ao usuário, as instruções de texto ou informações em nossa GUI.

Por exemplo, uma área de texto para inserir um Nome ou Senha, etc, exigirá um rótulo para informar o usuário sobre a caixa de texto.

Encontre este exemplo explicado abaixo com capturas de tela.

Sem o uso do JLabel, as caixas de texto aparecerão perdidas para um usuário, pois não dizem a si mesmas o que o usuário deve inserir no campo de texto. Veja o exemplo a seguir, adicionamos um campo de texto sem rótulos.

Observe que você pode simplesmente adicionar um campo de texto usando a seguinte linha de código simples.

JTextField textEmail = new JTextField(20); //creating object for text field
textEmail.setBounds(50, 50, 150, 20); //setting the bounds for the text box

Mas se esse campo de texto for usado em combinação com o JLabel, ele aparecerá como abaixo e fará mais sentido, não é?

Abaixo está outro exemplo em que usamos nosso campo de texto anterior, juntamente com o qual adicionamos uma string simples de uma linha 'Inserir endereço de email', sugerindo ao usuário que ele precisa adicionar seu endereço de email na área de texto fornecida.

Como mostrado acima, podemos simplesmente adicionar um campo de texto. Agora vamos adicionar um rótulo também, como mostrado abaixo:

textLabel = new JLabel("Enter e-mail address:");
JTextField textEmail = new JTextField(20);
textLabel.setBounds(20, 50, 150, 20);
textEmail.setBounds(180, 50, 150, 20);

Este foi um exemplo simples que criamos. Era um programa simples exibindo um campo de texto e um rótulo com ele. Também podemos adicionar um ícone, além de usar outro método comumente usado com o JLabel, conhecido como método setIconTextGap. Este método ajuda o programador a especificar quantos pixels nosso texto e nossa imagem devem ser exibidos separados.

Construtores de JLabel

A classe Java JLabel possui vários construtores que podem ser usados ​​para criar nosso rótulo com características diferentes.

  1. JLabel (): esse construtor cria um rótulo vazio sem texto. Esta instância da classe cria o rótulo sem imagem e uma sequência ou texto vazio para seu título. O texto pode ser definido posteriormente.
  2. JLabel (imagem de ícone): esse construtor cria um rótulo com apenas um ícone ou imagem especificada. O ícone ou o arquivo de imagem pode ser usado em seu próprio sistema de arquivos.
  3. JLabel (String Text): Esta instância cria um rótulo com um texto específico ao declarar nosso construtor. Além dos construtores básicos acima mencionados, também temos o seguinte que pode ser usado.
  4. JLabel (Imagem de ícone, int horizontalAlignment): Esta instância do construtor é usada para criar uma imagem ou ícone especificado junto com o alinhamento horizontal.
  5. JLabel (texto da string, int horizontalAlignment): Esta instância do construtor é usada para criar um texto especificado junto com o alinhamento horizontal.
  6. JLabel (texto da string, ícone Icon, int horizontalAlignment): Essa instância do construtor é usada para criar uma imagem ou ícone especificado, o texto e seu alinhamento como 'horizontal'.

Exemplos de JLabel

A seguir, é apresentado um exemplo para a criação de um programa simples de 'Formulário de inscrição' com dois rótulos adicionados para dois campos de texto que exibem sua natureza. Também adicionamos um botão com seu próprio rótulo exibindo o texto como 'Entrar'.

import javax.swing.*;
class Java_JLabel_SignIn
(
public static void main(String args())
(
//Adding our Frame
JFrame f= new JFrame("Label Demo");
//Creating objects for our Labels
JLabel label1, label2;
//Creating object for Sign In button
JButton Button1;
//Creating object for our text boxes
JTextField TextBox1, TextBox2;
//Creating our button
Button1=new JButton("Sign In");
//Creating our first Label
label1=new JLabel("User Name:");
//Creating our second label
label2=new JLabel("Password:");
//Creating our first text field
TextBox1 = new JTextField(20);
//Creating our second text field
TextBox2 = new JTextField(20);
//Setting bound for our Label1
label1.setBounds(50, 50, 100, 30);
//Setting bound for our Label2
label2.setBounds(50, 100, 100, 30);
//Setting bound for our TextBox1
TextBox1.setBounds(180, 50, 150, 20);
//Setting bound for our TextBox2
TextBox2.setBounds(180, 100, 150, 20);
//Setting bound for our Button1
Button1.setBounds(110, 150, 95, 30);
//Adding our Label1, Label2, TextBox1, TextBox2, Button1 to our frame
f.add(label1);
f.add(label2);
f.add(Button1);
f.add(TextBox1);
f.add(TextBox2);
f.setSize(300, 300);
f.setLayout(null);
f.setVisible(true);
)
)

Você pode ver o código abaixo, usei o Eclipse para escrever o código.

Quando as linhas de código acima são executadas, obtemos a seguinte janela como saída. Confira:

Métodos comuns usados ​​no JLabel

Já discutimos o JLabel e como criar um como um texto ou um ícone. A seguir, há outra lista de métodos geralmente usados ​​junto com o JLabel em nossos programas. Estes são os métodos comumente usados ​​da classe JLabel.

  1. getIcon (): este método é usado para exibir a imagem que nosso rótulo exibiu.
  2. setIcon (Ícone i): este método ajuda a definir nosso ícone para ser exibido em nossa imagem, i.
  3. getText (): este método retorna nosso texto que é exibido por nosso rótulo.
  4. setText (String s): esse método simplesmente define o texto que será exibido pelo nosso rótulo como nossa string, s.

Acima estão alguns métodos geralmente usados ​​junto com o JLabel, entre outros, como setDisplayedMnemonic, getDisplayedMnemonic, etc.

JLabel é um descendente do JComponent usado para criar um texto simples ou rótulos de ícone. Eles são usados ​​para fornecer instruções de texto e outras informações, se necessário, na interface gráfica para que nossos usuários facilitem sua experiência.

Usamos o componente JLabel do pacote Swing quando precisamos de um componente de interface gráfica que precise de uma mensagem ou imagem para ser exibida.

Artigos recomendados

Este é um guia para o JLabel em Java. aqui discutimos o objetivo, construtores, exemplos e métodos comuns usados ​​no JLabel. Você também pode consultar o seguinte artigo para saber mais -

  1. JOptionPane em Java
  2. JTextField em Java
  3. JDialog em Java
  4. JScrollPane em Java
  5. Eventos HTML
  6. Os 5 principais atributos de eventos HTML com exemplos