entanglement
Você sabe o que é “getContentPane” ou está usando a “programação mágica” (aprender alguns comandos mas não saber o que significam)?
Soruji
Alguém tem alguma sugestão? Devo usar o setVisible()?
entanglement
Rode o exemplo abaixo.
package guj;
import java.awt.BorderLayout;
public class TesteJTextFieldEscondido extends JFrame {
private JPanel contentPane;
private JPanel pnlBotoes;
private JButton btnMostrar;
private JButton btnEsconder;
private JPanel pnlTextFields;
private JTextField txtCampo1;
private JTextField txtCampo2;
private JTextField txtCampo3;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TesteJTextFieldEscondido frame = new TesteJTextFieldEscondido();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public TesteJTextFieldEscondido() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
contentPane.add(getPnlBotoes(), BorderLayout.SOUTH);
contentPane.add(getPnlTextFields(), BorderLayout.CENTER);
}
private JPanel getPnlBotoes() {
if (pnlBotoes == null) {
pnlBotoes = new JPanel();
pnlBotoes.add(getBtnMostrar());
pnlBotoes.add(getBtnEsconder());
}
return pnlBotoes;
}
private JButton getBtnMostrar() {
if (btnMostrar == null) {
btnMostrar = new JButton("Mostrar");
btnMostrar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txtCampo3.setVisible(true);
pnlTextFields.validate();
}
});
}
return btnMostrar;
}
private JButton getBtnEsconder() {
if (btnEsconder == null) {
btnEsconder = new JButton("Esconder");
btnEsconder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txtCampo3.setVisible(false);
pnlTextFields.validate();
}
});
}
return btnEsconder;
}
private JPanel getPnlTextFields() {
if (pnlTextFields == null) {
pnlTextFields = new JPanel();
pnlTextFields.setLayout(new BoxLayout(pnlTextFields, BoxLayout.Y_AXIS));
pnlTextFields.add(getTxtCampo1());
pnlTextFields.add(getTxtCampo2());
pnlTextFields.add(getTxtCampo3());
}
return pnlTextFields;
}
private JTextField getTxtCampo1() {
if (txtCampo1 == null) {
txtCampo1 = new JTextField();
txtCampo1.setColumns(10);
}
return txtCampo1;
}
private JTextField getTxtCampo2() {
if (txtCampo2 == null) {
txtCampo2 = new JTextField();
txtCampo2.setColumns(10);
}
return txtCampo2;
}
private JTextField getTxtCampo3() {
if (txtCampo3 == null) {
txtCampo3 = new JTextField();
txtCampo3.setColumns(10);
}
return txtCampo3;
}
}