Os componentes para manipulação de texto são 3:
- JTextField – caixa de texto com uma linha
- JTextArea – caixa de texto com várias linhas
- JLabel – rótulo de texto
O exemplo abaixo demonstra algumas funcionalidades dos três componentes, entre elas podemos destacar:
a alteração do conteúdo da textArea, usando como origem o texto que esta no textField
textArea.append(text + ” “);
a atribuição de tratador de evento para uma caixa de texto
textField.addActionListener(this);
o uso de uma imagem em um label
pizza = new JLabel(“pedido de Pizza”, icone, JLabel.LEFT);
Veja o código completo do exemplo
Textos.java |
01 package br.com.thz;
02
03 import java.awt.Container;
04 import java.awt.FlowLayout;
05 import java.awt.event.ActionEvent;
06 import java.awt.event.ActionListener;
07 import java.awt.event.KeyEvent;
08
09 import javax.swing.ImageIcon;
10 import javax.swing.JButton;
11 import javax.swing.JFrame;
12 import javax.swing.JLabel;
13 import javax.swing.JTextArea;
14 import javax.swing.JTextField;
15
16 public class Textos extends JFrame implements ActionListener {
17
18 JButton b1;
19
20 JTextField textField;
21
22 JTextArea textArea;
23
24 JLabel pizza;
25
26 public Textos() {
27
28 b1 = new JButton("Adicionar");
29 b1.setMnemonic(KeyEvent.VK_A);
30 b1.setActionCommand("adicionar");
31 b1.addActionListener(this);
32 b1.setToolTipText("Click neste botão para " + "adicionar o pedido");
33
34 ImageIcon icone = new ImageIcon("image/pizza.gif");
35 pizza = new JLabel("pedido de Pizza", icone, JLabel.LEFT);
36
37 textField = new JTextField(15);
38 textField.addActionListener(this);
39
40 textArea = new JTextArea(10, 15);
41
42 setIconImage(icone.getImage());
43 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
44 setLocationRelativeTo(null);
45
46 Container c = getContentPane();
47
48 c.setLayout(new FlowLayout());
49 c.add(pizza);
50 c.add(textField);
51 c.add(b1);
52 c.add(textArea);
53 pack();
54
55 }
56
57 // recebe os eventos do botão e da caixa de texto
58 public void actionPerformed(ActionEvent e) {
59 String text = textField.getText();
60 textArea.append(text + " ");
61 textField.selectAll();
62 }
63
64 public static void main(String[] args) {
65 Textos janela = new Textos();
66 janela.show();
67 }
68 } |
Veja como fica o resultado :

O resultado visual da aplicação será melhor se tivessemos aplicado outro gerenciador de layout que não o FlowLayout que somente coloca um componente ao lado do outro, veremos em outra lição como melhorar esta disposição visual.