Bom dia pessoal, fui usar o swing aqui e me surgiu uma dúvida.
Por exemplo:
Tenho um JFRAME jF1 e tenho uma classe MAIN que contém o metodo psvm();
Como faço para acessar um metodo presente no JFRAME atraves da classe MAIN?
Digamos que dentro do JFRAME tenho o metodo cadastrar(); como faço para acessa-lo atraves
da classe MAIN?
Obrigado.
posta o código do seu JFrame
Supondo que seu metodo é publico, voce cria uma instancia do seu jFrame e depois acessa o metodo normalmente, com nomeDaInstancia.nomeDoMetodo. Caso o jFrame seja estatico, natualmente voce pode acessar somente chamando a classe e o nome do metodo.
Por exemplo:
Código JFrame:
[code]public class NewJFrame extends javax.swing.JFrame {
/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
}
public void ola() {
JOptionPane.showMessageDialog(null, "Olá!");
}
…
}[/code]
Classe Main:
[code]public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame jf = new JFrame();
}
}[/code]
Como que acesso o metodo ola();?
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.ola();//acessa o método assim
}
ou pode chamar o metodo diretamente dentro da classe, exemplo:
public NewJFrame() {
initComponents();
this.ola();
}
Janelas são classes como outras quaisquer.
Note que a sintaxe que o manolimars explicou é exatamente igual a que seria se você estivesse usando duas classes suas.
[code]public Classe1 {
public void ola() {
System.out.println(“Olá”);
}
}
public Classe2 {
public static void main(String args[]) {
Classe1 classe1 = new Classe1();
classe1.ola();
}
}[/code]
Pessoal desculpe minha ignorancia…
mais isso aqui não ta funcionando:
JFrame jf = new JFrame();
jf.ola();//acessa o método assim
Funcionou, apenas troquei o nome do form funcionou;;
Obrigado…