AkimSalvador:
Dá pra fazer mesmo sem get(), mas não recomendo…
Você colocou um código bem básico, o meu também é, acho que você vai entender:
public class Y {
public static String m;
public void met2(){
m="oi";
}
}
class X{
static String v;
public static void met1(){
v=forum.m;
System.out.println(v);
}
}
- Os nomes dos métodos não podem começar com números;
- O valor pode ser passado diretamente através de referência;
- Métodos estáticos podem ajudar.
Ajudei?
Cara funcionou perfeitamente mas pro meu caso não ajudou olha só:
Tenho um JTable com as seguintes colunas e as variaveis que deverão pegar os valores da outra classe, e declarei como public static como você falou.
//Class X
public static String x, y, z;
String[] columnNames = {"Descrição",
"Código",
"Saldo"
};
Object[][] data = {
{x , y, z},
};
Tenho o seguinte método para dar o select, se eu pedir pra imprimir na tela “perfeito” só que quero ir armazenando em colunas no JTable (Desc, Cód, Saldo).
Obs: as variáveis “desc, cod e saldo” estão como static.
//Class Y
public void selecionar() {
try {
Statement stm = connection.createStatement();
ResultSet result = stm.executeQuery(
"SELECT desc_prod, cod_prod, saldo FROM PRODUTO;");
while (result.next()) {
desc = result.getString(1);
cod = result.getString(2);
saldo = result.getString(3);
Interface.x = desc;
Interface.y = cod;
Interface.z = saldo;
}
stm.close();
connection.close();
}
catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Não foi possível efetuar a operação!");
}
}
Enfim o método que está difícil de encaixar:
// Class X
public class MyAction implements ActionListener {
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == saldos) {
frame2.setVisible(true);
mySql c = new mySql();
c.selecionar();
System.out.println(x+y+z);
JTable table = new JTable(data, columnNames);
frame2.getContentPane().add(table);
}
}
Certo, agora os problemas que estão dando:
O JTable parece não atualizar os dados, sempre vem como null (conforme o código ele deve armazenar somente os ultimos valores das viáveis x,y,z mas nem isso acontece vem como null(mas peço pra imprimir as variáveis x,y,z vem com os valores atualizados);
O meu JInternalFrame quando eu fecho não abre mas ao clicar no botão, sei que é porque adicionei ele no construtor e o construtor só é chamado 1 vez ao instanciar a classe, mas se peço para ele adicionar ao frame pelo método não da erro mas fica tudo tosko eu consigo clicar nos botões através do JInternalFrame, até penso que é por causo do windows98 que estou usando e instalo versões recentes, vou testar em casa para ver depois…
Mas a principal dúvida é essa dos valores, ah! e como eu posso fazer um looping também de ir pegando e jogando no Table e ir acumulando até acabar o select?
Aguardo abçs.