Boa noite galera, esse é meu primeiro tópico e logo de cara eu queria perguntar uma coisa que parece bobagens mas pra mim é tudo:
Eu programava em VB6 (não riam
), e lá eu tinha um módulo que tinha uma (public function) que eu chamava com um botão de dentro de um form. Ex. (Public function conectar()) tinha todos as informações para conectar um banco de dados, e só, a questão é :
Preciso de uma Classe.java para cada função
? e como chamo essa Classe no meu jFrame
? Como usar o conteúdo de um JtextField de um Jframe dentro de outra Classe.java
?
Desde já agradeço quaisquer ajuda
Yo.
Não precisa de uma classe pra cada função.
Seria como dizer que tu precisa de um arquivo pra cada função, ou um projeto pra cada função no visualbasic. Ou seja, não precisa.
Tem que entender umas coisas antes. Saca só:
Digamos que eu tenho uma classe Main com 2 funções. Uma faz a soma de dois parâmetros e outra, a subtração.
package seuPack ;
public class Main {
// Aqui o metodo somar
public int somar(int valor1, int valor2) {
return valor1 + valor2;
}
// Aqui o metodo subtrair
public int subtrair(int valor1, int valor2) {
return valor1 - valor2;
}
// Aqui a minha main, que precisa existir. Disso deve saber
public static void main(String[] args) {
int soma = 0, subtracao = 0;
//
Main main = new Main(); // acabei de instanciar minha classe Main
soma = main.somar(1, 1); // usando a instancia eu acessei o metodo somar
subtracao = main.subtrair(1, 1); // coma a mesma instancia acessei o metodo subtrair
//
System.out.println("Soma: " + soma); // Exibe o valor da soma
System.out.println("Subtração: " + subtracao); // Exibe o valor da subtração
}
}
Com isso, você acaba de saber o seguinte:
Você pode INSTANCIAR sua classe e usar a instância para chamar os métodos de dentro dela. Da mesma maneira, você poderia acessar os métodos de um objeto de outra classe, usando essa mesma instância.
Recomendação:
http://www.fabiosalvador.com.br/arquivos/apostilajava.pdf
Eu sempre digo:
Essa apostila é antiga. E provavelmente você vai ver que MUITA coisa mudou. Mas sempre é útil para iniciantes em Java. Vai aprender rapidinho.
E digo mais.
O Swing tá morrendo. Recomendo altamente (e futuramente outras pessoas vão recomendar) que você estude JavaFX.
Olá Naza_Alves! Não sou a melhor pessoa para te ajudar, também sou iniciante em Java e no fórum existe pessoas com uma larga experiência que melhor podem fazer. De toda forma, vou tentar.
1° Preciso de uma Classe.java para cada função
?
Não necessariamente!
2° e como chamo essa Classe no meu jFrame
?
É bem simples, você precisa importar (import) a classe e instancia-la, segue um exemplo de uma classe que eu uso para aplicar transparência em uma Tela de Login (Jframe):
package DAL;
import java.awt.Color;
import javax.swing.JFrame;
public class AplicaTransparencia {
public void aplicaTransparencia(JFrame frame){
frame.setUndecorated(true);
frame.setBackground(new Color(0,0,0,0));
}
}
Acima é a classe AplicaTransparencia, note que ela está na package (pacote) DAL. Vamos utiliza-lo para importar a classe AplicaTransparencia.
package VISUAL;
import DAL.AplicaTransparencia; // aqui eu importei a classe
public class frmLogin extends javax.swing.JFrame {
public frmLogin() throws ClassNotFoundException {
AplicaTransparencia ap = new AplicaTransparencia();
ap.aplicaTransparencia(this);
// As duas linhas de código acima são para Instânciar a classe AplicaTransparência e para
// dizer onde ela deve ser aplicada ".this" .... neste local.
initComponents();
this.setLocationRelativeTo(null); // Coloca a janela de formulario no centro da tela
}
Esse é o basicão… espero ter ajudado.
Aaaa esqueci de falar sobre a 3° questão rsrsrsrs
3° Como usar o conteúdo de um JtextField de um Jframe dentro de outra Classe.java
?
Nesse caso você precisa criar uma variável para “guardar” o conteúdo do JTextField, esse conteúdo você pode obter através do JTextField.getText();
Por exemplo:
String guardarConteudo = JTextField1.getText(); /* aqui você atribui a
variavel guardarConteudo o valor que existe no JTextField1, a partir disso
você pode utilizar a variavel guardarConteudo em outras classes, por
exemplo para "seta-lá" em outro JTextField .*/
JTextField2.setText(guardarConteudo);
O Caminho é esse. Como você já tem uma idéia de lógica, visto que já trabalhou com outras linguagens. Seria interessante ler alguma apostila sobre a linguagem java e também observar no site oficial da Oracle a documentação.