{Aulas POO} Entrada e Saída de dados em Java (Input/Output)

Olá Pessoal.

Clique aqui e baixe os slides referentes a aula sobre Entrada e Saída de dados padrão em Java.

Os arquivos de exemplo usados na aula estão em meu Github (clique aqui).

Anúncios

Interfaces gráficas com Java Swing

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.

Vaga de Estágio em Jampa

Olá. Vou divulgar apenas o que recebi de um processo seletivo para quem se interessar em estagiar na área de Desenvolvimento de software na linguagem Java.

A empresa Phoebus Tecnologia de João Pessoa/PB está com processo seletivo para o semestre 2016.2. Os interessados leiam o .PDF a seguir e vejam mais detalhes da vaga.

Clique aqui e leia o edital de processo seletivo.