Sou iniciante em JAVA, quero saber como chamar um método a partir de um outro formulário.
Criei um método para limpar os campos de texto, no proprio form funciona mas nao consigo chamá-lo
de outro form.
EX. Criei um From MDI outro Cadastro, quero chama-lo do botão (novo) na barra de ferramentas.
No form Cadastro criei os jTextField: tbRegistro, tbNome, tbEndereço etc.
Fiz assim: tbRegistro.setText(“null”);…
No VB 2008, apenas criaria uma sub publica, ou módulo e depois chamaria Cadastro.limpa_campos de qq lugar.
Alguem pode me ajudar?.
Não entendi direito o que você quer, mas vamos lá …
O seu form é uma classe, sendo assim, você pode criar um objeto dele e depois chamar o método que você quiser a partir desse objeto.
Se você colocar o modificador de acesso static no método ele vai passar a funcionar como a rotina que você descreveu no VB,
ou seja, não vai precisar criar um objeto da classe para chamar o método.
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.>
Não duplique tópicos. Ao invés disso, responda seus próprios tópicos, para que o assunto evolua num mesmo lugar.
Sua última resposta está em:
http://www.guj.com.br/posts/list/198756.java
Esse tópico será trancado.