Para criarmos uma melhor estrutura em uma aplicação com interface visual, podemos nos utilizar de 3 elementos da biblioteca Java Swing para criação de um containers. O container é o local onde podemos inserir campos de textos, menus, botões e assim criarmos uma aplicação com elementos visuais. Esses containers podem ser dos seguintes tipos:
– JFrame: janela principal do programa.
– JDialog: janela para diálogos.
– JApplet: janela para Applets.
No primeiro exemplo, veremos como criar uma janela com a classe JFrame, utilizando um layout do tipo FlowLayout e inserindo botões na mesma. Para isso, crie uma classe chamada Botao e digite o código a seguir, lembrando que deverão estar dentro do método Main:
JFrame frame = new JFrame("Bem-vindo");
// Definindo margem superior, esquerda, largura e altura e altura respectivamente
frame.setBounds(200, 100, 300, 300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Criando um layout do tipo FlowLayout
FlowLayout layout = new FlowLayout();
Container caixa = frame.getContentPane();
caixa.setLayout(layout);
for (int i = 1; i <= 10; i++) {
caixa.add(new JButton("Botão " + i));
}
O resultado deverá ser algo semelhante a esta imagem:

No próximo exemplo, vamos criar um container do tipo JFrame, escolhendo um layout do tipo GridLayout. Nele, vamos inserir 3 botões e 1 campo de texto, dividindo a janela em grade, no formato 2 x 2 (duas linhas e duas colunas). Para isso, crie uma outra classe chamada Grade, com o método Main e o seguinte código:
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setBounds(200, 100, 200, 300);
JPanel c = new JPanel();
c.setLayout(new GridLayout(2, 2));
c.add(new Button("um"));
c.add(new TextField(5));
c.add(new Button("dois"));
c.add(new Button("três"));
frame.setContentPane(c);
Retornando valores
Para termos uma aplicação que retorne valores de um formulário por ex., e que esses valores possam ser salvos em um arquivo .txt ou até mesmo enviado para o banco de dados, podemos criar botões e incluir ações a ele. Neste exemplo, criaremos uma classe chamada Arquivo, onde criaremos um arquivo salvaremos os valores de um formulário neste arquivo criado.
public class Arquivo {
Arquivo() {
}
public void escreve(String texto) throws IOException {
// Criando o arquivo.txt
File file1 = new File("arquivo.txt");
FileWriter writer = new FileWriter(file1);
PrintWriter arquivo = new PrintWriter(new FileWriter("arquivo.txt"));
arquivo.println(texto);
arquivo.close();
}
}
Agora, criaremos a classe Formulario, que conterá os campos a serem salvos no arquivo e as ações do botão cadastrar.
public class Formulario{
public Formulario() {
initComponents();
}
private void initComponents() {
JFrame frame = new JFrame("Envio de dados.");
JPanel panel = new JPanel();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea jTextArea1 = new JTextArea(5, 10);
JTextField jText1 = new JTextField(10);
JButton jButton1 = new JButton("Cadastrar");
JLabel jLabel1 = new JLabel("Nome: ");
JLabel jLabel2 = new JLabel("Comentário: ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.pack();
panel.add(jLabel1);
panel.add(jText1);
panel.add(jLabel2);
panel.add(jTextArea1);
panel.add(jButton1);
frame.setContentPane(panel);
frame.pack();
// Criando a ação do botão Cadastrar
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
jButton1ActionPerformed(evt);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// Inserindo os dados digitados no arquivo criado pela classe Arquivo
private void jButton1ActionPerformed(ActionEvent evt) throws IOException {
Arquivo arquivo1 = new Arquivo();
String texto = jTextArea1.getText() + ", " + jText1.getText();
arquivo1.escreve(texto);
}
});
}
// Dentro do método Main será criada uma instancia de Formulario para ser executada
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Formulario();
}
});
}
}
Compile a classe Formulário e veja o resultado. Ao clicar no botão cadastrar, deverá ser criado um arquivo chamado arquivo.txt em seu projeto. Abra este arquivo e veja se os dados foram salvos com sucesso.
Complementando o exemplo, podemos criar uma janela do tipo JDialog para dar uma mensagem de dados cadastrados com sucesso.
Em um próximo tutorial mostrarei como fazê-lo. Até mais.