Bom dia
Meu programa é para fazer o seguinte:
Tem 5 campos para serem preenchidos do tipo JTextField, ai tem 3 botoes Limpar, Salvar, e Listar.
Limpar limpa todos os campos JTextField.
Salvar salva as informações que tem em todos os JTextField's, incluive os que estão vazios, em variaveis pré definidas no inicio do programa, private String "a"... até "e".
E Listar por fim lista todos as informações salvas nessas variáveis globais de "a" até "e".
Gostaria de saber se colocando o GarbageColector no ActionListener dos botoes, o GarbageColector funcionará eficaciamente?
package garbageColector;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Garb extends JFrame implements ActionListener {
private JTextField campo1;
private JTextField campo2;
private JTextField campo3;
private JTextField campo4;
private JTextField campo5;
private JButton listar;
private JButton salvar;
private JButton limpar;
private String a;
private String b;
private String c;
private String d;
private String e;
// metodo construtor do layout
public Garb() {
this.setTitle("Armazenamento de dados");
BorderLayout telaFundo = new BorderLayout();
Container container = new Container();
container = this.getContentPane();
container.setLayout(telaFundo);
container.add(montaTelaSup(), BorderLayout.NORTH);
container.add(montaTelaCentral(), BorderLayout.CENTER);
container.add(montaTelaInf(), BorderLayout.SOUTH);
this.setSize(800,600);
this.setVisible(true);
}
/**
* Metodo para montar o painel superior
* @return
*/
public JPanel montaTelaSup(){
JPanel painelSup = new JPanel();
//painelSup.setBackground(Color.gray);
FlowLayout sup = new FlowLayout();
painelSup.setLayout(sup);
//cria componentes do painel superior
JLabel quest = new JLabel("Informe um numero a ser salva na memoria:");
painelSup.add(quest);
return painelSup;
}
/**
* metodo para criar o painel central
* @return
*/
public JPanel montaTelaCentral(){
JPanel painelCentral = new JPanel();
GridBagLayout central = new GridBagLayout();
GridBagConstraints cont = new GridBagConstraints();
painelCentral.setLayout(central);
//cria os componentes do painel central
JLabel text1 = new JLabel("Numero 1:");
cont.gridx = 0;
cont.gridy = 0;
painelCentral.add(text1,cont);
campo1 = new JTextField(10);
cont.gridx = 1;
cont.gridy = 0;
painelCentral.add(campo1, cont);
JLabel text2 = new JLabel("Numero 2:");
cont.gridx = 0;
cont.gridy = 1;
painelCentral.add(text2, cont);
campo2 = new JTextField(10);
cont.gridx = 1;
cont.gridy = 1;
painelCentral.add(campo2, cont);
JLabel text3 = new JLabel("Numero 3:");
cont.gridx = 0;
cont.gridy = 2;
painelCentral.add(text3,cont);
campo3 = new JTextField(10);
cont.gridx = 1;
cont.gridy = 2;
painelCentral.add(campo3, cont);
JLabel text4 = new JLabel("Numero 4:");
cont.gridx = 0;
cont.gridy = 3;
painelCentral.add(text4,cont);
campo4 = new JTextField(10);
cont.gridx = 1;
cont.gridy = 3;
painelCentral.add(campo4, cont);
JLabel text5 = new JLabel("Numero 5:");
cont.gridx = 0;
cont.gridy = 4;
painelCentral.add(text5,cont);
campo5 = new JTextField(10);
cont.gridx = 1;
cont.gridy = 4;
painelCentral.add(campo5, cont);
return painelCentral;
}
/**
* metodo para criar o painel inferior
* @return
*/
public JPanel montaTelaInf(){
JPanel painelInferior = new JPanel();
GridBagLayout inferior = new GridBagLayout();
GridBagConstraints cont2 = new GridBagConstraints();
painelInferior.setLayout(inferior);
//cria os componentes do painel inferior
listar = new JButton("Listar");
cont2.gridx = 0;
cont2.gridy = 0;
listar.addActionListener(this);
painelInferior.add(listar, cont2);
salvar = new JButton("Salvar");
cont2.gridx = 1;
cont2.gridy = 0;
salvar.addActionListener(this);
painelInferior.add(salvar, cont2);
limpar = new JButton("Limpar campos");
cont2.gridx = 2;
cont2.gridy = 0;
limpar.addActionListener(this);
painelInferior.add(limpar, cont2);
return painelInferior;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==salvar){
save();
System.gc();
}
if (e.getSource()==listar){
list();
System.gc();
}
if (e.getSource()==limpar){
clean();
System.gc();
}
}
public void save(){
a = String.valueOf(campo1.getText());
b = String.valueOf(campo2.getText());
c = String.valueOf(campo3.getText());
d = String.valueOf(campo4.getText());
e = String.valueOf(campo5.getText());
}
public void list(){
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
}
public void clean(){
campo1.setText("");
campo2.setText("");
campo3.setText("");
campo4.setText("");
campo5.setText("");
}
}