Boa tarde a todos.
Assim como no VB, basta que voce declare o método como público.
Voce pode declará-lo também como estático, isto permite que voce utilize o método sem precisar instanciar o Form onde se localiza o método.
Criei o seguinte método no Form principal:
public static void clearComponents(Component[] comp){
for (int i=0; i<comp.length; i++){
if (comp[i] instanceof JTextField){
JTextField text = (JTextField)comp[i];
text.setText("");
} else if (comp[i] instanceof JComboBox){
JComboBox combo = (JComboBox)comp[i];
combo.setSelectedItem("");
// ou
combo.setSelectedIndex(-1);
} else if(comp[i] instanceof JCheckBoxMenuItem){
JCheckBoxMenuItem check = (JCheckBoxMenuItem)comp[i];
check.setSelected(false);
} else if (comp[i] instanceof JRadioButtonMenuItem){
JRadioButtonMenuItem radio = (JRadioButtonMenuItem)comp[i];
radio.setSelected(false);
}
}
}
Agora lá no form filho ou outro form que não seja o principal invoce o método passando como parâmetro, os JTextFields, ComboBoxes e tudo mais dentro de um vetor de componentes, assim:
....
....
Component[] components = {mytextfield, mycombobox, mycheckbox, myradiobutton};
MyFormPrincipal.clearComponents(components);
....
....
Repare que eu criei um método generalizado para todos os forms, onde voce pode limpar o componente que quiser, graças a boa prática de orientação a objetos, dentro do seu polimorfismo.>